Innehållsförteckning:
- Steg 1: Material
- Steg 2: Förstå designen
- Steg 3: Kodning av VHDL
- Steg 4: Kodning av Arduino
- Steg 5: Anslutning av hårdvaran
Video: Bränsleeffektivitetsdetektor: 5 steg
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:46
Av: Danica Fujiwara och William McGrouther
Bilar är det viktigaste transportsättet i världen idag. Specifikt, i Kalifornien, är vi omgivna av gator, motorvägar och vägtullar som tusentals bilar kör på dagligen. Bilar använder dock gas och Kalifornien använder mest bensin än någon annan stat i USA, cirka 4 500 gallon per dag. För vårt CPE 133 -slutprojekt beslutade vi att skapa ett system där det kan spåra bilens hastighet och berätta om det överstiger den mest effektiva hastigheten för bästa gassträcka eller bränsleekonomi. Detta projekt skulle hjälpa förare att bli medvetna om sin bränsleekonomi, vilket i sin tur förhoppningsvis skulle hjälpa dem att spara pengar, använda mindre gas och skapa mindre föroreningar i luften.
Steg 1: Material
Material som behövs för detta projekt:
- Basys 3 FPGA
- Arduino Uno
- Brödbräda
- Adafruit BNO055 sensor för absolut orientering
- Man till man tråd
Steg 2: Förstå designen
Slutligt tillståndsdiagram
Detta projekt har två olika tillstånd inom diagrammet över ändliga tillstånd som visas ovan. Ljuset kan antingen vara på (representerat med ‘1’) eller släckt (representerat med ‘0’). Tillståndet ändras beroende på inmatningen av spårningshastigheten (ts) och den konstanta optimala hastigheten.
Black Box Diagram
Också ovan finns ett Black Box -diagram över bränsleeffektivitetsmodulen som innehåller schemat över hastighetskomparatorn och sju segmentdisplayen som diskuteras vidare nedan. Denna VHDL-kod mottar en 8-bitars ingång från mätningarna av accelerometern som är ansluten till arduino.
Steg 3: Kodning av VHDL
För detta projekt finns det tre VHDL -filer som konstruerar vår design, Fuel_Efficency_FinalProject -modulen, Speed_Comparator -modulen och sseg_dec -modulen där Speed_Comparator och sseg_dec ligger på den lägre nivån för att utgöra bränsleeffektivitetsmodulen.
Hastighetsjämförarmodulen
Denna modul tar in en 8-bitars hastighet i miles per timme och jämför den med den optimala hastigheten för den lägsta gasförbrukningen. Den genomsnittliga optimala hastigheten för en bils bästa gassträcka är cirka 55 km / h och mindre. Detta kan dock variera från bil till bil som kan anpassas inom modulen. Raden 45 med kod som kan ändras för personlig optimering visas nedan
if (spårning> "00110111") då
Där "00110111" (55 i binär) kan ändras till valfritt 8-bitars nummer för din personliga bils idealhastighet för minst mängd bränsleförbrukning.
Om hastigheten överstiger det optimala numret tänds lampan och meddelar att bilen inte använder maximal bränsleeffektivitet.
Displaymodulen för sju segment
Denna modul tar in en 8-bitars hastighet i miles per timme och visar hastigheten på sjusegmentsdisplayen. Detta skulle göra det möjligt för användaren att veta hur snabbt de kommer att veta om han eller hon behöver sakta ner. Denna modul gavs till oss inom vår klass och skrevs av Bryan mealy som innehåller komponenterna bin2bcdconv som konverterar den binära 8-bitars ingången till BCD-form som är lättare att avkoda och clk_div så att displayen visuellt kan visa ett tal med 3 siffror genom att ändra anodutgången vid en hög klockfrekvens. Denna kod accepterar ett 8-bitars tal konverterar numret till en läsbar display på basys 3-kortet.
Bränsleeffektivitetsmodulen
Detta är huvudfilen som använder modulerna ovan som komponenter. Dess ingångar är klockan och spårningshastigheten. Klockan är byggd inom basys 3 -kortet och spårningshastigheten ges av arduino -utgången som är ansluten till The Analog signal pmod port (XADC). Varje bit av 8-bitars spårningshastigheten kartläggs till portarna som visas i ledningsdelen i steg 4. Andra Basys 3 -begränsningar finns inom Basys_3_Master.xdc.
Steg 4: Kodning av Arduino
Detta projekt använder en huvud arduino -fil som kräver användning av flera bibliotek, varav några redan finns i ditt arduino -program och andra måste laddas ner antingen från denna instruerbara eller Adafruit -webbplatsen (länk nedan).
Bibliotek
länk till Adafruit BNO055 sida:
Adafruit har utvecklat 2 bibliotek för användning av BNO055 och ger exempel på hur man använder dem. I detta projekt kommer vi att använda.getVector -funktionen för att få arduino att mata ut accelerometerns data.
Detta projekt använder också några bibliotek som redan är installerade i arduino -programmet, som mattebiblioteket.
Huvudfil
Denna fil använder accelerometerdata från.getVector -funktionen och använder matematiska ekvationer för att göra den till en hastighet i miles per timme, som sedan matas ut i 8 bitar data till Basys 3 (se avsnittet "Anslutning av hårdvaran" för mer information).
Steg 5: Anslutning av hårdvaran
Arduino ledningar
Arduino ska vara ansluten till brödbrädan som de är på bilderna ovan.
Basys 3 ledningar
Arduino -utgångarna mappas till Basys 3 -ingångarna via den analoga signalen pmod JXADC -portar. Varje bit av 8-bitars spårningshastigheten kan anslutas till en av stiften som visas på bilden ovan. Den minst signifikanta biten (digital pin 7) ansluts till ts (7) och den mest signifikanta biten (digital pin 0) ansluts till ts (0).
Rekommenderad:
Arduino Car Reverse Parking Alert System - Steg för steg: 4 steg
Arduino Car Reverse Parking Alert System | Steg för steg: I det här projektet kommer jag att utforma en enkel Arduino Car Reverse Parking Sensor Circuit med Arduino UNO och HC-SR04 Ultrasonic Sensor. Detta Arduino -baserade bilomvändningsvarningssystem kan användas för autonom navigering, robotavstånd och andra
Steg för steg PC -byggnad: 9 steg
Steg för steg PC -byggnad: Tillbehör: Hårdvara: ModerkortCPU & CPU -kylarePSU (strömförsörjningsenhet) Lagring (HDD/SSD) RAMGPU (krävs inte) CaseTools: Skruvmejsel ESD -armband/mathermisk pasta med applikator
Tre högtalarkretsar -- Steg-för-steg handledning: 3 steg
Tre högtalarkretsar || Steg-för-steg-handledning: Högtalarkretsen förstärker ljudsignalerna som tas emot från miljön till MIC och skickar den till högtalaren varifrån förstärkt ljud produceras. Här visar jag dig tre olika sätt att göra denna högtalarkrets med:
Steg-för-steg-utbildning i robotik med ett kit: 6 steg
Steg-för-steg-utbildning i robotik med ett kit: Efter ganska många månader av att bygga min egen robot (se alla dessa), och efter att två gånger ha misslyckats med delar, bestämde jag mig för att ta ett steg tillbaka och tänka om min strategi och riktning. De flera månaders erfarenhet var ibland mycket givande och
Akustisk levitation med Arduino Uno Steg-för-steg (8-steg): 8 steg
Akustisk levitation med Arduino Uno Steg-för-steg (8-steg): ultraljudsgivare L298N Dc kvinnlig adapter strömförsörjning med en manlig DC-pin Arduino UNOBreadboardHur det fungerar: Först laddar du upp kod till Arduino Uno (det är en mikrokontroller utrustad med digital och analoga portar för att konvertera kod (C ++)