Tartalomjegyzék:

Hogyan készítsünk intelligens robotot az Arduino használatával: 4 lépés
Hogyan készítsünk intelligens robotot az Arduino használatával: 4 lépés

Videó: Hogyan készítsünk intelligens robotot az Arduino használatával: 4 lépés

Videó: Hogyan készítsünk intelligens robotot az Arduino használatával: 4 lépés
Videó: High Density 2022 2024, Július
Anonim
Image
Image

Helló,

Arduino készítő vagyok, és ebben az oktatóanyagban megmutatom, hogyan lehet intelligens robotot készíteni az arduino használatával

ha tetszett az oktatóanyagom, akkor fontold meg az arduino maker nevű youtube csatornám támogatását

Kellékek

DOLGOK, amire szüksége lesz:

1) arduino uno

2) ultrahangos érzékelő

3) Bo motor

4) kerekek

5) fagylaltrúd

6) 9V -os akkumulátor

1. lépés: KAPCSOLATOK

Ragasztja az összes összetevőt a helyén
Ragasztja az összes összetevőt a helyén

Miután beszerezte az összes kelléket, el kell kezdenie összekötni a fenti kapcsolási rajznak megfelelően

2. lépés: Ragassza fel a helyén lévő összes összetevőt

RENDBEN,

most csatlakoztassa az összes dolgot a helyére, ahogy a fenti képen látható

3. lépés: PROGRAMOZÁS

Most,

kezdje el a tábla programozását az alábbi kóddal

// ARDUINO OBSTACLE AVOIDING CAR //// A kód feltöltése előtt telepítenie kell a szükséges könyvtárat // // AFMotor Library https://learn.adafruit.com/adafruit-motor-shield/library-install // // NewPing könyvtár https://github.com/livetronic/Arduino-NewPing// // Servo Library https://github.com/arduino-libraries/Servo.git // // A könyvtárak telepítéséhez menjen a vázlatra >> Tartalmazza Könyvtár >>. ZIP fájl hozzáadása >> Válassza ki a letöltött ZIP fájlokat a fenti hivatkozásokból //

#befoglalni

#befoglalni

#befoglalni

#define TRIG_PIN A0

#define ECHO_PIN A1 #dex MAX_DISTANCE 200

#define MAX_SPEED 150 // az egyenáramú motorok fordulatszámát állítja be

#define MAX_SPEED_OFFSET 20

NewPing szonár (TRIG_PIN, ECHO_PIN, MAX_DISTANCE);

AF_DCMotor motor1 (1, MOTOR12_1KHZ);

// AF_DCMotor motor2 (2, MOTOR12_1KHZ); // AF_DCMotor motor3 (3, MOTOR34_1KHZ); AF_DCMotor motor4 (4, MOTOR34_1KHZ); Szervo myservo;

logikai megyForward = false;

int távolság = 100; int speedSet = 0;

void setup () {

myservo.attach (10);

myservo.write (115); késleltetés (1000); távolság = readPing (); késleltetés (100); távolság = readPing (); késleltetés (100); távolság = readPing (); késleltetés (100); távolság = readPing (); késleltetés (100); }

void loop () {

int távolságR = 0; int távolságL = 0; késleltetés (40); if (távolság <= 15) {moveStop (); késleltetés (100); hátrafelé mozogni(); késleltetés (300); moveStop (); késleltetés (200); távolságR = lookRight (); késleltetés (300); távolságL = lookLeft (); késleltetés (300);

ha (távolságR> = távolságL)

{ jobbra(); moveStop (); } else {turnLeft (); moveStop (); }} else {moveForward (); } távolság = readPing (); }

int lookRight ()

{myservo.write (50); késleltetés (650); int távolság = readPing (); késleltetés (100); myservo.write (115); visszatérési távolság; }

int lookLeft ()

{myservo.write (170); késleltetés (650); int távolság = readPing (); késleltetés (100); myservo.write (115); visszatérési távolság; késleltetés (100); }

int readPing () {

késleltetés (70); int cm = szonár.ping_cm (); ha (cm == 0) {cm = 250; } visszatérés cm; }

void moveStop () {

motor1.run (KIADÁS); //motor2.run(RELEASE); //motor3.run(RELEASE); motor4.run (KIADÁS); } void moveForward () {

ha (! megy előre)

{goForward = igaz; motor1.run (ELŐRE); //motor2.run(FORWARD); //motor3.run(FORWARD); motor4.run (ELŐRE); for (speedSet = 0; speedSet <MAX_SPEED; speedSet += 2) // lassan növelje a sebességet, nehogy túl gyorsan töltse le az elemeket {motor1.setSpeed (speedSet); //motor2.setSpeed(speedSet); //motor3.setSpeed(speedSet); motor4.setSpeed (speedSet); késleltetés (5); }}}

void moveBackward () {

goForward = hamis; motor1.run (VISSZA); //motor2.run(BACKWARD); //motor3.run(BACKWARD); motor4.run (VISSZA); for (speedSet = 0; speedSet <MAX_SPEED; speedSet += 2) // lassan növelje a sebességet, nehogy túl gyorsan töltse le az elemeket {motor1.setSpeed (speedSet); //motor2.setSpeed(speedSet); //motor3.setSpeed(speedSet); motor4.setSpeed (speedSet); késleltetés (5); }}

void turnRight () {

motor1.run (VISSZA); //motor2.run(BACKWARD); //motor3.run(FORWARD); motor4.run (ELŐRE); késleltetés (350); motor1.run (ELŐRE); //motor2.run(FORWARD); //motor3.run(FORWARD); motor4.run (ELŐRE); } void turnLeft () {motor1.run (ELŐRE); //motor2.run(FORWARD); //motor3.run(BACKWARD); motor4.run (VISSZA); késleltetés (350); motor1.run (ELŐRE); //motor2.run(FORWARD); //motor3.run(FORWARD); motor4.run (ELŐRE); }

Ajánlott: