Sisällysluettelo:

Kuinka tehdä älykäs robotti Arduinolla: 4 vaihetta
Kuinka tehdä älykäs robotti Arduinolla: 4 vaihetta

Video: Kuinka tehdä älykäs robotti Arduinolla: 4 vaihetta

Video: Kuinka tehdä älykäs robotti Arduinolla: 4 vaihetta
Video: MITEN TYTÖT KÄY SALILLA | SKETSI 2024, Marraskuu
Anonim
Image
Image

Hei,

Olen arduino -valmistaja ja tässä opetusohjelmassa aion näyttää sinulle, kuinka tehdä älykäs robotti arduinoa käyttämällä

Jos pidit opetusohjelmastani, harkitse YouTube -kanavani, nimeltään arduino maker, tukemista

Tarvikkeet

TARVITTAVAT ASIAT:

1) arduino uno

2) ultraääni -anturi

3) Bo -moottori

4) pyörät

5) jäätelötikkuja

6) 9V akku

Vaihe 1: LIITÄNNÄT

LIIMAA KAIKKI KOMPONENTIT PAIKALLA
LIIMAA KAIKKI KOMPONENTIT PAIKALLA

Kun olet hankkinut kaikki tarvikkeet nyt, sinun on aloitettava kaikkien asioiden yhdistäminen yllä olevan piirikaavion mukaisesti

Vaihe 2: LIIMAA KAIKKI KOMPONENTIT PAIKALLA

OK,

liitä nyt kaikki asiat paikoilleen yllä olevan kuvan mukaisesti

Vaihe 3: OHJELMOINTI

Nyt,

aloita piirilevyn ohjelmointi alla annetulla koodilla

// ARDUINO OBSTACLE AVOIDING CAR //// Ennen koodin lataamista sinun on asennettava tarvittava kirjasto // // AFMotor Library https://learn.adafruit.com/adafruit-motor-shield/library-install // // NewPing-kirjasto https://github.com/livetronic/Arduino-NewPing// // Servokirjasto https://github.com/arduino-libraries/Servo.git // // Asenna kirjastot siirtymällä luonnokseen >> Sisällytä Kirjasto >> Lisää. ZIP -tiedosto >> Valitse ladatut ZIP -tiedostot yllä olevista linkeistä //

#sisältää

#sisältää

#sisältää

#define TRIG_PIN A0

#define ECHO_PIN A1 #define MAX_DISTANCE 200

#define MAX_SPEED 150 // asettaa tasavirtamoottorien nopeuden

#define MAX_SPEED_OFFSET 20

NewPing -luotain (TRIG_PIN, ECHO_PIN, MAX_DISTANCE);

AF_DCMoottorimoottori1 (1, MOTOR12_1KHZ);

// AF_DCMoottorimoottori2 (2, MOTOR12_1KHZ); // AF_DCMoottorimoottori3 (3, MOTOR34_1KHZ); AF_DCMoottorimoottori4 (4, MOTOR34_1KHZ); Servo myservo;

boolean menee Eteenpäin = false;

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

void setup () {

myservo.attach (10);

myservo.write (115); viive (1000); 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 (300); etäisyysL = lookLeft (); viive (300);

jos (etäisyysR> = etäisyysL)

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

int lookRight ()

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

int lookLeft ()

{myservo.write (170); viive (650); 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 () {

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

jos (! menee eteenpäin)

{menee eteenpäin = totta; motor1.run (ETEENPÄIN); //motor2.run(PYYNTÖ); //motor3.run(FORWARD); motor4.run (eteenpäin); for (speedSet = 0; speedSet <MAX_SPEED; speedSet += 2) // lisää nopeutta hitaasti, jotta akut eivät lataudu liian nopeasti {motor1.setSpeed (speedSet); //motor2.setSpeed(speedSet); //motor3.setSpeed(speedSet); motor4.setSpeed (speedSet); viive (5); }}}

void moveBackward () {

menee eteenpäin = epätosi; motor1.run (TAKAISIN); //motor2.run(BACKWARD); //motor3.run(BACKWARD); motor4.run (TAKAISIN); for (speedSet = 0; speedSet <MAX_SPEED; speedSet += 2) // lisää nopeutta hitaasti, jotta akut eivät lataudu liian nopeasti {motor1.setSpeed (speedSet); //motor2.setSpeed(speedSet); //motor3.setSpeed(speedSet); motor4.setSpeed (speedSet); viive (5); }}

void turnRight () {

motor1.run (TAKAISIN); //motor2.run(BACKWARD); //motor3.run(FORWARD); motor4.run (eteenpäin); viive (350); motor1.run (eteenpäin); //motor2.run(PYYNTÖ); //motor3.run(FORWARD); motor4.run (eteenpäin); } void turnLeft () {motor1.run (FORWARD); //motor2.run(PYYNTÖ); //motor3.run(BACKWARD); motor4.run (TAKAISIN); viive (350); motor1.run (ETEENPÄIN); //motor2.run(PYYNTÖ); //motor3.run(FORWARD); motor4.run (eteenpäin); }

Suositeltava: