Satura rādītājs:

Kā padarīt DIY Arduino šķēršļus, lai izvairītos no robota mājās: 4 soļi
Kā padarīt DIY Arduino šķēršļus, lai izvairītos no robota mājās: 4 soļi

Video: Kā padarīt DIY Arduino šķēršļus, lai izvairītos no robota mājās: 4 soļi

Video: Kā padarīt DIY Arduino šķēršļus, lai izvairītos no robota mājās: 4 soļi
Video: GENERADOR AR del año 1940 Dynamotor Generator 2024, Jūlijs
Anonim
Image
Image

Sveiki puiši, šajā pamācībā jūs veiksit šķērsli, izvairoties no robota. Šī pamācība ietver robota izveidi ar ultraskaņas sensoru, kas var noteikt tuvumā esošos objektus un mainīt to virzienu, lai izvairītos no šiem objektiem. Ultraskaņas sensors tiks pievienots servomotorei, kas nepārtraukti skenē pa kreisi un pa labi, meklējot ceļus.

Tātad, bez papildu piepūles, sāksim!

1. darbība. Kas jums nepieciešams šajā projektā:

Kas jums nepieciešams šajā projektā
Kas jums nepieciešams šajā projektā
Kas jums nepieciešams šajā projektā
Kas jums nepieciešams šajā projektā

Šeit ir detaļu saraksts:

1) Arduino Uno

2) Motora vadītāja vairogs

3) Pārnesumu motors, rāmis un riteņu komplekts

4) Servo motors

5) Ultraskaņas sensors

6) Li-ion akumulators (2x)

7) Akumulatora turētājs

8) Vīriešu un sieviešu džemperis

9) Lodāmurs

10) Lādētājs

2. darbība: shēmas shēma

Ķēdes diagramma
Ķēdes diagramma

Darbojas:

Pirms uzsākt darbu pie projekta, ir svarīgi saprast, kā darbojas ultraskaņas sensors. Ultraskaņas sensora darbības princips ir šāds:

Izmantojot ārējo sprūda signālu, ultraskaņas sensora Trig tapa tiek padarīta loģiski augsta vismaz 10 µs. No raidītāja moduļa tiek nosūtīts skaņas pārrāvums. Tas sastāv no 8 impulsiem 40KHz.

Signāli atgriežas pēc atsitiena pret virsmu, un uztvērējs uztver šo signālu. Echo tapa ir augsta no signāla nosūtīšanas un saņemšanas brīža. Šo laiku var pārvērst par attālumu, izmantojot atbilstošus aprēķinus.

Šī projekta mērķis ir īstenot šķēršļus, izvairoties no robota, izmantojot ultraskaņas sensoru un Arduino. Visi savienojumi tiek veikti saskaņā ar shēmu. Projekta darbība ir izskaidrota zemāk.

Kad robots ir ieslēgts, abi robota motori darbosies normāli un robots virzīsies uz priekšu. Šajā laikā ultraskaņas sensors nepārtraukti aprēķina attālumu starp robotu un atstarojošo virsmu.

Šo informāciju apstrādā Arduino. Ja attālums starp robotu un šķērsli ir mazāks par 15 cm, robots apstājas un meklē jaunu attālumu pa kreisi un pa labi, izmantojot servomotoru un ultraskaņas sensoru. Ja attālums pret kreiso pusi ir lielāks nekā labajā pusē, robots gatavojas pagriezienam pa kreisi. Bet vispirms tas nedaudz dublējas un pēc tam aktivizē kreisā riteņa motoru pretējā virzienā.

Līdzīgi, ja pareizais attālums ir lielāks nekā kreisā, robots sagatavo labo pagriezienu. Šis process turpinās mūžīgi, un robots turpina kustēties, netraucējot nevienam šķērslim.

3. darbība: Arduino UNO programmēšana

#iekļaut

#iekļaut

#iekļaut

# definēt TRIG_PIN A1

# definēt ECHO_PIN A0

# definējiet MAX_DISTANCE 200

# define MAX_SPEED 255 // nosaka līdzstrāvas motoru ātrumu

# define MAX_SPEED_OFFSET 20

NewPing hidrolokators (TRIG_PIN, ECHO_PIN, MAX_DISTANCE);

AF_DCMotora motors3 (3, MOTOR34_1KHZ);

AF_DCMotora motors4 (4, MOTOR34_1KHZ); Servo myservo;

Būla iet uz priekšu = nepatiess;

int attālums = 100; int speedSet = 0;

void setup () {

myservo.attach (10);

myservo.write (115); kavēšanās (2000); attālums = lasītPing (); kavēšanās (100); attālums = lasītPing (); kavēšanās (100); attālums = lasītPing (); kavēšanās (100); attālums = lasītPing (); kavēšanās (100); }

void loop () {

int attālumsR = 0; int attālumsL = 0; kavēšanās (40);

ja (attālums <= 15) {moveStop (); kavēšanās (100); moveBackward (); kavēšanās (300); moveStop (); kavēšanās (200); distanceR = lookRight (); kavēšanās (200); distanceL = meklētLeft (); kavēšanās (200);

ja (distanceR> = distanceL) {

nogriezieties pa labi(); moveStop (); } cits {turnLeft (); moveStop (); }} else {moveForward (); } distance = readPing (); }

int lookRight () {

myservo.write (50); kavēšanās (500); int distance = readPing (); kavēšanās (100); myservo.write (115); atgriešanās attālums; }

int lookLeft () {

myservo.write (170); kavēšanās (500); int distance = readPing (); kavēšanās (100); myservo.write (115); atgriešanās attālums; kavēšanās (100); }

int readPing () {

kavēšanās (70); int cm = sonārs.ping_cm (); ja (cm == 0) {cm = 250; } atgriezties cm; }

void moveStop () {

motor3.run (RELEASE);

motor4.run (RELEASE); }

void moveForward () {

ja (! iet uz priekšu) {

iet uz priekšu = taisnība;

motor3.run (uz priekšu);

motor4.run (uz priekšu); for (speedSet = 0; speedSet <MAX_SPEED; speedSet += 2) // lēnām palieliniet ātrumu, lai izvairītos no pārāk ātras akumulatoru uzlādes {

motor3.setSpeed (speedSet);

motor4.setSpeed (speedSet); kavēšanās (5); }}}

void moveBackward () {

iet uz priekšu = nepatiess;

motor3.run (ATPAKAĻ);

motor4.run (ATPAKAĻ); for (speedSet = 0; speedSet <MAX_SPEED; speedSet += 2) // lēnām palieliniet ātrumu, lai izvairītos no pārāk ātras akumulatoru uzlādes {

motor3.setSpeed (speedSet);

motor4.setSpeed (speedSet); kavēšanās (5); }}

void turnRight () {

motor3.run (uz priekšu);

motor4.run (ATPAKAĻ); kavēšanās (500);

motor3.run (uz priekšu);

motor4.run (uz priekšu); }

void turnLeft () {

motor3.run (ATPAKAĻ);

motor4.run (uz priekšu); kavēšanās (500);

motor3.run (uz priekšu);

motor4.run (uz priekšu); }

1) Lejupielādējiet un instalējiet Arduino Desktop IDE

  • logi -
  • Mac OS X -
  • Linux -

2) Lejupielādējiet un ielīmējiet NewPing bibliotēkas (Ultraskaņas sensoru funkciju bibliotēka) failu Arduino bibliotēku mapē.

  1. Lejupielādējiet NewPing.rar zemāk
  2. Izvelciet to ceļā - C: / Arduino / bibliotēkas

3) Augšupielādējiet kodu Arduino panelī, izmantojot USB kabeli

Lejupielādes kods:

4. solis: lieliski

Tagad jūsu robots ir gatavs izvairīties no jebkādiem šķēršļiem …

Es labprāt atbildētu uz visiem jūsu jautājumiem

E -pasts: [email protected]

Vietne:

Abonējiet manu YouTube kanālu:

Instagram:

Facebook:

Paldies:)

Ieteicams: