Innholdsfortegnelse:
- Trinn 1: Materialer
- Trinn 2: Forstå designet
- Trinn 3: Koding av VHDL
- Trinn 4: Koding av Arduino
- Trinn 5: Koble til maskinvaren
Video: Drivstoffeffektivitetsdetektor: 5 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:24
Av: Danica Fujiwara og William McGrouther
Biler er den viktigste transportmåten i verden i dag. Spesielt i California er vi omgitt av gater, motorveier og bomveier som tusenvis av biler kjører daglig. Imidlertid bruker biler gass og California bruker mest bensin enn noen annen stat i USA, omtrent 4 500 liter per dag. For vårt CPE 133 -sluttprosjekt bestemte vi oss for å lage et system der det kunne spore hastigheten på en bil og fortelle om den overstiger den mest effektive hastigheten for den beste kjørelengde eller drivstofføkonomi. Dette prosjektet vil hjelpe sjåfører til å bli klar over drivstofføkonomien, noe som forhåpentligvis vil hjelpe dem å spare penger, bruke mindre gass og skape mindre forurensning i luften.
Trinn 1: Materialer
Materialer som trengs for dette prosjektet:
- Basys 3 FPGA
- Arduino Uno
- Brødbrett
- Adafruit BNO055 sensor for absolutt orientering
- Mann til mannstråd
Trinn 2: Forstå designet
Endelig tilstandsdiagram
Dette prosjektet har to forskjellige tilstander i diagrammet over endelige tilstander vist ovenfor. Lyset kan enten være på (representert med ‘1’) eller av (representert med ‘0’). Tilstanden endres avhengig av inngangen til sporingshastigheten (ts) og den konstante optimale hastigheten.
Black Box Diagram
Også ovenfor er det et Black Box -diagram over drivstoffeffektivitetsmodulen som inneholder skjemaet for hastighetskomparatoren og syv segmentdisplayet som diskuteres nærmere nedenfor. Denne VHDL-koden mottar en 8-bits inngang fra målingene til akselerometeret som er koblet til arduinoen.
Trinn 3: Koding av VHDL
For dette prosjektet er det tre VHDL -filer som konstruerer designet vårt, Fuel_Efficency_FinalProject -modulen, Speed_Comparator -modulen og sseg_dec -modulen hvor Speed_Comparator og sseg_dec er på lavere nivå for å utgjøre drivstoffeffektivitetsmodulen.
Hastighetskomparator -modulen
Denne modulen tar inn en 8-bits hastighet i miles per time og sammenligner den med den optimale hastigheten for minst mulig gassforbruk. Den gjennomsnittlige optimale hastigheten for en bils beste gass -kjørelengde er rundt 55 km / t og under. Dette kan imidlertid variere fra bil til bil som kan tilpasses i modulen. Linjen 45 med kode som kan endres for personlig optimalisering, vises nedenfor
if (sporing> "00110111") da
Hvor "00110111" (55 i binær) kan endres til et hvilket som helst 8-bits tall for din personlige bils ideelle hastighet for minst mulig drivstofforbruk.
Hvis hastigheten er over det optimale tallet, tennes lyset for å varsle om at bilen ikke bruker maksimal drivstoffeffektivitet.
Den sju segmenters displaymodul
Denne modulen tar inn en 8-biters hastighet i miles per time og viser hastigheten på displayet med syv segmenter. Dette vil tillate brukeren å vite hvor raskt de kommer til å vite om han eller hun trenger å bremse ned. Denne modulen ble gitt til oss i klassen vår og ble skrevet av Bryan mealy som inneholder komponentene bin2bcdconv som konverterer den binære 8-biters inngangen til BCD-form som er lettere å dekode og clk_div slik at displayet visuelt kan vise et tall med 3 sifre ved å endre anodeutgangen ved høy klokkefrekvens. Denne koden godtar et 8-biters tall, konverterer tallet til et lesbart display på basys 3-kortet.
Drivstoffeffektivitetsmodulen
Dette er hovedfilen som bruker modulene ovenfor som komponenter. Inngangene er klokken og sporingshastigheten. Klokken er bygget innenfor basys 3 -kortet og sporingshastigheten er gitt av arduinoens utgang som er koblet til The Analog signal pmod port (XADC). Hver bit av 8-biters sporingshastighet er kartlagt til portene vist i ledningsdelen i trinn 4. Andre Basys 3 -begrensninger finnes i Basys_3_Master.xdc.
Trinn 4: Koding av Arduino
Dette prosjektet bruker en hoved arduino -fil som krever bruk av flere biblioteker, hvorav noen allerede er i arduino -programmet, og andre må lastes ned enten fra denne instruerbare eller Adafruit -nettstedet (lenken nedenfor).
Biblioteker
lenke til Adafruit BNO055 side:
Adafruit har utviklet 2 biblioteker for bruk av BNO055, og gir eksempler på hvordan du bruker dem. I dette prosjektet skal vi bruke.getVector -funksjonen for å få arduinoen til å sende ut akselerometerets data.
Dette prosjektet bruker også noen biblioteker som allerede er installert i arduino -programmet, for eksempel mattebiblioteket.
Hovedfil
Denne filen bruker akselerometerdataene fra.getVector -funksjonen og bruker matematiske ligninger for å gjøre den til en hastighet i miles per time, som deretter sendes ut i 8 biter data til Basys 3 (se delen "Kabling av maskinvare" for mer informasjon).
Trinn 5: Koble til maskinvaren
Arduino ledninger
Arduinoen bør kobles til brødbrettet som de er på bildene ovenfor.
Basys 3 ledninger
Utgangene til arduinoen er kartlagt til inngangene til Basys 3 gjennom de analoge signal pmod JXADC -portene. Hver bit av 8-biters sporingshastighet kan kobles til en av pinnene vist på bildet ovenfor. Den minst signifikante biten (digital pin 7) blir koblet til ts (7) og den mest signifikante biten (digital pin 0) blir koblet til ts (0).
Anbefalt:
Arduino bilvarslingssystem for omvendt parkering - Trinn for trinn: 4 trinn
Arduino Car Reverse Parking Alert System | Trinn for trinn: I dette prosjektet skal jeg designe en enkel Arduino Car Reverse Parking Sensor Circuit ved hjelp av Arduino UNO og HC-SR04 Ultrasonic Sensor. Dette Arduino -baserte bilreverseringssystemet kan brukes til autonom navigasjon, robotavstand og andre områder
Trinn for trinn PC -bygging: 9 trinn
Steg for trinn PC -bygging: Rekvisita: Maskinvare: HovedkortCPU & CPU -kjøler PSU (strømforsyningsenhet) Lagring (HDD/SSD) RAMGPU (ikke nødvendig) CaseTools: Skrutrekker ESD -armbånd/mathermal pasta m/applikator
Tre høyttalerkretser -- Trinn-for-trinn opplæring: 3 trinn
Tre høyttalerkretser || Trinn-for-trinn opplæring: Høyttalerkretsen styrker lydsignalene som mottas fra miljøet til MIC og sender den til høyttaleren der forsterket lyd produseres. Her vil jeg vise deg tre forskjellige måter å lage denne høyttalerkretsen på:
RC -sporet robot ved hjelp av Arduino - Trinn for trinn: 3 trinn
RC -sporet robot ved bruk av Arduino - Steg for trinn: Hei folkens, jeg er tilbake med et annet kult Robot -chassis fra BangGood. Håper du har gått gjennom våre tidligere prosjekter - Spinel Crux V1 - Gesture Controlled Robot, Spinel Crux L2 - Arduino Pick and Place Robot with Robotic Arms og The Badland Braw
Hvordan lage et nettsted (en trinn-for-trinn-guide): 4 trinn
Hvordan lage et nettsted (en trinn-for-trinn-guide): I denne veiledningen vil jeg vise deg hvordan de fleste webutviklere bygger nettstedene sine og hvordan du kan unngå dyre nettstedbyggere som ofte er for begrenset til et større nettsted. hjelpe deg med å unngå noen feil som jeg gjorde da jeg begynte