İçindekiler:

Arduino Kullanarak Akıllı Robot Nasıl Yapılır: 4 Adım
Arduino Kullanarak Akıllı Robot Nasıl Yapılır: 4 Adım

Video: Arduino Kullanarak Akıllı Robot Nasıl Yapılır: 4 Adım

Video: Arduino Kullanarak Akıllı Robot Nasıl Yapılır: 4 Adım
Video: Arduino Nedir? Nasıl Kurulur ve Neler Yapılabilir? #1 2024, Kasım
Anonim
Image
Image

Merhaba,

Ben arduino üreticisiyim ve bu derste size arduino kullanarak nasıl akıllı robot yapılacağını göstereceğim.

Eğitimimi beğendiyseniz, arduino yapımcısı adlı youtube kanalımı desteklemeyi düşünün.

Gereçler

İHTİYACINIZ OLAN ŞEYLER:

1) arduino uno

2) ultrasonik sensör

3) Bo motoru

4) tekerlekler

5) dondurma çubukları

6) 9v pil

Adım 1: BAĞLANTILAR

TÜM BİLEŞENLERİ YERİNE YAPIŞTIRIN
TÜM BİLEŞENLERİ YERİNE YAPIŞTIRIN

Şimdi tüm malzemeleri aldıktan sonra, yukarıda verilen devre şemasına göre her şeyi bağlamaya başlamalısınız.

Adım 2: TÜM BİLEŞENLERİ YERİNE YAPIŞTIRIN

TAMAM,

şimdi yukarıdaki resimde gösterildiği gibi her şeyi yerine bağlayın

Adım 3: PROGRAMLAMA

Şimdi,

kartı aşağıda verilen kodla programlamaya başlayın

//ARDUINO ENGELDEN KAÇINAN ARABA//// Kodu yüklemeden önce gerekli kütüphaneyi kurmalısınız// //AFMotor Kütüphanesi https://learn.adafruit.com/adafruit-motor-shield/library-install // // NewPing Kütüphanesi https://github.com/livetronic/Arduino-NewPing// //Servo Kütüphanesi https://github.com/arduino-libraries/Servo.git // // Kütüphaneleri kurmak için krokiye gidin >> Dahil et Kütüphane >>. ZIP Dosyası Ekle >> İndirilen ZIP dosyalarını Yukarıdaki bağlantılardan seçin //

#Dahil etmek

#Dahil etmek

#Dahil etmek

#define TRIG_PIN A0

#define ECHO_PIN A1 #define MAX_DISTANCE 200

#define MAX_SPEED 150 // DC motorların hızını ayarlar

#define MAX_SPEED_OFFSET 20

NewPing sonar(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); Servo myservo;

boolean gidiyorForward=false;

int mesafe = 100; int hız Kümesi = 0;

geçersiz kurulum() {

myservo.attach(10);

myservo.write(115); gecikme(1000); mesafe = readPing(); gecikme(100); mesafe = readPing(); gecikme(100); mesafe = readPing(); gecikme(100); mesafe = readPing(); gecikme(100); }

boşluk döngüsü () {

int mesafeR = 0; int mesafeL = 0; gecikme(40); if(mesafe<=15) { moveStop(); gecikme(100); Geriye doğru hareket(); gecikme(300); hareketStop(); gecikme(200); mesafeR = bakSağ(); gecikme(300); mesafeL = bakSol(); gecikme(300);

if(mesafeR>=mesafeL)

{ Sağa dönün(); hareketStop(); }else { turnLeft(); hareketStop(); } }else { moveForward(); } mesafe = readPing(); }

int görünümSağ()

{ myservo.write(50); gecikme(650); int mesafe = readPing(); gecikme(100); myservo.write(115); dönüş mesafesi; }

int bakışSol()

{ myservo.write(170); gecikme(650); int mesafe = readPing(); gecikme(100); myservo.write(115); dönüş mesafesi; gecikme(100); }

int readPing() {

gecikme(70); int cm = sonar.ping_cm(); if(cm==0) { cm = 250; } cm'yi döndür; }

geçersiz moveStop() {

motor1.run(ÇALIŞTIR); //motor2.run(ÇALIŞTIR); //motor3.run(ÇALIŞTIR); motor4.run(ÇALIŞTIR); } geçersiz moveForward() {

if(!giderİleri)

{ giderİleri=doğru; motor1.run(İLERİ); //motor2.run(İLERİ); //motor3.run(İLERİ); motor4.run(İLERİ); for (speedSet = 0; speedSet < MAX_SPEED; speedSet +=2) // pillerin çok hızlı dolmasını önlemek için hızı yavaşça artırın { motor1.setSpeed(speedSet); //motor2.setSpeed(speedSet); //motor3.setSpeed(speedSet); motor4.setSpeed(speedSet); gecikme(5); } } }

void moveBackward() {

giderİleri=yanlış; motor1.run(GERİ); //motor2.run(GERİ); //motor3.run(GERİ); motor4.run(GERİ); for (speedSet = 0; speedSet < MAX_SPEED; speedSet +=2) // pillerin çok hızlı dolmasını önlemek için hızı yavaşça artırın { motor1.setSpeed(speedSet); //motor2.setSpeed(speedSet); //motor3.setSpeed(speedSet); motor4.setSpeed(speedSet); gecikme(5); } }

geçersiz dönüşRight() {

motor1.run(GERİ); //motor2.run(GERİ); //motor3.run(İLERİ); motor4.run(İLERİ); gecikme(350); motor1.run(İLERİ); //motor2.run(İLERİ); //motor3.run(İLERİ); motor4.run(İLERİ); } void turnLeft() { motor1.run(İLERİ); //motor2.run(İLERİ); //motor3.run(GERİ); motor4.run(GERİ); gecikme(350); motor1.run(İLERİ); //motor2.run(İLERİ); //motor3.run(İLERİ); motor4.run(İLERİ); }

Önerilen: