INHOUDSOPGAWE:

Projek 3: SonarDuino: 9 stappe
Projek 3: SonarDuino: 9 stappe

Video: Projek 3: SonarDuino: 9 stappe

Video: Projek 3: SonarDuino: 9 stappe
Video: 220 В переменного тока от 12 В 90 А Автомобильный генератор переменного тока 1000 Вт DIY 2024, November
Anonim
Image
Image

Geagte mede -stokperdjie, In hierdie projek ondersoek ons die moontlikheid om 'n 360 grade radarsisteem te hê vir die opsporing van voorwerpe. As u hierdie module afsonderlik stel, sal u bewegingsrobot die grense van sy omgewing kan opspoor. Dit kan ook in die donker as navigasiehulpmiddel dien, maar slegs as u stadig genoeg loop; p

Stap 1: wat u benodig

Berei die ultrasoniese sensorondersteuning voor
Berei die ultrasoniese sensorondersteuning voor

Om hierdie konstruksie te maak, moet u die volgende koop:

Arduino Nano: https://www.ebay.com/itm/USB-Nano-V3-0-ATmega328-16M-5V-Micro-controller-CH340G-board-For-Arduino/201601613488?hash=item2ef0647eb0:g:DkoAAOSwvYZZpOl0: rk: 2: pf: 0

Prototipe borde: https://www.ebay.com/itm/20pcs-set-4Size-Double-Side-Protoboard-Circuit-Universal-DIY-Prototype-PCB-Board/192076517108?epid=506557101&hash=item2cb8a70ef4:g:cQ4AOS ~ Zbl232: rk: 13: bl: 0

Servo Motors: https://www.ebay.com/itm/5pcs-POP-9G-SG90-Micro-Servo-motor-RC-Robot-Helicopter-Airplane-Control-Car-Boat/142931003420?hash=item21475a081c:rk: 16: pf: 0 & var

Ultrasoniese sensors: https://www.ebay.com/itm/5PCS-Ultrasonic-Sensor-Module-HC-SR04-Distance-Measuring-Sensor-for-arduino-SR04/170897438205?epid=18020663283&hash=item27ca47f5fd: ~ IAAOSw-xbD5Fp: rk: 2: pf: 0

Stap 2: Dokumentasie

Aangesien sommige van u dit dalk al weet, is hierdie projek geïnspireer uit 'n ander open source-projek genaamd 'Arduino Radar Project' wat Dejan gemaak het deur 'How to Mechatronics' @ die volgende skakel: https://howtomechatronics.com/projects/arduino -radar-projek/

'N Ander punt wat dokumentasie vereis, is om die volgende twee biblioteke in u ontwikkelingsomgewing af te laai:

Adafruit-GFX-biblioteek:

Adafruit_SSD1306:

Dit gesê, om die C -kode regtig te verstaan, moet u dokumentasie van albei bogenoemde biblioteke doen. Behalwe dit, het die funksies wat ek in my kode gebruik het, name wat dui op wat hulle doen.

Stap 3: Berei die ultrasoniese sensorondersteuning voor

Berei die ultrasoniese sensorondersteuning voor
Berei die ultrasoniese sensorondersteuning voor
Berei die ultrasoniese sensorondersteuning voor
Berei die ultrasoniese sensorondersteuning voor
Berei die ultrasoniese sensorondersteuning voor
Berei die ultrasoniese sensorondersteuning voor

Neem 'n stuk karton en sny dit volgens die afmeting van die aansluitkabels wat aan die sensor geheg is, soos op die eerste foto getoon. Vou daarna die laaste en plak dit aan die servomotorsteun vas. As dit klaar is, plak die twee ultrasoniese sensors volgens die laaste prentjie vas. Let daarop dat die kop van die sensors soldeer moet word sodat die kabels voor die sensor na buite kan gaan. Dit sal toelaat dat die sensorkabels nie inmeng met mekaar wanneer die rotasie van 360 grade geïmplementeer word nie.

Stap 4: Monteer alles in 'n prototipe bord

Plaas alles in 'n prototipe bord
Plaas alles in 'n prototipe bord
Plaas alles in 'n prototipe bord
Plaas alles in 'n prototipe bord
Plaas alles in 'n prototipe bord
Plaas alles in 'n prototipe bord

