Turinys:
- 1 žingsnis: juoda dėžutė
- 2 žingsnis: „Arduino“
- 3 žingsnis: „Arduino“prijungimas prie „Blackbox“
- 4 žingsnis: ultragarso jutiklis
- 5 žingsnis: „Breadboard“jutiklio prijungimas prie „Arduino“
- 6 žingsnis: variklio skydas
- 7 žingsnis: „Motor Shield“prijungimas prie „Arduino“
- 8 veiksmas: 4 variklių ir akumuliatorių prijungimas prie skydo
- 9 veiksmas: užprogramuokite robotą
Video: Kliūtis išvengti robotų automobilio: 9 žingsniai
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:45
Kaip sukurti kliūtį išvengiant roboto
1 žingsnis: juoda dėžutė
Pirmajame žingsnyje aš naudojau juodą dėžutę kaip savo roboto pagrindą.
2 žingsnis: „Arduino“
„Arduino“yra visos sistemos smegenys ir organizuoja mūsų variklius
3 žingsnis: „Arduino“prijungimas prie „Blackbox“
Arduino pritvirtinau prie juodosios dėžės karštais klijais
4 žingsnis: ultragarso jutiklis
Norint sukurti robotą, kuris galėtų judėti pats, mums reikia tam tikro įvesties, jutiklio, atitinkančio mūsų tikslą. Ultragarsinis jutiklis yra prietaisas, matuojantis atstumą iki objekto, naudojant ultragarso garso bangas. Ultragarso jutiklis naudoja keitiklį siųsti ir gauti ultragarsinius impulsus, kurie perduoda informaciją apie objekto artumą
5 žingsnis: „Breadboard“jutiklio prijungimas prie „Arduino“
Aš naudoju laidus, kad sujungčiau duonos lentą ir „arduino“.
Atkreipkite dėmesį, kad jūsų „ping“jutiklis gali turėti skirtingą kaiščio išdėstymą, tačiau jis turėtų turėti įtampos kaištį, įžeminimo kaištį, trigalį ir aido kaištį.
6 žingsnis: variklio skydas
„Arduino“plokštės negali savarankiškai valdyti nuolatinės srovės variklių, nes jų generuojamos srovės yra per mažos. Norėdami išspręsti šią problemą, naudojame variklio skydus. Variklio skydas turi 2 kanalus, kurie leidžia valdyti du nuolatinės srovės variklius arba 1 žingsninis variklis. … Spręsdami šiuos kaiščius, galite pasirinkti variklio kanalą, kurį norite inicijuoti, nurodyti variklio kryptį (poliškumą), nustatyti variklio greitį (PWM), sustabdyti ir užvesti variklį ir stebėti kiekvieno kanalo srovės absorbciją
7 žingsnis: „Motor Shield“prijungimas prie „Arduino“
Tiesiog pritvirtinkite variklio skydą prie arduino, sulenkę jutiklio laidus
8 veiksmas: 4 variklių ir akumuliatorių prijungimas prie skydo
Kiekvienas variklio skydas turi (bent) du kanalus, vieną varikliams ir vieną maitinimo šaltiniui. Prijunkite juos vienas kito atžvilgiu
9 veiksmas: užprogramuokite robotą
paleiskite šį kodą
#įtraukti #įtraukti
„NewPing“sonaras (TRIG_PIN, ECHO_PIN, MAX_DISTANCE);
AF_DCMotorinis variklis1 (1, MOTOR12_1KHZ); AF_DCMotorinis variklis2 (2, MOTOR12_1KHZ); AF_DCMotorinis variklis3 (3, MOTOR34_1KHZ); AF_DCMotorinis variklis4 (4, MOTOR34_1KHZ); Servo myservo;
#define TRIG_PIN A2 #define ECHO_PIN A3 #define MAX_DISTANCE 150 #define MAX_SPEED 100 #define MAX_SPEED_OFFSET 10
loginis einaForward = false; int atstumas = 80; 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); }
tuštumos kilpa () {int atstumasR = 0; int atstumasL = 0; vėlavimas (40); if (atstumas <= 15) {moveStop (); vėlavimas (50); Judėk atgal(); vėlavimas (150); moveStop (); vėlavimas (100); atstumasR = lookRight (); vėlavimas (100); atstumasL = lookLeft (); vėlavimas (100);
if (distanceR> = atstumasL) {turnRight (); moveStop (); } else {turnLeft (); moveStop (); }} else {moveForward (); } atstumas = skaitytiPing (); }
int lookRight () {myservo.write (50); vėlavimas (250); int atstumas = skaitytiPing (); vėlavimas (50); myservo.write (100); grįžimo atstumas; }
int lookLeft () {myservo.write (120); vėlavimas (300); int atstumas = skaitytiPing (); vėlavimas (100); myservo.write (115); grįžimo atstumas; vėlavimas (100); }
int readPing () {delay (70); int cm = sonar.ping_cm (); jei (cm == 0) {cm = 200; } grįžti cm; }
void moveStop () {motor1.run (RELEASE); motor2.run (RELEASE); motor3.run (RELEASE); motor4.run (RELEASE); } void moveForward () {
jei (! eina pirmyn) {eina pirmyn = tiesa; motor1.run (į priekį); motor2.run (į priekį); motor3.run (į priekį); motor4.run (į priekį); for (speedSet = 0; speedSet <MAX_SPEED; speedSet += 2) {motor1.setSpeed (speedSet); motor2.setSpeed (speedSet); motor3.setSpeed (speedSet); motor4.setSpeed (speedSet); vėlavimas (5); }}}
void moveBackward () {goForward = false; motor1.run (BACKWARD); motor2.run (BACKWARD); motor3.run (BACKWARD); motor4.run (BACKWARD); for (speedSet = 0; speedSet <MAX_SPEED; speedSet += 2) {motor1.setSpeed (speedSet); motor2.setSpeed (speedSet); motor3.setSpeed (speedSet); motor4.setSpeed (speedSet); vėlavimas (5); } void turnLeft () {motor1.run (BACKWARD); motor2.run (BACKWARD); motor3.run (į priekį); motor4.run (į priekį); vėlavimas (500); motor1.run (į priekį); motor2.run (į priekį); motor3.run (į priekį); motor4.run (į priekį); }
void turnLeft () {motor1.run (BACKWARD); motor2.run (BACKWARD); motor3.run (į priekį); motor4.run (į priekį); vėlavimas (500); motor1.run (į priekį); motor2.run (į priekį); motor3.run (į priekį); motor4.run (į priekį); }
Rekomenduojamas:
Kliūtis išvengti LEGO roboto: 8 žingsniai (su nuotraukomis)
Kliūčių vengimas „LEGO Robot“: Mums patinka „LEGO“ir „Crazy Circuits“, todėl norėjome sujungti juos į paprastą ir linksmą robotą, kuris gali išvengti bėgimo į sienas ir kitus objektus. Mes parodysime, kaip mes sukūrėme savo, ir apibūdinsime pagrindus, kurių reikia, kad galėtumėte sukurti savo
Kliūtis išvengti roboto naudojant „Arduino Nano“: 5 žingsniai
Kliūtis išvengti roboto naudojant „Arduino Nano“: Šioje instrukcijoje aprašysiu, kaip galite padaryti kliūtį išvengdami roboto naudodami „Arduino“
Kliūtis išvengti „Rover“su „Dexter“: 4 žingsniai
Kliūčių išvengimas „Rover“su „Dexter“: jei esate naujas „Dexter“bendruomenės narys, žr. Https://www.instructables.com/id/Getting-Started-With-Dexter/ ir ultragarso jutiklis
Debesuotas debesis gydo jus (kliūtis išvengti roboto su surinkimo funkcija): 8 žingsniai
Debesuotas debesis gydo jus (kliūtis išvengti roboto su surinkimo funkcija): nenaudinga mašina - „Arduino“robotas
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į