Kazalo:
- 1. korak: Kaj potrebujete pri tem projektu:
- 2. korak: Shema vezja
- 3. korak: Programiranje Arduino UNO
- 4. korak: Odlično
Video: Kako narediti domačega robota, ki se izogiba preprekam Arduino, doma: 4 koraki
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:03
Pozdravljeni fantje, v tem navodilu boste robotu preprečili oviro. Ta Instructable vključuje izdelavo robota z ultrazvočnim senzorjem, ki lahko zazna bližnje predmete in spremeni njihovo smer, da se tem predmetom izogne. Ultrazvočni senzor bo pritrjen na servo motor, ki nenehno skenira levo in desno ter išče predmete na svoji poti.
Torej, brez odlašanja, začnimo!
1. korak: Kaj potrebujete pri tem projektu:
Tu je seznam delov:
1) Arduino Uno
2) Ščit motornega voznika
3) Motor gonila, okvir in komplet koles
4) Servo motor
5) Ultrazvočni senzor
6) Li-ionska baterija (2x)
7) Nosilec baterije
8) Moška in ženska skakalna žica
9) Spajkalnik
10) Polnilnik
2. korak: Shema vezja
Delo:
Preden se lotite projekta, je pomembno razumeti, kako deluje ultrazvočni senzor. Osnovno načelo delovanja ultrazvočnega senzorja je naslednje:
S pomočjo zunanjega sprožilnega signala je sprožilni zatič na ultrazvočnem senzorju logično visok vsaj 10 μs. Iz oddajnega modula se pošlje zvočni signal. Ta je sestavljen iz 8 impulzov po 40KHz.
Signali se po udarcu v površino vrnejo nazaj in sprejemnik zazna ta signal. Echo pin je visok od trenutka pošiljanja signala in njegovega sprejema. Ta čas je mogoče z ustreznimi izračuni pretvoriti v razdaljo.
Cilj tega projekta je z uporabo ultrazvočnega senzorja in Arduina izvesti robota, ki se izogiba oviram. Vse povezave so izvedene v skladu s shemo vezja. Delo projekta je opisano spodaj.
Ko je robot vklopljen, bosta oba motorja normalno delovala in robot se bo pomaknil naprej. V tem času ultrazvočni senzor neprestano izračuna razdaljo med robotom in odsevno površino.
Te podatke obdeluje Arduino. Če je razdalja med robotom in oviro manjša od 15 cm, se robot ustavi in v levi in desni smeri poišče novo razdaljo s pomočjo servo motorja in ultrazvočnega senzorja. Če je razdalja proti levi strani večja od razdalje desne strani, se bo robot pripravil na zavoj v levo. Najprej se nekoliko podpre in nato aktivira motor levega kolesa v obratni smeri.
Podobno, če je desna razdalja večja od leve razdalje, Robot pripravi rotacijo v desno. Ta proces se nadaljuje večno in robot se še naprej premika, ne da bi udaril v kakršno koli oviro.
3. korak: Programiranje Arduino UNO
#vključi
#vključi
#vključi
# definiraj TRIG_PIN A1
# definiraj ECHO_PIN A0
# definiraj MAX_DISTANCE 200
# define MAX_SPEED 255 // nastavi hitrost enosmernih motorjev
# define MAX_SPEED_OFFSET 20
Sonar NewPing (TRIG_PIN, ECHO_PIN, MAX_DISTANCE);
AF_DCMotor motorja3 (3, MOTOR34_1KHZ);
AF_DCMotor motorja4 (4, MOTOR34_1KHZ); Servo myservo;
boolean goesForward = false;
int razdalja = 100; 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 razdalja R = 0; int razdaljaL = 0; zamuda (40);
if (razdalja <= 15) {moveStop (); zamuda (100); moveBackward (); zamuda (300); moveStop (); zamuda (200); distanceR = lookRight (); zamuda (200); distanceL = lookLeft (); zamuda (200);
if (distanceR> = distanceL) {
zavij desno(); moveStop (); } else {turnLeft (); moveStop (); }} else {moveForward (); } distance = readPing (); }
int lookRight () {
myservo.write (50); zamuda (500); int distance = readPing (); zamuda (100); myservo.write (115); povratna razdalja; }
int lookLeft () {
myservo.write (170); zamuda (500); int distance = readPing (); zamuda (100); myservo.write (115); povratna razdalja; zamuda (100); }
int readPing () {
zamuda (70); int cm = sonar.ping_cm (); če (cm == 0) {cm = 250; } vrnitev cm; }
void moveStop () {
motor3.run (RELEASE);
motor4.run (RELEASE); }
void moveForward () {
če (! gre naprej) {
gre naprej = res;
motor3.run (NAPREJ);
motor4.run (NAPREJ); for (speedSet = 0; speedSet <MAX_SPEED; speedSet += 2) // počasi povečajte hitrost, da se izognete prehitremu polnjenju baterij {
motor3.setSpeed (speedSet);
motor4.setSpeed (speedSet); zamuda (5); }}}
void moveBackward () {
gre naprej = napačno;
motor3.run (NAZAD);
motor4.run (NAZAD); for (speedSet = 0; speedSet <MAX_SPEED; speedSet += 2) // počasi povečajte hitrost, da se izognete prehitremu polnjenju baterij {
motor3.setSpeed (speedSet);
motor4.setSpeed (speedSet); zamuda (5); }}
void turnRight () {
motor3.run (NAPREJ);
motor4.run (NAZAD); zamuda (500);
motor3.run (NAPREJ);
motor4.run (NAPREJ); }
void turnLeft () {
motor3.run (NAZAD);
motor4.run (NAPREJ); zamuda (500);
motor3.run (NAPREJ);
motor4.run (NAPREJ); }
1) Prenesite in namestite Arduino Desktop IDE
- windows -
- Mac OS X -
- Linux -
2) Prenesite in prilepite datoteko knjižnice NewPing (knjižnica funkcij ultrazvočnega senzorja) v mapo knjižnic Arduino.
- Spodaj prenesite NewPing.rar
- Izvlecite ga na pot - knjižnice C: / Arduino
3) Prenesite kodo na ploščo Arduino prek kabla USB
Koda za prenos:
4. korak: Odlično
Zdaj je vaš robot pripravljen, da se izogne kakršni koli oviri …
Z veseljem bom odgovoril na vsa vaša vprašanja
Elektronski naslov: [email protected]
Spletno mesto:
Naročite se na moj YouTube kanal:
Instagram:
Facebook:
Hvala vam:)
Priporočena:
Kako narediti domačega robota za nadzor kretenj Arduino doma: 4 koraki
Kako narediti domačega robota za nadzor kretenj Arduino doma: Kako narediti domačega robota za nadzor kretenj Arduino doma. V tem projektu vam bom pokazal, kako narediti ročno izdelanega robota Arduino z gestami
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
Kako narediti robota, ki se izogiba robovom Arduino: 4 koraki
Kako narediti robota, ki se izogiba robovom Arduino: naredimo popolnoma avtonomnega robota s senzorji Arduino in IR. Raziskuje površino mize, ne da bi padel. Za več si oglejte video
Začnite z avtomatizacijo doma: Namestitev domačega pomočnika: 3 koraki
Kako začeti z avtomatizacijo doma: Namestitev domačega pomočnika: Zdaj bomo začeli serijo avtomatizacije doma, kjer bomo ustvarili pameten dom, ki nam bo omogočal nadzor nad stvarmi, kot so luči, zvočniki, senzorji in tako naprej z uporabo osrednjega vozlišča skupaj z glasovni pomočnik. V tem prispevku se bomo naučili, kako
Kako narediti OAWR (hojo, ki se izogiba oviram): 7 korakov (s slikami)
Kako narediti OAWR (hojo, ki se izogiba oviram): Ta navodila kažejo, kako narediti malega hojnega robota, ki se izogiba oviram (podobno kot številne komercialno dostopne možnosti). Toda kaj je zabavno pri nakupu igrače, ko lahko namesto tega začnete z motorjem, listom plastike in kupom vijakov in