In hierdie stap begin u met die koppeling wat in die vorige stap voorberei is, in die betrokke servomotor. Sodra die servomotor versigtig gewoond is, monteer u alles saam in 'n prototipe bord. U sal eers begin met die soldeer van die Arduino Nano, dan deur die servo daar langs te plak. Uiteindelik sal u die klein OLED -skerm aan die ander kant van die bord soldeer.

Stap 5: Maak die finale verbindings

Maak die finale verbindings
Maak die finale verbindings
Maak die finale verbindings
Maak die finale verbindings
Maak die finale verbindings
Maak die finale verbindings

Hierdie stap sluit die hardeware -kant van hierdie projek af. U moet die gegewe skema volg om al die vereiste verbindings tot stand te bring.

Stap 6: Begin die program

Begin die program
Begin die program

Daar is twee kodes wat u moet begin

Arduino (C):

Verwerking (java):

As u die kode gebruik, het u twee opsies om uit te kies:

Opsie 1: hiervoor moet u die veranderlike MODE in die C -kode op 0 stel deur die OLED -skerm te gebruik.

Opsie 2: Om u monitor te gebruik, hiervoor moet u die veranderlike MODE in die C -kode stel op 1. Boonop moet u die ontwikkelingsomgewing vir verwerking aflaai en installeer en die radar -lettertipe aflaai vanaf hierdie skakel: https:// github.com/lastralab/ArduinoRadar/blob/ma…

En voeg die lêer by u verwerkingskode -lêer sodat u java -kode die lettertipe sal herken wanneer dit geroep word.

Stap 7: Begrip van die C -kode

Verstaan die C -kode
Verstaan die C -kode

Die kode bestaan hoofsaaklik uit twee 'vir' -lusse. Die een is gekorreleer met die voorwaartse pas, terwyl die ander met die agteruitgang is. Binne albei word die hooffunksie draw_scanner (), wat die lyne van die radar op die skerm trek, baie keer genoem. Nadat ek verskeie konfigurasies getoets het, het ek tot die gevolgtrekking gekom dat ons die wit radarlyne op dieselfde tyd t met dieselfde radarlyne in tyd t+1 moet oorskryf om dit te verwyder. As dit anders sou gebeur, sou flikkering voorkom elke keer as u die skerm skoonmaak met die funksie "clearDisplay ()" voordat u die nuwe pixelrooster druk. Terwyl ek met 7 reëls te doen gehad het- vir ontwerpdoeleindes- moes ek 'n heelgetalreeks van 7 elemente opslaan en verbygaan, waar elke element vir die radius tussen die middel van die radar na die bespeurde voorwerp staan, indien enige. Met dit in gedagte, moet die res van die kode eenvoudig wees om te verstaan.

Stap 8: Verstaan die Java -kode

In die verwerking moes ek die funksie -oproep vir serialEvent () omseil, wat slegs werk met seriële poorte met die naam COM. Terwyl ek op 'n Mac gewerk het, het my seriële poorte 'n ander naam gehad. Dit gesê, ek het die funksie uitgepak in die hooffunksie by die verwerking van 'draw ()'. Met betrekking tot alles anders, het ek die toepassing opgedateer om aan die volledige revolusie -ontwerp te voldoen. Uiteindelik het ek al die getekende vorms en tekste opgedateer met betrekking tot die breedte van die skerm, sodat die finale produk by verskillende skermresolusies pas. Ek het dit persoonlik getoets vir beide 1000X1000 en 500X500 resolusies, en dit het goed gewerk:).

Stap 9: Gevolgtrekking

Hierdie werk kan opgegradeer word na drie ultraklank -sensors wat elk 120 kykhoek dek, of selfs 4 sensors (90 grade*4) -> vinniger 360 grade. skandeer.

U kan ook die reikwydte van die radar uitbrei van 40 cm tot 60 cm of selfs 80 cm. Ek het persoonlik die pulseIn -funksie getoets en die TIMEOUT -veranderlike aangepas tot 40 cm. Hierdie veranderlike hang af van baie faktore, insluitend die lengte van die polssending en die oppervlak van die voorwerp waar die pols weerkaats word.

Laastens, soos voorheen gesê, is die volgende stap om radarDuino op te neem met 'n bewegingsrobot om die omliggende omtrek te skandeer.

Aanbeveel: