Përmbajtje:

Si të bëni një robot të zgjuar duke përdorur Arduino: 4 hapa
Si të bëni një robot të zgjuar duke përdorur Arduino: 4 hapa

Video: Si të bëni një robot të zgjuar duke përdorur Arduino: 4 hapa

Video: Si të bëni një robot të zgjuar duke përdorur Arduino: 4 hapa
Video: Vetëm 0.1% e njerëzve e dinë këtë: Si mund të ndryshoni kiminë e trurit tuaj dhe të arrini gjithçka? 2024, Nëntor
Anonim
Image
Image

Përshëndetje,

Unë jam krijues arduino dhe në këtë tutorial do t'ju tregoj se si të bëni robot të zgjuar duke përdorur arduino

nëse ju pëlqeu mësimi im, atëherë konsideroni të mbështesni kanalin tim në youtube me emrin krijuesi arduino

Furnizimet

Gjërat që do t'ju duhen:

1) arduino uno

2) sensor tejzanor

3) Bo motor

4) rrota

5) shkopinj akullore

6) bateri 9v

Hapi 1: LIDHJET

Ngjitni të gjithë përbërësit në vend
Ngjitni të gjithë përbërësit në vend

Pas marrjes së të gjitha furnizimeve tani duhet të filloni të lidhni të gjitha gjërat sipas diagramit të qarkut të dhënë më sipër

Hapi 2: Ngjitni të gjithë përbërësit në vend

NE RREGULL,

tani lidhni të gjitha gjërat në vend siç tregohet në foton e mësipërme

Hapi 3: PROGRAMIMI

Tani,

filloni të programoni tabelën me kodin e dhënë më poshtë

// ARDUINO OBSTACLE AVONIMI I MAKINAVE //// Para se të ngarkoni kodin duhet të instaloni bibliotekën e nevojshme // // Biblioteka AFMotor https://learn.adafruit.com/adafruit-motor-shield/library-install // // Biblioteka NewPing https://github.com/livetronic/Arduino-NewPing// // Biblioteka Servo https://github.com/arduino-libraries/Servo.git // // Për të instaluar bibliotekat shkoni te skica >> Përfshi Biblioteka >> Shto skedar. ZIP >> Zgjidh skedarët ZIP të shkarkuar nga lidhjet e mësipërme //

#përfshi

#përfshi

#përfshi

#përcaktoni TRIG_PIN A0

#përcaktoni ECHO_PIN A1 #përcaktoni MAX_DISTANCE 200

#define MAX_SPEED 150 // vendos shpejtësinë e motorëve DC

#përcakto MAX_SPEED_OFFSET 20

Sonar NewPing (TRIG_PIN, ECHO_PIN, MAX_DISTANCE);

AF_DC Motori motor1 (1, MOTOR12_1KHZ);

// AF_DCMotor motor2 (2, MOTOR12_1KHZ); // AF_DCMotor motor3 (3, MOTOR34_1KHZ); AF_DC Motori motor4 (4, MOTOR34_1KHZ); Servo myservo;

boolean shkonPërpara = false;

int distanca = 100; int speedSet = 0;

void setup () {

myservo.tash (10);

myservo.shkruaj (115); vonesa (1000); distanca = lexoPing (); vonesë (100); distanca = lexoPing (); vonesë (100); distanca = lexoPing (); vonesë (100); distanca = lexoPing (); vonesë (100); }

lak void () {

int distancaR = 0; int distancaL = 0; vonesa (40); nëse (distanca <= 15) {moveStop (); vonesë (100); moveBackward (); vonesë (300); moveStop (); vonesë (200); distanceR = lookRight (); vonesë (300); distanceL = lookLeft (); vonesë (300);

nëse (distancaR> = distancaL)

{ Kthehu djathtas(); moveStop (); } else {turnLeft (); moveStop (); }} else {moveForward (); } distance = readPing (); }

int lookRight ()

{myservo.shkruaj (50); vonesë (650); int distance = readPing (); vonesë (100); myservo.shkruaj (115); distanca e kthimit; }

int lookLeft ()

{myservo.write (170); vonesë (650); int distance = readPing (); vonesë (100); myservo.shkruaj (115); distanca e kthimit; vonesë (100); }

int readPing () {

vonesa (70); int cm = sonar.ping_cm (); nëse (cm == 0) {cm = 250; } cm ktheje; }

void moveStop () {

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

nëse (! shkon përpara)

{shkonPërpara = e vërtetë; motor1.run (PARA); //motor2.run(FORWARD); //motor3.run(FORWARD); motor4.run (PARA); për (speedSet = 0; speedSet <MAX_SPEED; speedSet += 2) // ngadalë ngre shpejtësinë për të shmangur ngarkimin e baterive shumë shpejt {motor1.setSpeed (speedSet); //motor2.setSpeed(speedSet); //motor3.setSpeed(speedSet); motor4.setSpeed (speedSet); vonesa (5); }}}

void moveBackward () {

shkon përpara = e rreme; motor1.run (BACKWARD); //motor2.run(BACKWARD); //motor3.run(BACKWARD); motor4.run (BACKWARD); për (speedSet = 0; speedSet <MAX_SPEED; speedSet += 2) // ngadalë ngre shpejtësinë për të shmangur ngarkimin e baterive shumë shpejt {motor1.setSpeed (speedSet); //motor2.setSpeed(speedSet); //motor3.setSpeed(speedSet); motor4.setSpeed (speedSet); vonesa (5); }}

void turnRight () {

motor1.run (BACKWARD); //motor2.run(BACKWARD); //motor3.run(FORWARD); motor4.run (PARA); vonesë (350); motor1.run (PARA); //motor2.run(FORWARD); //motor3.run(FORWARD); motor4.run (PARA); } void turnLeft () {motor1.run (PARA); //motor2.run(FORWARD); //motor3.run(BACKWARD); motor4.run (BACKWARD); vonesë (350); motor1.run (PARA); //motor2.run(FORWARD); //motor3.run(FORWARD); motor4.run (PARA); }

Recommended: