Sisällysluettelo:

Kuinka tehdä DIY Arduino -esto robotin välttämiseksi kotona: 4 vaihetta
Kuinka tehdä DIY Arduino -esto robotin välttämiseksi kotona: 4 vaihetta

Video: Kuinka tehdä DIY Arduino -esto robotin välttämiseksi kotona: 4 vaihetta

Video: Kuinka tehdä DIY Arduino -esto robotin välttämiseksi kotona: 4 vaihetta
Video: Amazing DIY Bluetooth Robot Car | Arduino Bluetooth Controlled Car At Home |Arduino UNO, L293D Motor 2024, Heinäkuu
Anonim
Image
Image

Hei kaverit, Tässä ohjeessa teet esteen välttämällä robottia. Tämä Instructable sisältää robotin rakentamisen ultraäänianturilla, joka voi tunnistaa lähellä olevat kohteet ja muuttaa niiden suuntaa välttääkseen nämä kohteet. Ultraääni -anturi kiinnitetään servomoottoriin, joka skannaa jatkuvasti vasemmalle ja oikealle ja etsii esteitä.

Joten, ilman lisäkysymyksiä, aloitetaan!

Vaihe 1: Mitä tarvitset tässä projektissa:

Mitä tarvitset tässä projektissa
Mitä tarvitset tässä projektissa
Mitä tarvitset tässä projektissa
Mitä tarvitset tässä projektissa

Tässä osaluettelo:

1) Arduino Uno

2) Moottorin kuljettajan suojus

3) Vaihdemoottori, runko ja pyörät

4) Servomoottori

5) Ultraääni -anturi

6) Li-ion-akku (2x)

7) Akun pidike

8) Uros- ja naarashyppyjohdin

9) Juotin

10) Laturi

Vaihe 2: Piirikaavio

Piirikaavio
Piirikaavio

Työskentely:

Ennen projektin parissa työskentelyä on tärkeää ymmärtää, miten ultraäänianturi toimii. Ultraääni -anturin toiminnan periaate on seuraava:

Ulkoisen liipaisusignaalin avulla ultraäänianturin Trig -nasta on looginen vähintään 10 µs. Äänipurske lähetinmoduulista lähetetään. Tämä koostuu kahdeksasta 40 kHz: n pulssista.

Signaalit palaavat takaisin osuessaan pintaan ja vastaanotin havaitsee tämän signaalin. Echo -nasta on korkea signaalin lähettämisestä ja vastaanottamisesta lähtien. Tämä aika voidaan muuntaa etäisyydeksi sopivilla laskelmilla.

Tämän projektin tavoitteena on toteuttaa este, joka välttää robotin käyttämällä ultraäänianturia ja Arduinoa. Kaikki liitännät tehdään piirikaavion mukaisesti. Hankkeen toiminta selitetään alla.

Kun robottiin kytketään virta, molemmat robotin moottorit toimivat normaalisti ja robotti siirtyy eteenpäin. Tänä aikana ultraäänianturi laskee jatkuvasti etäisyyden robotin ja heijastavan pinnan välillä.

Arduino käsittelee nämä tiedot. Jos robotin ja esteen välinen etäisyys on alle 15 cm, robotti pysähtyy ja etsii uutta etäisyyttä vasemmalle ja oikealle Servomoottorin ja ultraäänianturin avulla. Jos etäisyys vasemmalle puolelle on suurempi kuin oikealle puolelle, robotti valmistautuu kääntymään vasemmalle. Mutta ensin se varmuuskopioi hieman ja aktivoi sitten vasemman pyörän moottorin päinvastaiseen suuntaan.

Samoin, jos oikea etäisyys on suurempi kuin vasemman matkan, robotti valmistelee oikeaa kiertoa. Tämä prosessi jatkuu ikuisesti ja robotti jatkaa liikkumistaan osumatta esteeseen.

Vaihe 3: Arduino UNO -ohjelmointi

#sisältää

#sisältää

#sisältää

# määritä TRIG_PIN A1

# define ECHO_PIN A0

# määritä MAX_DISTANCE 200

# define MAX_SPEED 255 // asettaa tasavirtamoottoreiden nopeuden

# define MAX_SPEED_OFFSET 20

NewPing -luotain (TRIG_PIN, ECHO_PIN, MAX_DISTANCE);

AF_DCMoottorimoottori3 (3, MOTOR34_1KHZ);

AF_DCMoottorimoottori4 (4, MOTOR34_1KHZ); Servo myservo;

boolean meneeEteenpäin = false;

int etäisyys = 100; int speedSet = 0;

void setup () {

myservo.attach (10);

myservo.write (115); viive (2000); etäisyys = lukuPing (); viive (100); etäisyys = lukuPing (); viive (100); etäisyys = lukuPing (); viive (100); etäisyys = lukuPing (); viive (100); }

void loop () {

int etäisyysR = 0; int etäisyysL = 0; viive (40);

if (etäisyys <= 15) {moveStop (); viive (100); liikkua takaperin(); viive (300); moveStop (); viive (200); etäisyysR = lookRight (); viive (200); etäisyysL = lookLeft (); viive (200);

jos (etäisyysR> = etäisyysL) {

käänny oikealle(); moveStop (); } else {turnLeft (); moveStop (); }} else {moveForward (); } etäisyys = lukuPing (); }

int lookRight () {

myservo.write (50); viive (500); int etäisyys = lukuPing (); viive (100); myservo.write (115); paluumatka; }

int lookLeft () {

myservo.write (170); viive (500); int etäisyys = lukuPing (); viive (100); myservo.write (115); paluumatka; viive (100); }

int readPing () {

viive (70); int cm = kaikuluotain.ping_cm (); jos (cm == 0) {cm = 250; } paluu cm; }

void moveStop () {

motor3.run (RELEASE);

motor4.run (RELEASE); }

void moveForward () {

jos (! menee eteenpäin) {

menee eteenpäin = totta;

motor3.run (ETEENPÄIN);

motor4.run (eteenpäin); for (speedSet = 0; speedSet <MAX_SPEED; speedSet += 2) // lisää nopeutta hitaasti, jotta akut eivät latautuisi liian nopeasti {

motor3.setSpeed (speedSet);

motor4.setSpeed (speedSet); viive (5); }}}

void moveBackward () {

menee eteenpäin = epätosi;

motor3.run (TAKAISIN);

motor4.run (TAKAISIN); for (speedSet = 0; speedSet <MAX_SPEED; speedSet += 2) // lisää nopeutta hitaasti, jotta akut eivät latautuisi liian nopeasti {

motor3.setSpeed (speedSet);

motor4.setSpeed (speedSet); viive (5); }}

void turnRight () {

motor3.run (ETEENPÄIN);

motor4.run (TAKAISIN); viive (500);

motor3.run (ETEENPÄIN);

motor4.run (eteenpäin); }

void turnLeft () {

motor3.run (TAKAISIN);

motor4.run (eteenpäin); viive (500);

motor3.run (ETEENPÄIN);

motor4.run (eteenpäin); }

1) Lataa ja asenna Arduino Desktop IDE

  • ikkunat -
  • Mac OS X -
  • Linux -

2) Lataa ja liitä NewPing -kirjasto (Ultrasonic sensor function library) -tiedosto Arduino -kirjastojen kansioon.

  1. Lataa NewPing.rar alla
  2. Pura se polkuun - C: / Arduino / -kirjastot

3) Lähetä koodi Arduino -kortille USB -kaapelin kautta

Latauskoodi:

Vaihe 4: Hienoa

Nyt robotti on valmis välttämään esteitä…

Vastaan mielelläni kaikkiin kysymyksiisi

Sähköposti: [email protected]

Verkkosivusto:

Tilaa YouTube-kanavani:

Instagram:

Facebook:

Kiitos:)

Suositeltava: