Kazalo:
- Korak: Črna škatla
- 2. korak: Arduino
- Korak: Priključitev Arduina na Blackbox
- 4. korak: Ultrazvočni senzor
- 5. korak: Povezava senzorja na ploščici z Arduinom
- 6. korak: Ščit motorja
- Korak 7: Povežite ščit motorja z Arduinom
- 8. korak: Priključite 4 motorje in baterije na ščit
- 9. korak: Programirajte robota
- Avtor John Day [email protected].
- Public 2024-01-30 12:04.
- Nazadnje spremenjeno 2025-01-23 15:08.
Kako zgraditi robota, ki se izogiba oviram
Korak: Črna škatla
prvi korak sem uporabil črno škatlo kot osnovo za svojega robota.
2. korak: Arduino
Arduino so možgani celotnega sistema in orkestrirajo naše motorje
Korak: Priključitev Arduina na Blackbox
Arduino sem pritrdil na črno škatlo z vročim lepilom
4. korak: Ultrazvočni senzor
Za izdelavo robota, ki se lahko sam premika, potrebujemo nekakšen vhod, senzor, ki ustreza našemu cilju. Ultrazvočni senzor je instrument, ki z ultrazvočnimi zvočnimi valovi meri razdaljo do predmeta. Ultrazvočni senzor uporablja pretvornik za pošiljanje in sprejemanje ultrazvočnih impulzov, ki prenašajo nazaj informacije o bližini predmeta
5. korak: Povezava senzorja na ploščici z Arduinom
Uporabil sem žice za povezovanje povezave med ploščo in arduinom.
Bodite pozorni, da ima lahko vaš ping senzor drugačno razporeditev zatičev, vendar mora imeti napetostni, ozemljitveni, sprožilni in odmevni zatič.
6. korak: Ščit motorja
Arduino plošče ne morejo same krmiliti enosmernih motorjev, ker so tokovi, ki jih ustvarjajo, prenizki. Za rešitev tega problema uporabljamo ščitnike motorjev. Ščit motorja ima 2 kanala, kar omogoča krmiljenje dveh enosmernih motorjev ali 1 koračni motor. … Z naslavljanjem teh zatičev lahko izberete kanal motorja za zagon, določite smer motorja (polarnost), nastavite hitrost motorja (PWM), ustavite in zaženete motor ter spremljate absorpcijo toka vsakega kanala
Korak 7: Povežite ščit motorja z Arduinom
Enostavno pritrdite ščit motorja na arduino z žicami senzorja
8. korak: Priključite 4 motorje in baterije na ščit
Vsak motorni ščit ima (vsaj) dva kanala, enega za motorje in enega za vir energije, povežite ju med seboj
9. korak: Programirajte robota
zaženite to kodo
#include #include
Sonar NewPing (TRIG_PIN, ECHO_PIN, MAX_DISTANCE);
AF_DCMotor motorja1 (1, MOTOR12_1KHZ); AF_DCMotor motorja2 (2, MOTOR12_1KHZ); AF_DCMotor motorja3 (3, MOTOR34_1KHZ); AF_DCMotor motorja4 (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
boolean goesForward = false; int razdalja = 80; int speedSet = 0;
void setup () {
myservo.attach (10); myservo.write (115); zamuda (2000); distance = readPing (); zamuda (100); distance = readPing (); zamuda (100); distance = readPing (); zamuda (100); distance = readPing (); zamuda (100); }
void loop () {int distanceR = 0; int razdaljaL = 0; zamuda (40); if (razdalja <= 15) {moveStop (); zamuda (50); moveBackward (); zamuda (150); moveStop (); zamuda (100); distanceR = lookRight (); zamuda (100); distanceL = lookLeft (); zamuda (100);
if (distanceR> = distanceL) {turnRight (); moveStop (); } else {turnLeft (); moveStop (); }} else {moveForward (); } distance = readPing (); }
int lookRight () {myservo.write (50); zamuda (250); int distance = readPing (); zamuda (50); myservo.write (100); povratna razdalja; }
int lookLeft () {myservo.write (120); zamuda (300); int distance = readPing (); zamuda (100); myservo.write (115); povratna razdalja; zamuda (100); }
int readPing () {zakasnitev (70); int cm = sonar.ping_cm (); če (cm == 0) {cm = 200; } vrnitev cm; }
void moveStop () {motor1.run (RELEASE); motor2.run (RELEASE); motor3.run (RELEASE); motor4.run (RELEASE); } void moveForward () {
if (! goesForward) {goesForward = true; motor1.run (NAPREJ); motor2.run (NAPREJ); motor3.run (NAPREJ); motor4.run (NAPREJ); for (speedSet = 0; speedSet <MAX_SPEED; speedSet += 2) {motor1.setSpeed (speedSet); motor2.setSpeed (speedSet); motor3.setSpeed (speedSet); motor4.setSpeed (speedSet); zamuda (5); }}}
void moveBackward () {goesForward = false; motor1.run (NAZAD); motor2.run (NAZAD); motor3.run (NAZAD); motor4.run (NAZAD); for (speedSet = 0; speedSet <MAX_SPEED; speedSet += 2) {motor1.setSpeed (speedSet); motor2.setSpeed (speedSet); motor3.setSpeed (speedSet); motor4.setSpeed (speedSet); zamuda (5); } void turnLeft () {motor1.run (NAZAJ); motor2.run (NAZAD); motor3.run (NAPREJ); motor4.run (NAPREJ); zamuda (500); motor1.run (NAPREJ); motor2.run (NAPREJ); motor3.run (NAPREJ); motor4.run (NAPREJ); }
void turnLeft () {motor1.run (NAZAJ); motor2.run (NAZAD); motor3.run (NAPREJ); motor4.run (NAPREJ); zamuda (500); motor1.run (NAPREJ); motor2.run (NAPREJ); motor3.run (NAPREJ); motor4.run (NAPREJ); }
Priporočena:
Veslanje z Arudinom, ki se izogiba oviram: 9 korakov
Veslanje z Arudinom, ki se izogiba oviram: Pozdravljeni prijatelji, v tej vadnici vam bom pokazal, kako narediti veslaški čoln, ki se izogiba oviram. Na to idejo sem prišel, ko sem se sproščal v bližini svojega ribnika in razmišljal o ideji za plastični izziv. Spoznal sem, da bo plastika tukaj zelo
Kako narediti robota, ki se izogiba oviram: 6 korakov
Kako narediti robota, ki se izogiba oviram: Robot, ki se izogiba oviram, je preprost robot, ki ga upravlja arduino in kar počne, je, da se samo sprehaja in se izogiba oviram. Ovire zazna z ultrazvočnim senzorjem HC-SR04, z drugimi besedami, če robot zazna predmet blizu
Robot, ki se izogiba oviram: 5 korakov
Robot za izogibanje oviram: V robotiki je izogibanje oviram naloga izpolnjevanja določenega nadzornega cilja, ki je podvržen omejitvam nekrižanja ali trčenja. Ima sonarni senzor, ki se uporablja za zaznavanje ovir, ki prihajajo med potjo robota.
Domači avtomobil, ki se izogiba oviram, naredi Arduino: 5 korakov
Doma naredi avtomobil, ki se izogiba oviram, v tem članku vam bom pokazal, kako narediti avtomobil, ki se izogiba oviram Arduino doma
Arduino avtomobil na motorni pogon, ki se izogiba oviram: 7 korakov
Arduino avtomobil na motorni pogon, ki se izogiba oviram: Pozdravljeni! in dobrodošli v vadnici o tem, kako zgraditi avtomobil, ki se izogiba oviram. Začnemo lahko s pridobivanjem materialov, potrebnih za ta projekt, in poskrbimo za zabavo
