Indholdsfortegnelse:

Ultrasonic Range Finder Tutorial med Arduino og LCD: 5 trin
Ultrasonic Range Finder Tutorial med Arduino og LCD: 5 trin

Video: Ultrasonic Range Finder Tutorial med Arduino og LCD: 5 trin

Video: Ultrasonic Range Finder Tutorial med Arduino og LCD: 5 trin
Video: Using the HC-SR04 Ultrasonic Distance Sensor with Arduino - Everything you need to know! 2024, December
Anonim
Ultrasonic Range Finder Tutorial med Arduino og LCD
Ultrasonic Range Finder Tutorial med Arduino og LCD

Mange mennesker har oprettet instruktioner om, hvordan man bruger Arduino Uno med en ultralydssensor og nogle gange også med en LCD -skærm. Jeg har dog altid fundet ud af, at disse andre instruktører ofte springer over trin, der ikke er indlysende for begyndere. Som et resultat har jeg forsøgt at oprette en tutorial, der indeholder alle mulige detaljer, så andre begyndere forhåbentlig kan lære af det.

Jeg brugte først en Arduino UNO, men fandt ud af, at den var lidt stor til formålet. Jeg undersøgte derefter Arduino Nano. Denne lille tavle tilbyder næsten alt, hvad UNO gør, men med et meget mindre fodaftryk. Med en vis manøvrering fik jeg den til at passe på det samme brødbræt som LCD, ultralydssensoren og de forskellige ledninger, modstande og potentiometeret.

Den resulterende konstruktion er fuldstændig funktionel og er en god springbræt til at lave et mere permanent setup. Jeg besluttede at gøre min første instruktive til at dokumentere denne proces og forhåbentlig hjælpe andre, der ønsker at gøre det samme. Hvor det er muligt, har jeg angivet, hvor jeg har fået mine oplysninger fra, og jeg har også forsøgt at lægge så meget understøttende dokumentation i skitsen som muligt for at give alle, der læser dem, mulighed for at forstå, hvad der foregår.

Trin 1: Dele, du får brug for

Dele, du får brug for
Dele, du får brug for
Dele, du får brug for
Dele, du får brug for
Dele, du får brug for
Dele, du får brug for

Der er kun en håndfuld dele, du har brug for, og de er heldigvis meget billige.

1 - Brødbræt i fuld størrelse (830 ben)

1 - Arduino Nano (med pinhoveder installeret på begge sider)

1 - HC -SRO4 ultralydssensor

1 - 16x2 LCD -display (med et enkelt header installeret). BEMÆRK: du behøver ikke den dyrere I2C -version af dette modul. Vi kan arbejde direkte med den 16 -pins "grundlæggende" enhed

1 - 10 K Potentiometer

1 - Ballastmodstand til brug med LED -baggrundsbelysningen til 16x2 (normalt 100 Ohm- 220 Ohm, jeg fandt en 48 Ohm modstand, der fungerede bedst for mig)

1 -1K Ohm belastningsbegrænsende modstand -til brug med HC -SR04

Brødbrætstråde i forskellige længder og farver.

VALGFRIT - Strømforsyning til brødbræt - Et strømmodul, der tilsluttes direkte til brødbrættet, så du kan være mere bærbar i stedet for at forblive koblet til en pc eller drive systemet via Arduino Nano.

1 - PC/ bærbar til at programmere din Arduino Nano - Bemærk! Du har muligvis også brug for CH340 -drivere for at tillade din Windows -pc at oprette forbindelse korrekt til Arduino Nano. Download drivere HER

1 - Arduino Integrated Development Environment (IDE) - Download IDE HER

Trin 2: Installer IDE og derefter CH340 -driverne

Hvis du ikke allerede har IDE- eller CH340 -driverne installeret, skal du fortsætte med dette trin

1) Download IDE her.

2) Detaljerede instruktioner om, hvordan IDE installeres, findes på Arduino -webstedet HER

3) Download CH340 serielle drivere fra HER.

4) Detaljerede instruktioner om installation af driverne findes HER.

Dit softwaremiljø er nu opdateret

Trin 3: Placering af komponenter

Placering af komponenter
Placering af komponenter
Placering af komponenter
Placering af komponenter
Placering af komponenter
Placering af komponenter

Selv et brødbræt i fuld størrelse har kun begrænset plads på det, og dette projekt tager det til det yderste.

1) Hvis du bruger en brødbrætstrømforsyning, skal du først tilslutte den til de fleste stifter på dit brødbræt

2) Installer Arduino Nano med USB -porten vendt mod højre

3) Installer LCD -displayet øverst på brødbrættet (se billeder)

4) Installer HC-SR04 og potentiometeret. Giv plads til de ledninger og modstande, som de skal bruge.

5) Baseret på Fritzing -diagrammet forbinder alle ledninger på brødbrættet. Bemærk også placeringen af de 2 modstande på brættet. - Jeg har tilføjet en Fritzing FZZ -fil, som du kan downloade, hvis du er interesseret.

6) Hvis du IKKE bruger en Breadboard -strømforsyning, skal du sørge for, at du har jumpere, der løber fra jorden og +V -linje på "bunden" af brættet, der kører til de matchende linjer på "toppen" for at sikre, at alt bliver jordet og drevet.

Til denne konfiguration forsøgte jeg at holde stifterne fra LCD'et og benene på Arduino i rækkefølge for at gøre tingene så enkle som muligt (D7-D4 på LCD forbinder til D7-D4 på Nano). Dette tillod mig også at bruge et meget rent diagram til at vise ledningerne.

Mens mange steder kræver en 220 ohm modstand for at beskytte LCD -baggrundsbelysningen på 2x20 -displayet, fandt jeg dette for højt i mit tilfælde. Jeg prøvede flere gradvist mindre værdier, indtil jeg fandt en, der fungerede godt for mig. I dette tilfælde fungerer det til en 48 ohm modstand (det er, hvad det viser sig som på min ohm-meter). Du bør starte med en 220 Ohm og kun arbejde ned, hvis LCD -skærmen ikke er lys nok.

Potentiometeret bruges til at justere kontrasten på LCD -displayet, så du skal muligvis bruge en lille skruetrækker til at dreje den indvendige fatning til den position, der fungerer bedst for dig.

Trin 4: Arduino -skitsen

Arduino -skitsen
Arduino -skitsen
Arduino -skitsen
Arduino -skitsen

Jeg brugte flere kilder som inspiration til min skitse, men de krævede alle væsentlige ændringer. Jeg har også forsøgt at kommentere koden fuldt ud, så det er klart, hvorfor hvert trin udføres, som det er. Jeg tror, at kommentarerne overstiger de faktisk kodningsinstruktioner med en rimelig procentdel !!!

Den mest interessante del af denne skitse drejer sig for mig om ultralydssensoren. HC-SR04 er meget billig (mindre end 1 amerikanske eller canadiske $ på Ali Express). Det er også ret præcist for denne type projekter.

Der er 2 runde "øjne" på sensoren, men de har hver et andet formål. Den ene er lydemitteren, den anden er modtageren. Når TRIG -stiften er indstillet til HIGH, sendes en puls. ECHO -stiften returnerer en værdi i millisekunder, der er den samlede forsinkelse mellem, da pulsen blev sendt, og da den blev modtaget. Der er nogle enkle formler i scriptet, der hjælper med at konvertere millisekunder til enten centimeter eller tommer. Husk, at den returnerede tid skal halveres, fordi pulsen går TIL objektet og derefter RETURNS, der dækker afstanden to gange.

For flere detaljer om, hvordan ultralydssensoren fungerer, anbefaler jeg stærkt Dejan Nedelkovskis tutorial på Howtomechatronics. Han har en fremragende video og diagrammer, der forklarer konceptet meget bedre, end jeg kunne!

BEMÆRK: Lydens hastighed er ikke konstant. Det varierer baseret på temperatur og tryk. En meget interessant udvidelse til dette projekt ville tilføje en temperatur- og tryksensor for at kompensere for "drift". Jeg har givet flere prøver til alternative temperaturer som udgangspunkt, hvis du vil tage det næste trin!

En internetkilde, der har brugt meget tid på at undersøge disse sensorer, kom med disse værdier. Jeg anbefaler Andreas Spiess's You Tube -kanal til en række interessante videoer. Jeg trak disse værdier fra en af dem.

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

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

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

LCD -displayet er lidt af en udfordring, kun fordi det kræver så mange ben (6!) For at styre det. Opadrettede er, at denne grundlæggende version af LCD'et også er meget billig. Jeg kan let finde det på Aliexpress for mindre end $ 2 canadiske.

Heldigvis er kontrollen meget ligetil, når du først har tilsluttet den. Du rydder det, og indstiller derefter, hvor du vil sende din tekst, og udsteder derefter en række LCD. PRINT -kommandoer for at skubbe teksten og tallene ind på skærmen. Jeg fandt en god tutorial om dette fra Vasco Ferraz på vascoferraz.com. Jeg ændrede hans pin -layout for at gøre det tydeligere for en nybegynder (som mig selv!).

Trin 5: Konklusion

Jeg foregiver ikke at være hverken en elektrisk ingeniør eller professionel Coder. (Jeg lærte oprindeligt at programmere tilbage i 1970'erne!). På grund af dette synes jeg, at hele Arduino -rummet er enormt befriende. Jeg, med kun grundlæggende viden, kan starte med meningsfulde eksperimenter. Oprettelse af ting, der rent faktisk virker og viser nok brugbarhed i den virkelige verden, at selv min kone siger "Cool!".

Som vi alle gør, bruger jeg de ressourcer, der er tilgængelige for mig fra internettet til at lære at gøre tingene, så forbinder jeg dem sammen til forhåbentlig at lave noget nyttigt. Jeg har gjort mit bedste for at kreditere disse kilder inden for denne ible og i min skitse.

Undervejs tror jeg på, at jeg kan hjælpe andre, som også starter deres læringsrejse. Jeg håber, at du synes, at dette er en nyttig instruktion, og jeg glæder mig over eventuelle kommentarer eller spørgsmål, du måtte have.

Anbefalede: