Ultrasonic Range Finder -tutoriaal met Arduino en LCD: 5 stappe
Ultrasonic Range Finder -tutoriaal met Arduino en LCD: 5 stappe
Anonim
Ultrasoniese Range Finder -tutoriaal met Arduino en LCD
Ultrasoniese Range Finder -tutoriaal met Arduino en LCD

Baie mense het instruksies geskep oor hoe om die Arduino Uno te gebruik met 'n ultrasoniese sensor en soms ook met 'n LCD -skerm. Ek het egter altyd agtergekom dat hierdie ander instruksies dikwels stappe oorslaan wat nie vir beginners duidelik is nie. As gevolg hiervan het ek probeer om 'n tutoriaal op te stel wat elke moontlike detail bevat, sodat ander beginners hopelik daaruit kan leer.

Ek het eers 'n Arduino UNO gebruik, maar gevind dat dit 'n bietjie groot was vir die doel. Ek ondersoek toe die Arduino Nano. Hierdie klein bord bied byna alles wat die UNO doen, maar met 'n baie kleiner voetspoor. Met 'n bietjie maneuvering het ek dit op dieselfde broodbord as die LCD, die ultrasoniese sensor en die verskillende drade, weerstande en die potensiometer laat pas.

Die gevolglike konstruksie is heeltemal funksioneel en is 'n goeie stap om 'n meer permanente opset te maak. Ek het besluit om my eerste Instructable te maak om hierdie proses te dokumenteer en hopelik ander te help wat dieselfde wil doen. Waar moontlik, het ek aangedui waar ek my inligting vandaan gekry het, en ek het ook probeer om soveel as moontlik ondersteunende dokumentasie in die skets te plaas sodat almal wat dit lees, kan verstaan wat aangaan.

Stap 1: Onderdele wat u benodig

Onderdele wat u benodig
Onderdele wat u benodig
Onderdele wat u benodig
Onderdele wat u benodig
Onderdele wat u benodig
Onderdele wat u benodig

Daar is slegs 'n handjievol onderdele wat u benodig, en gelukkig is dit baie goedkoop.

1 - Volle grootte broodbord (830 penne)

1 - Arduino Nano (met penkoppe aan weerskante geïnstalleer)

1 - Ultrasoniese sensor HC -SRO4

1 - 16x2 LCD -skerm (met 'n enkele koptekst geïnstalleer). LET WEL: u het nie die duurder I2C -weergawe van hierdie module nodig nie. Ons kan direk werk met die 16 -pen "basiese" eenheid

1 - 10 K potensiometer

1 - Ballastweerstand vir gebruik met die LED -agtergrond vir die 16x2 (normaalweg 100 Ohm- 220 Ohm, ek het gevind dat 'n 48 Ohm -weerstand die beste by my werk)

1 -1K Ohm lasbeperkende weerstand -vir gebruik met HC -SR04

Broodborddrade in verskillende lengtes en kleure.

OPSIONEEL - Breadboard -kragtoevoer - 'n Kragmodule wat direk met die broodbord verbind kan word, sodat u meer draagbaar kan wees in plaas van om aan 'n rekenaar vasgemaak te word, of om die stelsel via die Arduino Nano aan te dryf.

1 - Rekenaar/ skootrekenaar om u Arduino Nano te programmeer - let wel: u benodig moontlik ook CH340 -bestuurders om u Windows -rekenaar korrek aan te sluit op die Arduino Nano. Laai bestuurders HIER af

1 - Arduino Integrated Development Environment (IDE) - Laai IDE af hier

Stap 2: Installeer die IDE Dan die CH340 -stuurprogramma's

Gaan voort met hierdie stap as u nog nie die IDE- of CH340 -bestuurders geïnstalleer het nie

1) Laai die IDE hier af.

2) HIER kan u die gedetailleerde instruksies oor die installering van die IDE op die Arduino -webwerf vind

3) Laai die CH340 Serial -bestuurders van HIER af.

4) Gedetailleerde instruksies oor hoe om die bestuurders te installeer, kan HIER gevind word.

U sagteware -omgewing is nou op datum

Stap 3: Plasing van komponente

Plasing van komponente
Plasing van komponente
Plasing van komponente
Plasing van komponente
Plasing van komponente
Plasing van komponente

Selfs 'n volgrootte broodbord het slegs beperkte ruimte, en hierdie projek neem dit tot die uiterste.

1) As u 'n broodbordkragbron gebruik, moet u dit eers aan die regterkantste penne op u broodbord heg

2) Installeer die Arduino Nano, met die USB -poort na regs

3) Installeer die LCD -skerm aan die bokant van die broodbord (sien prente)

4) Installeer die HC-SR04 en die potensiometer. Laat ruimte vir die drade en weerstande wat hulle benodig.

5) Verbind alle drade op die broodbord op die Fritzing -diagram. Let ook op die plasing van die 2 weerstande op die bord. - Ek het 'n Fritzing FZZ -lêer bygevoeg om af te laai, as u belangstel.

6) As u NIE 'n Breadboard -kragtoevoer gebruik nie, maak seker dat daar springers van die grond af is en 'n +V -lyn aan die onderkant van die bord na die ooreenstemmende lyne aan die bokant, om te verseker dat alles aardig word en aangedryf.

Vir hierdie konfigurasie het ek probeer om die penne in volgorde van die LCD en die penne op die Arduino te hou om dinge so eenvoudig moontlik te maak (D7-D4 op LCD verbind met D7-D4 op die Nano). Dit het my ook toegelaat om 'n baie skoon diagram te gebruik om die bedrading aan te toon.

Alhoewel baie webwerwe 'n weerstand van 220 ohm benodig om die LCD -agtergrond op die 2x20 -skerm te beskerm, het ek dit in my geval te hoog gevind. Ek het verskeie geleidelik kleiner waardes probeer totdat ek een gevind het wat goed vir my werk. In hierdie geval werk dit uit op 'n weerstand van 48 ohm (dit is soos dit op my ohm-meter verskyn). U moet begin met 'n 220 Ohm en slegs werk as die LCD nie helder genoeg is nie.

Die potensiometer word gebruik om die kontras op die LCD -skerm aan te pas, dus moet u 'n klein skroewedraaier gebruik om die binnekant in die posisie te plaas wat die beste by u pas.

Stap 4: Die Arduino -skets

Die Arduino -skets
Die Arduino -skets
Die Arduino -skets
Die Arduino -skets

Ek het verskeie bronne as inspirasie vir my skets gebruik, maar dit het almal aansienlike wysigings vereis. Ek het ook gepoog om die kode ten volle kommentaar te lewer, sodat dit duidelik is waarom elke stap uitgevoer word soos dit is. Ek glo dat die opmerkings 'n redelike persentasie groter is as die koderingsinstruksies!

Die interessantste deel van hierdie skets draai vir my oor die ultrasoniese sensor. Die HC-SR04 is baie goedkoop (minder as 1 Amerikaanse of Kanadese $ op Ali Express). Dit is ook redelik akkuraat vir hierdie tipe projek.

Daar is 2 ronde "oë" op die sensor, maar elkeen het 'n ander doel. Die een is die klankuitstraler, die ander die ontvanger. As die TRIG -pen op HOOG gestel is, word 'n pols gestuur. Die ECHO -pen gee 'n waarde in millisekondes terug, dit is die totale vertraging tussen die stuur van die pols en die ontvangs daarvan. Daar is 'n paar eenvoudige formules in die draaiboek om millisekondes in sentimeters of duim te omskep. Onthou dat die teruggekeerde tyd middeldeur gesny moet word, want die pols gaan na die voorwerp en keer dan terug, om die afstand twee keer af te lê.

Vir meer besonderhede oor hoe die ultrasoniese sensor werk, beveel ek die les van Dejan Nedelkovski sterk aan by Howtomechatronics. Hy het 'n uitstekende video en diagramme wat die konsep baie beter verduidelik as wat ek kon!

LET WEL: die klanksnelheid is nie konstant nie. Dit wissel afhangende van temperatuur en druk. 'N Baie interessante uitbreiding van hierdie projek sou 'n temperatuur- en druksensor byvoeg om te kompenseer vir "wegdrywing". Ek het verskeie voorbeelde gegee vir alternatiewe temperature as 'n beginpunt, as u die volgende stap wil neem!

'N Internetbron wat baie tyd bestee het aan die ondersoek van hierdie sensors, het hierdie waardes gekry. Ek beveel Andreas Spiess se You Tube -kanaal aan vir 'n verskeidenheid interessante video's. Ek het hierdie waardes uit een daarvan getrek.

// 340 M/sek is die spoed van klank by 15 grade C. (0,034 CM/sek) // 331,5 M/sek is die spoed van klank by 0 grade C (0,0331,5 cm/sek)

// 343 M/sek is die spoed van klank by 20 grade C (0,0343 cm/sek)

// 346 M/sek is die spoed van klank by 25 ° C (0,0346 CM/sek)

Die LCD -skerm is 'n bietjie uitdaging, net omdat dit soveel penne (6!) Benodig om dit te beheer. Die voordeel is dat hierdie basiese weergawe van die LCD ook baie goedkoop is. Ek kan dit maklik op Aliexpress vind vir minder as $ 2 Kanadese.

Gelukkig, as u dit eers aangesluit het, is dit baie eenvoudig om dit te beheer. U maak dit skoon, stel dan in waar u u teks wil uitvoer en reik 'n reeks LCD. PRINT -opdragte uit om die teks en syfers op die skerm te druk. Ek het 'n wonderlike handleiding hieroor gevind by Vasco Ferraz op vascoferraz.com. Ek het sy penuitleg verander om dit vir 'n beginner duideliker te maak (soos ek!).

Stap 5: Gevolgtrekking

Ek maak nie asof ek 'n elektriese ingenieur of 'n professionele kodeerder is nie. (Ek het oorspronklik in die sewentigerjare geleer hoe om te programmeer!). As gevolg hiervan vind ek die hele Arduino -ruimte geweldig bevrydend. Ek, met slegs basiese kennis, kan begin met betekenisvolle eksperimente. Om dinge te skep wat werklik werk en genoeg nut in die werklike wêreld toon, sodat selfs my vrou 'cool' sê!.

Soos ons almal gebruik, gebruik ek die beskikbare bronne van die internet om te leer hoe om dinge te doen, en dan koppel ek dit aan om hopelik iets nuttigs te maak. Ek het my bes gedoen om hierdie bronne in hierdie skets en in my skets te erken.

Onderweg glo ek dat ek ander kan help, wat ook hul leerreis begin. Ek hoop dat u dit as 'n nuttige instruksie kan vind, en ek verwelkom alle kommentaar of vrae wat u mag hê.

Aanbeveel: