Kazalo:
- Zaloge
- 1. korak: POVEZAVE
- 2. korak: LEPITE VSE KOMPONENTE NA MESTU
- 3. korak: PROGRAMIRANJE
- 4. korak: UŽIVAJTE !!
Video: Kako narediti pametnega robota z uporabo Arduina: 4 koraki
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:03
zdravo,
Jaz sem izdelovalec arduino in v tej vadnici vam bom pokazal, kako narediti pametnega robota z arduinom
če vam je bila moja vadnica všeč, razmislite o podpori mojemu youtube kanalu z imenom arduino maker
Zaloge
Stvari, ki jih boste potrebovali:
1) arduino uno
2) ultrazvočni senzor
3) Bo motor
4) kolesa
5) sladoledne palčke
6) 9v baterija
1. korak: POVEZAVE
Potem, ko dobite vse zaloge, bi morali začeti povezovati vse stvari v skladu z zgornjo shemo vezja
2. korak: LEPITE VSE KOMPONENTE NA MESTU
V REDU,
zdaj povežite vse stvari, kot je prikazano na zgornji sliki
3. korak: PROGRAMIRANJE
Zdaj,
začnite programirati ploščo s spodnjo kodo
// ARDUINO OBSTACLE IVOID CAR //// Pred nalaganjem kode morate namestiti potrebno knjižnico // // AFMotor Library https://learn.adafruit.com/adafruit-motor-shield/library-install // // Knjižnica NewPing https://github.com/livetronic/Arduino-NewPing// // Servo knjižnica https://github.com/arduino-libraries/Servo.git // // Za namestitev knjižnic pojdite na skico >> Vključi Knjižnica >> Dodaj datoteko. ZIP >> Izberite prenesene datoteke ZIP Z zgornjih povezav //
#vključi
#vključi
#vključi
#define TRIG_PIN A0
#define ECHO_PIN A1 #define MAX_DISTANCE 200
#define MAX_SPEED 150 // nastavi hitrost enosmernih motorjev
#define MAX_SPEED_OFFSET 20
Sonar NewPing (TRIG_PIN, ECHO_PIN, MAX_DISTANCE);
AF_DCMotor motorja1 (1, MOTOR12_1KHZ);
// AF_DCMotor motorja2 (2, MOTOR12_1KHZ); // AF_DCMotor motor3 (3, MOTOR34_1KHZ); AF_DCMotor motorja4 (4, MOTOR34_1KHZ); Servo myservo;
boolean goesForward = false;
int razdalja = 100; int speedSet = 0;
void setup () {
myservo.attach (10);
myservo.write (115); zamuda (1000); distance = readPing (); zamuda (100); distance = readPing (); zamuda (100); distance = readPing (); zamuda (100); distance = readPing (); zamuda (100); }
void loop () {
int razdalja R = 0; int razdaljaL = 0; zamuda (40); if (razdalja <= 15) {moveStop (); zamuda (100); moveBackward (); zamuda (300); moveStop (); zamuda (200); distanceR = lookRight (); zamuda (300); distanceL = lookLeft (); zamuda (300);
če (razdaljaR> = razdaljaL)
{ zavij desno(); moveStop (); } else {turnLeft (); moveStop (); }} else {moveForward (); } distance = readPing (); }
int lookRight ()
{myservo.write (50); zamuda (650); int distance = readPing (); zamuda (100); myservo.write (115); povratna razdalja; }
int lookLeft ()
{myservo.write (170); zamuda (650); int distance = readPing (); zamuda (100); myservo.write (115); povratna razdalja; zamuda (100); }
int readPing () {
zamuda (70); int cm = sonar.ping_cm (); če (cm == 0) {cm = 250; } vrnitev cm; }
void moveStop () {
motor1.run (RELEASE); //motor2.run(RELEASE); //motor3.run(RELEASE); motor4.run (RELEASE); } void moveForward () {
če (! gre naprej)
{goesForward = true; motor1.run (NAPREJ); //motor2.run(FORWARD); //motor3.run(FORWARD); motor4.run (NAPREJ); for (speedSet = 0; speedSet <MAX_SPEED; speedSet += 2) // počasi povečajte hitrost, da se izognete prehitremu nalaganju baterij {motor1.setSpeed (speedSet); //motor2.setSpeed(speedSet); //motor3.setSpeed(speedSet); motor4.setSpeed (speedSet); zamuda (5); }}}
void moveBackward () {
gre naprej = napačno; motor1.run (NAZAD); //motor2.run(BACKWARD); //motor3.run(BACKWARD); motor4.run (NAZAD); for (speedSet = 0; speedSet <MAX_SPEED; speedSet += 2) // počasi povečajte hitrost, da se izognete prehitremu nalaganju baterij {motor1.setSpeed (speedSet); //motor2.setSpeed(speedSet); //motor3.setSpeed(speedSet); motor4.setSpeed (speedSet); zamuda (5); }}
void turnRight () {
motor1.run (NAZAD); //motor2.run(BACKWARD); //motor3.run(FORWARD); motor4.run (NAPREJ); zamuda (350); motor1.run (NAPREJ); //motor2.run(FORWARD); //motor3.run(FORWARD); motor4.run (NAPREJ); } void turnLeft () {motor1.run (NAPREJ); //motor2.run(FORWARD); //motor3.run(BACKWARD); motor4.run (NAZAD); zamuda (350); motor1.run (NAPREJ); //motor2.run(FORWARD); //motor3.run(FORWARD); motor4.run (NAPREJ); }
Priporočena:
Kako narediti zvonec za vrata brez dotika, zaznavanje telesne temperature, GY-906, 433MHz z uporabo Arduina: 3 koraki
Kako narediti zvonec na dotik, zaznavanje telesne temperature, GY-906, 433MHz z uporabo Arduina: Danes bomo izdelali zvonec na dotik, ki bo zaznaval vašo telesno temperaturo. V sedanjih razmerah je zelo pomembno vedeti, ali je telesna temperatura nekoga višja od običajne, ko nekdo koka. Ta projekt bo prikazal rdečo luč, če zazna
Kako narediti analogno uro in digitalno uro z LED trakom z uporabo Arduina: 3 koraki
Kako narediti analogno uro in digitalno uro z LED trakom z uporabo Arduina: Danes bomo izdelali analogno uro & Digitalna ura z Led Stripom in modulom MAX7219 Dot z Arduinom. Popravila bo čas z lokalnim časovnim pasom. Analogna ura lahko uporablja daljši LED trak, zato jo lahko obesite na steno, da postane umetnina
Kako narediti robota, ki se izogne oviram, z uporabo Arduina: 5 korakov
Kako narediti robota, ki se izogiba oviram, z uporabo Arduina: V tem navodilu vas bom naučil, kako narediti robota, ki se izogiba oviram, ki deluje z Arduinom. Morate poznati Arduino. Arduino je krmilna plošča, ki uporablja mikrokrmilnik atmega. Uporabite lahko katero koli različico Arduina, vendar imam
Kako narediti preprost osciloskop z uporabo Arduina: 3 koraki
Kako narediti preprost osciloskop z uporabo Arduina: V tem navodilu boste videli, kako narediti preprost osciloskop z uporabo Arduino uno. Osciloskop je naprava, ki se uporablja za ogled in analizo signalov. Toda naprava je zelo draga. Kot elektronski fant mora včasih analizirati
Kako narediti merilnik VU z uporabo Arduina: 3 koraki (s slikami)
Kako narediti merilnik VU z uporabo Arduina: Merilnik VU je merilnik enote glasnosti (VU) ali standardni indikator glasnosti (SVI) je naprava, ki prikazuje prikaz ravni signala v zvočni opremi. Uporablja se za vizualizacijo analognega signala. Zdaj bom poučil, kako narediti merilnik VU z uporabo