Mündəricat:
- Addım 1: Materiallar
- Addım 2: Dizaynı anlayın
- Addım 3: VHDL kodlaşdırma
- Addım 4: Arduino kodlaşdırma
- Addım 5: Avadanlıqların Kabelləşdirilməsi
Video: Yanacaq səmərəliliyi detektoru: 5 addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:47
Müəllif: Danica Fujiwara və William McGrouther
Avtomobillər bu gün dünyanın əsas nəqliyyat növüdür. Xüsusilə, Kaliforniyada, hər gün minlərlə avtomobilin getdiyi küçələr, magistral yollar və pullu yollarla əhatə olunmuşuq. Bununla birlikdə, avtomobillər qazdan istifadə edir və Kaliforniya ABŞ -ın digər əyalətlərindən daha çox benzin istifadə edir, gündə təxminən 4,500 galon. CPE 133 Final layihəmiz üçün bir avtomobilin sürətini izləyə biləcək və ən yaxşı qaz yürüşü və ya yanacaq qənaəti üçün ən səmərəli sürəti keçib keçə biləcəyi bir sistem yaratmağa qərar verdik. Bu layihə, sürücülərin yanacaq qənaətlərindən xəbərdar olmalarına kömək edəcək və bu da pula qənaət etməyə, daha az qazdan istifadə etməyə və havada daha az çirklənmə yaratmağa kömək edəcək.
Addım 1: Materiallar
Bu layihə üçün lazım olan materiallar:
- Basys 3 FPGA
- Arduino Uno
- Çörək lövhəsi
- Adafruit BNO055 Mütləq Oriyentasiya Sensoru
- Kişi -Kişi Telləri
Addım 2: Dizaynı anlayın
Sonlu vəziyyət diaqramı
Bu layihənin yuxarıda göstərilən sonlu vəziyyət diaqramında iki fərqli vəziyyəti var. İşıq ya açıq ola bilər ('1' ilə təmsil olunur) və ya sönür ('0' ilə təmsil olunur). Vəziyyət, izləmə sürəti (ts) və sabit optimal sürətin girişindən asılı olaraq dəyişir.
Qara qutu diaqramı
Yuxarıda daha sonra müzakirə ediləcək Sürət Müqayisəsi və Yeddi Segment Ekranının sxemini özündə əks etdirən Yanacaq Səmərəliliyi modulunun Qara qutu diaqramı var. Bu VHDL kodu, arduino ilə əlaqəli olan akselerometr ölçmələrindən 8 bitlik giriş alır.
Addım 3: VHDL kodlaşdırma
Bu layihə üçün dizaynımızı quran üç VHDL faylı var, Fuel_Efficency_FinalProject modulu, Speed_Comparator modulu və Speed_Comparator və sseg_dec -in Yanacaq Səmərəliliyi modulunu yaratmaq üçün aşağı səviyyədə olduğu sseg_dec modulu.
Sürət müqayisə modulu
Bu modul, saatda mil başına 8 bit sürətlə hərəkət edir və ən az qaz istehlakı üçün optimal sürətlə müqayisə edir. Bir avtomobilin ən yaxşı qaz yürüşü üçün orta optimal sürət 55 mil və daha aşağıdır. Bununla birlikdə, bu, modulda özəlləşdirilə bilən avtomobildən avtomobilə dəyişə bilər. Şəxsi optimallaşdırma üçün dəyişdirilə bilən 45 kod xətti aşağıda göstərilmişdir
əgər (izləmə> "00110111") onda
"00110111" (ikili olaraq 55), şəxsi avtomobilinizin ən az yanacaq istehlakı üçün ideal sürəti üçün istənilən 8 bitlik bir rəqəmə dəyişdirilə bilər.
Sürət optimal saydan artıq olarsa, işıq yanacaq ki, bu da avtomobilin maksimum yanacaq qənaət etmədiyini bildirir.
Yeddi Segmentin Ekran Modulu
Bu modul saatda millə 8 bitlik sürəti alır və yeddi seqmentli ekranda sürəti göstərir. Bu, istifadəçiyə yavaşlamağa ehtiyacı olub olmadığını nə qədər tez biləcəyini bilməsinə imkan verəcəkdir. Bu modul sinifimiz daxilində bizə verildi və ikili 8-bitli girişi koddan çıxarmaq və clk_div-i BCD formasına çevirən bin2bcdconv komponentlərini ehtiva edən Bryan mealy tərəfindən yazılmışdır ki, ekranda vizual olaraq 3 rəqəmdən ibarət bir rəqəm göstərilsin. anod çıxışını yüksək saat tezliyində dəyişdirərək. Bu kod, 8 bitlik bir rəqəmi qəbul edir, nömrəni basys 3 lövhəsində oxunaqlı bir ekrana çevirir.
Yanacaq səmərəliliyi modulu
Yuxarıdakı modulları komponent olaraq istifadə edən əsas sənəd budur. Girişləri saat və izləmə sürətidir. Saat bazys 3 lövhəsi içərisində qurulmuşdur və izləmə sürəti, Analog siqnal pmod portuna (XADC) bağlı olan arduinonun çıxışı ilə verilir. 8 bitlik izləmə sürətinin hər bir biti, 4-cü addımdakı kabel bölməsində göstərilən limanların xəritəsidir. Digər Basys 3 məhdudiyyətləri Basys_3_Master.xdc daxilində tapıla bilər.
Addım 4: Arduino kodlaşdırma
Bu layihə bir neçə kitabxananın istifadəsini tələb edən bir əsas arduino faylını istifadə edir, onlardan bəziləri artıq arduino proqramınızda, digərləri isə bu təlimatlı və ya Adafruit veb saytından yüklənməlidir (aşağıdakı link).
Kitabxanalar
Adafruit BNO055 səhifəsinə keçid:
Adafruit, BNO055 istifadə etmək üçün 2 kitabxana hazırladı və onlardan necə istifadə ediləcəyinə dair nümunələr verdi. Bu layihədə arduino -nun akselerometr məlumatlarını çıxarması üçün.getVector funksiyasından istifadə edəcəyik.
Bu layihə, riyaziyyat kitabxanası kimi arduino proqramında artıq quraşdırılmış bəzi kitabxanalardan da istifadə edir.
Əsas Fayl
Bu fayl.getVector funksiyasından alınan accelerometer məlumatlarını istifadə edir və saatda mil sürətə çevirmək üçün riyazi tənliklərdən istifadə edir, daha sonra 8 bit məlumatda Basys 3 -ə verilir (daha çox məlumat üçün "Avadanlığın Kabellənməsi" bölməsinə baxın). məlumat).
Addım 5: Avadanlıqların Kabelləşdirilməsi
Arduino naqilləri
Arduino, yuxarıdakı şəkillərdəki kimi çörək taxtasına bağlanmalıdır.
Basys 3 naqilləri
Arduinonun çıxışı Analog siqnal pmod JXADC portları vasitəsilə Basys 3 -ün girişləri ilə müqayisə olunur. 8 bitlik izləmə sürətinin hər bir biti yuxarıdakı şəkildə göstərilən pinlərdən birinə qoşula bilər. Ən kiçik bit (rəqəmsal pin 7) ts (7) və ən əhəmiyyətli bit (rəqəmsal pin 0) ts (0) ilə əlaqələndirilir.
Tövsiyə:
Su səviyyəsi detektoru: 7 addım
Su Səviyyə Dedektoru: Ultrasonik sensor bir radar sistemi ilə eyni prinsiplər üzərində işləyir. Ultrasonik sensor elektrik enerjisini akustik dalğalara və əksinə çevirə bilər. Məşhur HC SR04 ultrasəs sensoru 40 kHz tezlikdə ultrasəs dalğaları yaradır
Duman Detektoru: 13 addım
Tüstü Dedektörü: Salam dostlar bu gün tüstü detektoru ilə tanış olaq Bir çoxunuz alış -veriş mərkəzlərində ticarət mərkəzlərinə getmisiniz, əsasən tüstü detektoru adlanan bu cihazı görürsünüz, tüstünü aşkar edəcək və çiləyicini işə salacaq və yanğını dayandıracaq. əvəzinə
Simsiz AC Cərəyan Detektoru: 7 Addım (Şəkillərlə birlikdə)
Simsiz AC Cərəyan Detektoru: Əvvəlki Təlimatlandırıcımı (asan infraqırmızı yaxınlıq sensoru) hazırlayarkən, çox zəif bir siqnalı gücləndirmək üçün ardıcıl olaraq 2 tranzistordan istifadə etməklə bağlı bir neçə şeyi anladım. Bu Təlimat kitabında & quo adlanan bu prinsipi daha ətraflı izah edəcəyəm
Yanacaq səviyyəsini Arduino ilə ölçün: 4 addım (şəkillərlə)
Yanacaq səviyyəsini Arduino ilə ölçün: Algılama qurğusu, ümumiyyətlə müasir bir avtomobildə tipik olaraq çap edilmiş mürəkkəb dizaynı olan potansiyometrə bağlı bir şamandıra istifadə edir. Tank boşaldıqda, şamandıra müqavimətini artıraraq hərəkət edən bir kontaktın üzərinə düşərək sürüşür. [2] Əlavə olaraq
Palçıqdan istifadə edərək mikrobial yanacaq hüceyrəsi (MFC) necə hazırlanır: 7 addım (şəkillərlə)
Palçıqdan istifadə edərək Mikrob Yanacaq Hüceyrəsi (MFC) Necə Hazırlanır: MudWatt mikrobial yanacaq hüceyrəsi (məhəbbətlə "Kir Battery" adlandırılır), palçıqdakı üzvi maddələri elektrik enerjisinə çevirmək üçün bakteriyalardan istifadə edən bir cihazdır. Bu Təlimat sizə öz mikrob yanacağınızı hazırlamağa kömək edəcək