Turinys:
- 1 žingsnis: ko jums reikia šiame projekte:
- 2 žingsnis: grandinės schema
- 3 žingsnis: „Arduino UNO“programavimas
- 4 žingsnis: Puiku
Video: Kaip padaryti „pasidaryk pats“„Arduino“kliūtį išvengti roboto namuose: 4 žingsniai
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:45
Sveiki vaikinai, šioje instrukcijoje jūs padarysite kliūtį išvengdami roboto. Ši instrukcija apima roboto su ultragarso jutikliu kūrimą, kuris gali aptikti netoliese esančius objektus ir pakeisti jų kryptį, kad išvengtų šių objektų. Ultragarsinis jutiklis bus pritvirtintas prie servo variklio, kuris nuolat nuskaito kairę ir dešinę, ieškodamas kelyje esančių objektų.
Taigi, nedvejodami, pradėkime!
1 žingsnis: ko jums reikia šiame projekte:
Štai dalių sąrašas:
1) „Arduino Uno“
2) Variklio vairuotojo skydas
3) Pavarų variklis, rėmas ir ratai
4) Servo variklis
5) Ultragarsinis jutiklis
6) Ličio jonų baterija (2x)
7) Akumuliatoriaus laikiklis
8) Vyriškas ir moteriškas megztinis
9) Lituoklis
10) Įkroviklis
2 žingsnis: grandinės schema
Darbas:
Prieš pradėdami dirbti su projektu, svarbu suprasti, kaip veikia ultragarso jutiklis. Pagrindinis ultragarso jutiklio veikimo principas yra toks:
Naudojant išorinį trigerio signalą, ultragarso jutiklio „Trig“kaištis yra padidintas bent 10 µs. Iš siųstuvo modulio siunčiamas garsinis pliūpsnis. Jį sudaro 8 40KHz impulsai.
Po smūgio į paviršių signalai grįžta atgal ir imtuvas aptinka šį signalą. Echo kaištis yra aukštas nuo signalo išsiuntimo ir jo priėmimo momento. Šį laiką galima konvertuoti į atstumą naudojant atitinkamus skaičiavimus.
Šio projekto tikslas - įgyvendinti kliūtis, išvengiančias roboto, naudojant ultragarso jutiklį ir „Arduino“. Visos jungtys atliekamos pagal schemą. Toliau aprašomas projekto veikimas.
Kai robotas įjungiamas, abu roboto varikliai veiks normaliai, o robotas juda į priekį. Per šį laiką ultragarso jutiklis nuolat skaičiuoja atstumą tarp roboto ir atspindinčio paviršiaus.
Šią informaciją tvarko „Arduino“. Jei atstumas tarp roboto ir kliūties yra mažesnis nei 15 cm, robotas sustoja ir nuskaito į kairę ir į dešinę naujas atstumus naudodamas servo variklį ir ultragarsinį jutiklį. Jei atstumas į kairę pusę yra didesnis nei dešinės pusės, robotas ruošiasi posūkiui į kairę. Tačiau pirmiausia jis šiek tiek sukuria atsarginę kopiją, o paskui įjungia kairiojo rato variklį atbuline kryptimi.
Panašiai, jei dešinysis atstumas yra didesnis nei kairiojo, Robotas paruošia sukimąsi į dešinę. Šis procesas tęsiasi amžinai, o robotas juda be kliūčių.
3 žingsnis: „Arduino UNO“programavimas
#įtraukti
#įtraukti
#įtraukti
# apibrėžti TRIG_PIN A1
# define ECHO_PIN A0
# apibrėžti MAX_DISTANCE 200
# define MAX_SPEED 255 // nustato nuolatinės srovės variklių greitį
# define MAX_SPEED_OFFSET 20
„NewPing“sonaras (TRIG_PIN, ECHO_PIN, MAX_DISTANCE);
AF_DCMotorinis variklis3 (3, MOTOR34_1KHZ);
AF_DCMotorinis variklis4 (4, MOTOR34_1KHZ); Servo myservo;
loginis einaForward = false;
int atstumas = 100; int speedSet = 0;
void setup () {
myservo.attach (10);
myservo.write (115); vėlavimas (2000 m.); atstumas = skaitytiPing (); vėlavimas (100); atstumas = skaitytiPing (); vėlavimas (100); atstumas = skaitytiPing (); vėlavimas (100); atstumas = skaitytiPing (); vėlavimas (100); }
void loop () {
int atstumasR = 0; int atstumasL = 0; vėlavimas (40);
if (atstumas <= 15) {moveStop (); vėlavimas (100); Judėk atgal(); vėlavimas (300); moveStop (); vėlavimas (200); atstumasR = lookRight (); vėlavimas (200); atstumasL = lookLeft (); vėlavimas (200);
jei (atstumasR> = atstumasL) {
Pasukite į dešinę(); moveStop (); } else {turnLeft (); moveStop (); }} else {moveForward (); } atstumas = skaitytiPing (); }
int lookRight () {
myservo.write (50); vėlavimas (500); int atstumas = skaitytiPing (); vėlavimas (100); myservo.write (115); grįžimo atstumas; }
int lookLeft () {
myservo.write (170); vėlavimas (500); int atstumas = skaitytiPing (); vėlavimas (100); myservo.write (115); grįžimo atstumas; vėlavimas (100); }
int readPing () {
vėlavimas (70); int cm = sonar.ping_cm (); jei (cm == 0) {cm = 250; } grįžti cm; }
void moveStop () {
motor3.run (RELEASE);
motor4.run (RELEASE); }
void moveForward () {
jei (! eina pirmyn) {
eina pirmyn = tiesa;
motor3.run (į priekį);
motor4.run (į priekį); for (speedSet = 0; speedSet <MAX_SPEED; speedSet += 2) // lėtai didinkite greitį, kad baterijos nebūtų kraunamos per greitai {
motor3.setSpeed (speedSet);
motor4.setSpeed (speedSet); vėlavimas (5); }}}
void moveBackward () {
eina pirmyn = klaidinga;
motor3.run (BACKWARD);
motor4.run (BACKWARD); for (speedSet = 0; speedSet <MAX_SPEED; speedSet += 2) // lėtai didinkite greitį, kad akumuliatoriai nebūtų kraunami per greitai {
motor3.setSpeed (speedSet);
motor4.setSpeed (speedSet); vėlavimas (5); }}
void turnRight () {
motor3.run (į priekį);
motor4.run (BACKWARD); vėlavimas (500);
motor3.run (į priekį);
motor4.run (į priekį); }
void turnLeft () {
motor3.run (BACKWARD);
motor4.run (į priekį); vėlavimas (500);
motor3.run (į priekį);
motor4.run (į priekį); }
1) Atsisiųskite ir įdiekite „Arduino Desktop IDE“
- langai -
- „Mac OS X“-
- „Linux“-
2) Atsisiųskite ir įklijuokite „NewPing“bibliotekos (ultragarso jutiklių funkcijų bibliotekos) failą į „Arduino“bibliotekų aplanką.
- Atsisiųskite „NewPing.rar“žemiau
- Ištraukite jį į kelią - C: / Arduino / bibliotekos
3) Įkelkite kodą į „Arduino“plokštę naudodami USB kabelį
Atsisiuntimo kodas:
4 žingsnis: Puiku
Dabar jūsų robotas yra pasirengęs išvengti bet kokių kliūčių …
Aš mielai atsakysiu į visus jūsų klausimus
Paštas: [email protected]
Svetainė:
Prenumeruokite mano „YouTube“kanalą:
Instagram:
„Facebook“:
Ačiū:)
Rekomenduojamas:
Kaip padaryti kliūtį išvengiant roboto: 6 žingsniai
Kaip padaryti kliūtį išvengiantį robotą: Kliūčių vengimo robotas yra paprastas robotas, kurį valdo arduino, ir tai, ką jis daro, yra tai, kad jis tiesiog vaikšto ir vengia kliūčių. Jis aptinka kliūtis su ultragarso jutikliu HC-SR04, kitaip tariant, jei robotas jaučia arti esantį objektą
Pasidaryk pats „Arduino“kliūtis išvengti automobilio namuose: 5 žingsniai
Pasidaryk pats „Arduino“kliūčių vengiantis automobilis namuose: Šiame straipsnyje aš jums parodysiu, kaip namuose pasidaryti „Arduino“kliūčių vengiantį automobilį
Kaip padaryti kliūtį išvengiant roboto naudojant „Arduino“: 5 žingsniai
Kaip padaryti kliūtį išvengiant roboto naudojant „Arduino“: Šioje pamokoje aš išmokysiu jus, kaip padaryti kliūtį, kad būtų išvengta roboto, kuris dirba su „Arduino“. Jūs turite būti susipažinęs su „Arduino“. „Arduino“yra valdiklio plokštė, kurioje naudojamas „atmega“mikrovaldiklis. Galite naudoti bet kurią „Arduino“versiją, bet aš
KAIP PADARYTI POWER BANK NAMUOSE: pasidaryk pats: 11 žingsnių
KAIP PADARYTI MAITINIMO BANKĄ NAMUOSE: pasidaryk pats: Sveiki, draugas, tai „pasidaryk pats“mobilusis maitinimo bankas. Naudodami šį maitinimo banką galite įkrauti visus mobiliuosius telefonus. Tai tarsi kišeninis maitinimo bankas. Tačiau šiame maitinimo banke galite įkrauti tik 100% mygtukų telefonų bateriją, o ne „Android“telefonų. Tarkime
Kaip namuose padaryti lengvą nuotolinio valdymo automobilį - „pasidaryk pats“belaidis RC automobilis: 7 žingsniai
Kaip lengvai pasigaminti nuotolinio valdymo automobilį namuose - „pasidaryk pats“belaidis RC CAR: Sveiki draugai, šioje instrukcijoje parodysiu, kaip lengvai padaryti nuotoliniu būdu valdomą rc automobilį, tęskite skaitymą …… Tai tikrai šaunus projektas, todėl pabandykite jį sukurti