Ultrasonic Range Finder -opplæring med Arduino og LCD: 5 trinn
Ultrasonic Range Finder -opplæring med Arduino og LCD: 5 trinn
Anonim
Ultralyd Range Finder Opplæring med Arduino og LCD
Ultralyd Range Finder Opplæring med Arduino og LCD

Mange mennesker har laget instrukser om hvordan du bruker Arduino Uno med en ultralydssensor og noen ganger også med en LCD -skjerm. Jeg har imidlertid alltid funnet ut at disse andre instruktørene ofte hopper over trinn som ikke er åpenbare for nybegynnere. Som et resultat har jeg forsøkt å lage en opplæring som inneholder alle mulige detaljer, slik at andre nybegynnere forhåpentligvis kan lære av det.

Jeg brukte først en Arduino UNO, men fant ut at den var litt stor til formålet. Jeg undersøkte deretter Arduino Nano. Dette lille brettet tilbyr nesten alt som UNO gjør, men med et mye mindre fotavtrykk. Med litt manøvrering fikk jeg den til å passe på samme brødbrett som LCD -skjermen, ultralydssensoren og de forskjellige ledningene, motstandene og potensiometeret.

Den resulterende konstruksjonen er helt funksjonell og er en god springbrett for å lage et mer permanent oppsett. Jeg bestemte meg for å gjøre min første Instructable til å dokumentere denne prosessen og forhåpentligvis hjelpe andre som ønsker å gjøre det samme. Hvor det er mulig har jeg angitt hvor jeg har fått informasjonen min fra, og jeg har også prøvd å legge så mye støttende dokumentasjon inn i skissen som mulig for å la alle som leser den forstå hva som skjer.

Trinn 1: Deler du trenger

Deler du trenger
Deler du trenger
Deler du trenger
Deler du trenger
Deler du trenger
Deler du trenger

Det er bare en håndfull deler du trenger, og heldigvis er de veldig rimelige.

1 - Brødbrett i full størrelse (830 pinner)

1 - Arduino Nano (med pinnehoder installert på begge sider)

1 - HC -SRO4 ultralydssensor

1 - 16x2 LCD -skjerm (med en enkelt overskrift installert). MERK: du trenger ikke den dyrere I2C -versjonen av denne modulen. Vi kan jobbe direkte med 16 -pinners "grunnleggende" enhet

1 - 10 K potensiometer

1 - Ballastmotstand for bruk med LED -bakgrunnsbelysningen for 16x2 (normalt 100 Ohm- 220 Ohm, jeg fant en 48 Ohm motstand som fungerte best for meg)

1 -1 Ohm belastningsbegrensende motstand -for bruk med HC -SR04

Brødbrettsledninger i forskjellige lengder og farger.

VALGFRITT - Strømforsyning til brødbrett - En strømmodul som kobles direkte til brødbrettet, slik at du kan være mer bærbar i stedet for å være koblet til en PC, eller drive systemet via Arduino Nano.

1 - PC/ bærbar PC for å programmere Arduino Nano - Merk Du kan også trenge CH340 -drivere for å la Windows -PC -en koble seg riktig til Arduino Nano. Last ned drivere HER

1 - Arduino Integrated Development Environment (IDE) - Last ned IDE HER

Trinn 2: Installer IDE og deretter CH340 -driverne

Hvis du ikke allerede har IDE- eller CH340 -driverne installert, fortsett med dette trinnet

1) Last ned IDE her.

2) Detaljerte instruksjoner om hvordan du installerer IDE finner du på Arduino -nettstedet HER

3) Last ned CH340 Serial -driverne HER.

4) Detaljerte instruksjoner om hvordan du installerer driverne finner du HER.

Programvaremiljøet ditt er nå oppdatert

Trinn 3: Plassering av komponenter

Plassering av komponenter
Plassering av komponenter
Plassering av komponenter
Plassering av komponenter
Plassering av komponenter
Plassering av komponenter

Selv et brødbrett i full størrelse har bare begrenset plass, og dette prosjektet tar det til det ytterste.

1) Hvis du bruker en strømforsyning til brødbrett, kobler du den først til de høyre pinnene på brødbrettet

2) Installer Arduino Nano, med USB -porten vendt mot høyre

3) Installer LCD -skjermen øverst på brødbrettet (se bilder)

4) Installer HC-SR04 og potensiometeret. La det være plass til ledningene og motstandene de trenger.

5) Basert på Fritzing -diagrammet, koble alle ledningene på brødbrettet. Legg merke til plasseringen av de 2 motstandene på brettet også. - Jeg har lagt til en Fritzing FZZ -fil som du kan laste ned, hvis du er interessert.

6) Hvis du IKKE bruker en Breadboard -strømforsyning, må du sørge for at du har hoppere som kjører fra bakken og +V -linjen på "bunnen" av brettet som går til de matchende linjene på "toppen" for å sikre at alt blir jordet og drevet.

For denne konfigurasjonen forsøkte jeg å holde pinnene fra LCD-skjermen og pinnene på Arduino i rekkefølge for å gjøre ting så enkelt som mulig (D7-D4 på LCD-tilkoblinger til D7-D4 på Nano). Dette tillot meg også å bruke et veldig rent diagram for å vise ledningene.

Mens mange nettsteder krever en 220 ohm motstand for å beskytte LCD -bakgrunnsbelysningen på 2x20 -skjermen, fant jeg at dette var for høyt i mitt tilfelle. Jeg prøvde flere gradvis mindre verdier til jeg fant en som fungerte bra for meg. I dette tilfellet fungerer det til en 48 ohm motstand (det er det den viser som på min ohm-måler). Du bør starte med en 220 Ohm og bare gå ned hvis LCD -skjermen ikke er lys nok.

Potensiometeret brukes til å justere kontrasten på LCD -skjermen, så du må kanskje bruke en liten skrutrekker til å snu den indre kontakten til den posisjonen som fungerer best for deg.

Trinn 4: Arduino -skissen

Arduino -skissen
Arduino -skissen
Arduino -skissen
Arduino -skissen

Jeg brukte flere kilder som inspirasjon for skissen min, men alle krevde betydelig endring. Jeg har også forsøkt å kommentere koden fullt ut, slik at det er klart hvorfor hvert trinn utføres slik det er. Jeg tror kommentarene er flere enn de faktisk kodende instruksjonene med en rimelig prosentandel !!!

Den mest interessante delen av denne skissen, for meg, dreier seg om ultralydssensoren. HC-SR04 er veldig billig (mindre enn 1 amerikanske eller kanadiske $ på Ali Express). Det er også ganske nøyaktig for denne typen prosjekter.

Det er 2 runde "øyne" på sensoren, men de har hvert sitt formål. Den ene er lydsender den andre er mottakeren. Når TRIG -pinnen er satt til HIGH, sendes en puls. ECHO -pinnen vil returnere en verdi i millisekunder som er den totale forsinkelsen mellom da pulsen ble sendt og den ble mottatt. Det er noen enkle formler i skriptet for å konvertere millisekunder til enten centimeter eller tommer. Husk at tiden som returneres må kuttes i to fordi pulsen går TIL objektet og deretter RETURNER, og dekker distansen to ganger.

For mer informasjon om hvordan ultralydsensoren fungerer, anbefaler jeg Dejan Nedelkovskis opplæring på Howtomechatronics. Han har en utmerket video og diagrammer som forklarer konseptet mye bedre enn jeg kunne!

MERK: Lydens hastighet er ikke konstant. Det varierer basert på temperatur og trykk. En veldig interessant utvidelse av dette prosjektet vil tilføre en temperatur- og trykksensor for å kompensere for "drift". Jeg har gitt flere prøver for alternative temperaturer som utgangspunkt, hvis du vil ta det neste trinnet!

En internettkilde som har brukt mye tid på å forske på disse sensorene, kom med disse verdiene. Jeg anbefaler Andreas Spiess You Tube -kanal for en rekke interessante videoer. Jeg hentet disse verdiene fra en av dem.

// 340 M/sek er lydens hastighet ved 15 grader C. (0,034 CM/sek) // 331,5 M/sek er lydens hastighet ved 0 grader C (0,0331,5 cm/sek)

// 343 M/sek er lydens hastighet ved 20 grader C (0,0343 CM/sek)

// 346 M/sek er lydens hastighet ved 25 grader C (0,0346 CM/sek)

LCD -skjermen er litt av en utfordring, bare fordi den krever så mange pinner (6!) For å kontrollere den. Oppsiden er at denne grunnleggende versjonen av LCD -skjermen også er veldig billig. Jeg kan enkelt finne den på Aliexpress for mindre enn $ 2 kanadisk.

Heldigvis, når du har koblet den til, er kontrollen veldig rett frem. Du fjerner det, angir deretter hvor du vil skrive ut teksten, og deretter utsteder du en serie LCD. PRINT -kommandoer for å skyve teksten og tallene inn på skjermen. Jeg fant en flott opplæring om dette fra Vasco Ferraz på vascoferraz.com. Jeg endret pin -oppsettet for å gjøre det tydeligere for en nybegynner (som meg selv!).

Trinn 5: Konklusjon

Jeg later ikke til å være verken elektroingeniør eller profesjonell koder. (Jeg lærte opprinnelig å programmere på 1970 -tallet!). På grunn av dette synes jeg hele Arduino -rommet er enormt frigjørende. Jeg, med bare grunnleggende kunnskap, kan starte med meningsfulle eksperimenter. Å lage ting som faktisk fungerer og viser nok virkelighetstjeneste til at selv min kone sier "kult!".

Som vi alle gjør, bruker jeg de tilgjengelige ressursene fra internett for å lære hvordan jeg gjør ting, så kobler jeg dem sammen for å forhåpentligvis lage noe nyttig. Jeg har gjort mitt beste for å kreditere disse kildene i denne iblen og i min skisse.

Underveis tror jeg at jeg kan hjelpe andre, som også starter sin læringsreise. Jeg håper du synes dette er en nyttig instruks, og jeg tar gjerne imot kommentarer eller spørsmål du måtte ha.

Anbefalt: