Indholdsfortegnelse:
- Trin 1: Materialer
- Trin 2: Forstå designet
- Trin 3: Kodning af VHDL
- Trin 4: Kodning af Arduino
- Trin 5: Tilslutning af hardware
Video: Brændstofeffektivitetsdetektor: 5 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:29
Af: Danica Fujiwara og William McGrouther
Biler er den vigtigste transportform i verden i dag. Specifikt i Californien er vi omgivet af gader, motorveje og betalingsveje, som tusindvis af biler kører på dagligt. Men biler bruger gas, og Californien bruger mest benzin end nogen anden stat i USA, cirka 4, 500 gallon om dagen. Til vores CPE 133 Final -projekt besluttede vi at oprette et system, hvor det kunne spore en bils hastighed og fortælle, om den overstiger den mest effektive hastighed for den bedste gas -kilometertal eller brændstoføkonomi. Dette projekt ville hjælpe bilister med at blive opmærksom på deres brændstoføkonomi, hvilket forhåbentlig igen ville hjælpe dem med at spare penge, bruge mindre gas og skabe mindre forurening i luften.
Trin 1: Materialer
Nødvendige materialer til dette projekt:
- Basys 3 FPGA
- Arduino Uno
- Brødbræt
- Adafruit BNO055 Absolut orienteringssensor
- Mand til han ledning
Trin 2: Forstå designet
Endelig tilstandsdiagram
Dette projekt har to forskellige tilstande inden for diagrammet over endelige tilstand vist ovenfor. Lyset kan enten være tændt (repræsenteret ved ‘1’) eller slukket (repræsenteret med ‘0’). Tilstanden ændres afhængigt af input af sporingshastigheden (ts) og den konstante optimale hastighed.
Black Box Diagram
Også ovenfor er der et Black Box -diagram over brændstofeffektivitetsmodulet, der indeholder skematikken over hastighedskomparatoren og syv segmentdisplayet, der diskuteres yderligere nedenfor. Denne VHDL-kode modtager et 8-bit input fra målingerne af accelerometeret, der er forbundet til arduinoen.
Trin 3: Kodning af VHDL
Til dette projekt er der tre VHDL -filer, der konstruerer vores design, Fuel_Efficency_FinalProject -modulet, Speed_Comparator -modulet og sseg_dec -modulet, hvor Speed_Comparator og sseg_dec er på det lavere niveau for at udgøre modulet Fuel Efficiency.
Hastighedskomparator -modulet
Dette modul tager en 8-bit hastighed i miles i timen og sammenligner det med den optimale hastighed for den mindste mængde gasforbrug. Den gennemsnitlige optimale hastighed for en bils bedste gas -kilometer er omkring 55 km / t og derunder. Dette kan dog variere fra bil til bil, som kan tilpasses inden for modulet. Linjen 45 med kode, der kan ændres til personlig optimering, vises nedenfor
hvis (sporing> "00110111") derefter
Hvor "00110111" (55 i binær) kan ændres til et hvilket som helst 8-bit nummer for din personlige bils ideelle hastighed for mindst mulig brændstofforbrug.
Hvis hastigheden er over det optimale tal, tændes lyset for at meddele, at bilen ikke bruger maksimal brændstofeffektivitet.
Displaymodulet i syv segmenter
Dette modul tager en 8-bit hastighed i miles i timen og viser hastigheden på syv segment display. Dette ville give brugeren mulighed for at vide, hvor hurtigt de vil vide, om han eller hun skal sænke farten. Dette modul blev givet til os inden for vores klasse og blev skrevet af Bryan mealy, der indeholder komponenterne bin2bcdconv, der konverterer det binære 8-bit input til BCD-form, der er lettere at afkode og clk_div, så displayet visuelt kan vise et tal med 3 cifre ved at ændre anodeudgangen ved en høj urfrekvens. Denne kode accepterer et 8-bit tal konverterer tallet til et læseligt display på basys 3-kortet.
Brændstofeffektivitetsmodulet
Dette er hovedfilen, der bruger modulerne ovenfor som komponenter. Dens input er uret og sporingshastigheden. Uret er bygget inden for basys 3 -kortet, og sporingshastigheden er givet af arduinoens output, der er forbundet til The Analog signal pmod port (XADC). Hver bit af 8-bit sporingshastigheden er kortlagt til de porte, der er vist inden for ledningsafsnittet i trin4. Andre Basys 3 -begrænsninger findes i Basys_3_Master.xdc.
Trin 4: Kodning af Arduino
Dette projekt bruger en hoved arduino -fil, der kræver brug af flere biblioteker, hvoraf nogle allerede er i dit arduino -program, og andre skal downloades enten fra denne instruerbare eller Adafruit -webstedet (link nedenfor).
Biblioteker
link til Adafruit BNO055 side:
Adafruit har udviklet 2 biblioteker til brug af BNO055, og giver eksempler på, hvordan man bruger dem. I dette projekt vil vi bruge.getVector -funktionen til at få arduino'en til at sende accelerometerets data.
Dette projekt anvender også nogle biblioteker, der allerede er installeret i arduino -programmet, f.eks. Matematikbiblioteket.
Hovedfil
Denne fil bruger accelerometerdata fra.getVector -funktionen og bruger matematiske ligninger til at omdanne den til en hastighed i miles i timen, der derefter udsendes i 8 bits data til Basys 3 (se afsnittet "Kabelføring af hardware" for mere Information).
Trin 5: Tilslutning af hardware
Arduino ledninger
Arduino'en skal forbindes til brødbrættet, som de er på billederne ovenfor.
Basys 3 ledninger
Arduinoens udgange er knyttet til input fra Basys 3 via det analoge signal pmod JXADC -porte. Hver bit af 8-bit sporingshastigheden kan forbindes til en af stifterne vist på billedet ovenfor. Den mindst signifikante bit (digital pin 7) får forbindelse til ts (7) og den mest signifikante bit (digital pin 0) får forbindelse til ts (0).
Anbefalede:
Arduino bil omvendt parkering alarmsystem - Trin for trin: 4 trin
Arduino bil omvendt parkering alarmsystem. Trin for trin: I dette projekt vil jeg designe en simpel Arduino bil omvendt parkeringssensorkreds ved hjælp af Arduino UNO og HC-SR04 ultralydssensor. Dette Arduino -baserede bilomvendt alarmsystem kan bruges til en autonom navigation, robotafstand og andre rækkevidde
Trin for trin pc -bygning: 9 trin
Trin for trin PC Building: Supplies: Hardware: MotherboardCPU & CPU -køler PSU (strømforsyningsenhed) Opbevaring (HDD/SSD) RAMGPU (ikke påkrævet) CaseTools: Skruetrækker ESD -armbånd/mathermal pasta m/applikator
Tre højttalerkredsløb -- Trin-for-trin vejledning: 3 trin
Tre højttalerkredsløb || Trin-for-trin vejledning: Højttalerkredsløb styrker lydsignalerne, der modtages fra miljøet til MIC og sender det til højttaleren, hvorfra forstærket lyd produceres. Her vil jeg vise dig tre forskellige måder at lave dette højttalerkredsløb på:
Trin-for-trin uddannelse i robotik med et sæt: 6 trin
Trin-for-trin uddannelse i robotteknologi med et kit: Efter ganske få måneder med at bygge min egen robot (se alle disse), og efter at jeg to gange havde dele mislykkedes, besluttede jeg at tage et skridt tilbage og tænke min strategi og retning. De flere måneders erfaring var til tider meget givende, og
Akustisk levitation med Arduino Uno trin for trin (8 trin): 8 trin
Akustisk levitation med Arduino Uno Step-by Step (8-trin): ultralyds lydtransducere L298N Dc kvindelig adapter strømforsyning med en han-DC-pin Arduino UNOBreadboard Sådan fungerer det: Først uploader du kode til Arduino Uno (det er en mikrokontroller udstyret med digital og analoge porte til konvertering af kode (C ++)