INHOUDSOPGAWE:
- Stap 1: materiaal
- Stap 2: Begrip van die ontwerp
- Stap 3: Kodering van VHDL
- Stap 4: Kodering van Arduino
- Stap 5: Bedrading van die hardeware
Video: Brandstofdoeltreffendheidsdetektor: 5 stappe
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:27
Deur: Danica Fujiwara en William McGrouther
Motors is vandag die belangrikste vervoermiddel ter wêreld. In Kalifornië word ons spesifiek omring deur strate, snelweë en tolpaaie waarop duisende motors daagliks ry. Motors gebruik egter gas en Kalifornië gebruik die meeste petrol as enige ander staat in die VSA, ongeveer 4 500 liter per dag. Vir ons finale CPE 133 -projek het ons besluit om 'n stelsel te skep waarin u die spoed van 'n motor kan volg en kan bepaal of dit die doeltreffendste snelheid vir die beste gasverbruik of brandstofverbruik oorskry. Hierdie projek sal bestuurders help om bewus te word van hul brandstofverbruik, wat hulle hopelik kan help om geld te bespaar, minder gas te gebruik en minder besoedeling in die lug te veroorsaak.
Stap 1: materiaal
Materiaal benodig vir hierdie projek:
- Basys 3 FPGA
- Arduino Uno
- Broodbord
- Adafruit BNO055 Absolute Oriëntasie Sensor
- Manlike tot manlike drade
Stap 2: Begrip van die ontwerp
Eindige staatsdiagram
Hierdie projek het twee verskillende toestande binne die eindtoestanddiagram hierbo. Die lig kan óf aan (verteenwoordig deur '1') óf uit (verteenwoordig deur '0'). Die toestand verander na gelang van die inset van die spoorsnelheid (ts) en die konstante optimale spoed.
Black Box diagram
Hierbo is ook 'n Black Box -diagram van die module vir brandstofdoeltreffendheid, wat die skema bevat van die snelheidsvergelyker en die sewe segment -vertoning wat verder bespreek word. Hierdie VHDL-kode ontvang 'n 8-bis insette van die metings van die versnellingsmeter wat aan die arduino gekoppel is.
Stap 3: Kodering van VHDL
Vir hierdie projek is daar drie VHDL -lêers wat ons ontwerp opstel, die Fuel_Efficency_FinalProject -module, die Speed_Comparator -module en die sseg_dec -module waar Speed_Comparator en die sseg_dec op die laer vlak is om die Fuel Efficiency -module uit te maak.
Die spoedvergelykermodule
Hierdie module neem 'n 8-bis-snelheid in myl per uur in en vergelyk dit met die optimale snelheid vir die minste gasverbruik. Die gemiddelde optimale spoed vir 'n motor se beste gasafstand is ongeveer 55 km / h. Dit kan egter van motor tot motor wissel, wat binne die module aangepas kan word. Die reël 45 van kode wat verander kan word vir persoonlike optimalisering, word hieronder getoon
if (dop> "00110111") dan
Waar '00110111' (55 in binêre) na enige 8-bis nommer verander kan word vir die ideale spoed van u persoonlike motor vir die minste brandstofverbruik.
As die spoed die optimale nommer oorskry, sal die liggie aanskakel om aan te dui dat die motor nie die maksimum brandstofdoeltreffendheid gebruik nie.
Die Seven Segment DisplayModule
Hierdie module neem 'n 8-bis-snelheid in myl per uur in en vertoon die spoed op die sewesegmentweergawe. Dit sal die gebruiker in staat stel om te weet hoe vinnig hy wil weet of hy of sy moet vertraag. Hierdie module is aan ons gegee in ons klas en is geskryf deur Bryan mealy wat die komponente bin2bcdconv bevat wat die binêre 8-bis-invoer omskakel in BCD-vorm wat makliker is om te dekodeer en clk_div sodat die skerm visueel 'n getal met 3 syfers kan vertoon deur die uitset van die anode teen 'n hoë klokfrekwensie te verander. Hierdie kode aanvaar 'n 8-bis getal, skakel die getal om in 'n leesbare skerm op die basys 3-bord.
Die module vir brandstofdoeltreffendheid
Dit is die hooflêer wat die modules hierbo as komponente gebruik. Die insette is die klok en die spoorsnelheid. Die horlosie is gebou op die basys 3 -bord en die opsporingsnelheid word gegee deur die uitset van die arduino wat gekoppel is aan die analoog sein pmod -poort (XADC). Elke bietjie van die 8-bis-opsporingsnelheid word na die hawens in die bedradingafdeling in stap 4 gekies. Ander Basys 3 -beperkings kan gevind word binne Basys_3_Master.xdc.
Stap 4: Kodering van Arduino
Hierdie projek gebruik een hoof -arduino -lêer wat die gebruik van verskeie biblioteke vereis, waarvan sommige reeds in u arduino -program is, en ander moet van hierdie instruksionele of die Adafruit -webwerf afgelaai word (skakel hieronder).
Biblioteke
skakel na Adafruit BNO055-bladsy:
Adafruit het 2 biblioteke ontwikkel vir die gebruik van die BNO055, en gee voorbeelde van hoe om dit te gebruik. In hierdie projek sal ons die.getVector -funksie gebruik om die data van die versnellingsmeter van die arduino af te laai.
Hierdie projek maak ook gebruik van sommige biblioteke wat reeds in die arduino -program geïnstalleer is, soos die wiskundebiblioteek.
Hooflêer
Hierdie lêer gebruik die versnellingsmeterdata van die.getVector -funksie en gebruik wiskundige vergelykings om dit in myl per uur in 'n snelheid te verander, wat dan in 8 stukkies data na die Basys 3 gestuur word (sien die afdeling "Bedrading van die hardeware" vir meer inligting inligting).
Stap 5: Bedrading van die hardeware
Arduino Bedrading
Die Arduino moet aan die broodbord gekoppel word, soos op die foto's hierbo.
Basys 3 Bedrading
Die uitsette van die arduino word deur die analoog sein pmod JXADC -poorte aan die insette van die Basys 3 gekarteer. Elke bietjie van die 8-bis spoorsnelheid kan gekoppel word aan een van die penne wat in die prent hierbo getoon word. Die minste betekenisvolle bit (digitale pen 7) word met ts (7) verbind en die belangrikste bit (digitale pen 0) word met ts (0) verbind.
Aanbeveel:
Spelontwerp in vyf stappe: 5 stappe
Spelontwerp in fliek in 5 stappe: Flick is 'n baie eenvoudige manier om 'n speletjie te maak, veral iets soos 'n legkaart, visuele roman of avontuurlike spel
Gesigsopsporing op Raspberry Pi 4B in 3 stappe: 3 stappe
Gesigsopsporing op Raspberry Pi 4B in 3 stappe: in hierdie instruksies gaan ons gesigsopsporing uitvoer op Raspberry Pi 4 met Shunya O/S met behulp van die Shunyaface-biblioteek. Shunyaface is 'n biblioteek vir gesigherkenning/opsporing. Die projek het ten doel om die vinnigste opsporing en herkenningssnelheid te bereik met
DIY Vanity Mirror in eenvoudige stappe (met LED -strookligte): 4 stappe
DIY Vanity Mirror in eenvoudige stappe (met behulp van LED Strip Lights): In hierdie pos het ek 'n DIY Vanity Mirror gemaak met behulp van die LED strips. Dit is regtig cool, en u moet dit ook probeer
Arduino Halloween Edition - Zombies pop -out skerm (stappe met foto's): 6 stappe
Arduino Halloween Edition - Zombies pop -out skerm (stappe met foto's): wil u u vriende skrik en 'n skreeu geraas maak tydens Halloween? Of wil u net 'n goeie grap maak? Hierdie pop-up skerm van Zombies kan dit doen! In hierdie instruksies sal ek u leer hoe u maklik Zombies kan spring deur Arduino te gebruik. Die HC-SR0
Speel Doom op u iPod in 5 maklike stappe !: 5 stappe
Speel Doom op u iPod in 5 maklike stappe !: 'n Stap-vir-stap gids oor hoe u Rockbox op u iPod kan dubbellaai om Doom en tientalle ander speletjies te speel. Dit is iets baie maklik om te doen, maar baie mense staan nog steeds verbaas as hulle sien hoe ek op my iPod doom speel en deurmekaar raak met die instruksies