dominoFiber     domiRobot     Blog

 
Hoşgeldiniz Ziyaretçi. Lütfen giriş yapın veya kayıt olun.

Kullanıcı adınızı, şifrenizi ve aktif kalma süresini giriniz

Gönderen Konu: Masadan düşmeyen robot  (Okunma sayısı 475 defa)

0 Üye ve 1 Ziyaretçi konuyu incelemekte.

Mayıs 24, 2018, 04:48:48 ÖS
Çevrimdışı Hasan ERTURK
*****
İleti: 98
Profili Görüntüle 
Bu projemizde arduino ve Actobotics ActoBitty 2 alt yapısı ile masadan düşmeden robot yapacağız.

Seviye:
Orta seviye

<a href="http://www.youtube.com/watch?v=UX5XkaqKL90" target="_blank">http://www.youtube.com/watch?v=UX5XkaqKL90</a>
Video 1: Masadan düşmeyen robot


Fotoğraf 1: Masadan düşmeyen robot


Fotoğraf 2: Masadan düşmeyen robot


Fotoğraf 3: Masadan düşmeyen robot


Fotoğraf : Masadan düşmeyen robot

Devre şeması:

Şema 1: Masadan düşmeyen robot frtitzing devre şeması

Malzeme listesi:

Arduino kodu:
Kod: [Seç]
#include <SharpIR.h>
#define IR A0
#define model 430
SharpIR SharpIR(IR, model);
#define CW  0
#define CCW 1
#define MOTOR_A 0
#define MOTOR_B 1
const byte PWMA = 3; 
const byte PWMB = 11;
const byte DIRA = 12;
const byte DIRB = 13;
void setup()
{
 Serial.begin(9600);
 setupArdumoto();
}
void loop()
{
 int mesafe=SharpIR.distance();
 String distance = String(mesafe);
 Serial.print("mesafe = ");
 Serial.print(mesafe);
 Serial.print(" cm");
 Serial.print("\n");
 delay(10);
 if (mesafe < 10){ileri();} else don();
}
void driveArdumoto(byte motor, byte dir, byte spd)
{
  if (motor == MOTOR_A)
  {
    digitalWrite(DIRA, dir);
    analogWrite(PWMA, spd);
  }
  else if (motor == MOTOR_B)
  {
    digitalWrite(DIRB, dir);
    analogWrite(PWMB, spd);
  } 
}
void stopArdumoto(byte motor)
{
  driveArdumoto(motor, 0, 0);
}
void setupArdumoto()
{
  pinMode(PWMA, OUTPUT);
  pinMode(PWMB, OUTPUT);
  pinMode(DIRA, OUTPUT);
  pinMode(DIRB, OUTPUT);
  digitalWrite(PWMA, LOW);
  digitalWrite(PWMB, LOW);
  digitalWrite(DIRA, LOW);
  digitalWrite(DIRB, LOW);
}
void ileri()
{
 driveArdumoto(MOTOR_A, CW, 75); 
 driveArdumoto(MOTOR_B, CW, 75);
}
void don()
{
 driveArdumoto(MOTOR_A, CCW, 75); 
 driveArdumoto(MOTOR_B, CCW, 75);
 delay(750);   
 driveArdumoto(MOTOR_A, CW, 75); 
 driveArdumoto(MOTOR_B, CCW, 75);
 delay(750);
}

İhtiyaç duyulması halinde konuya ait dosyaları blog sitemizden buraya tıklayıp indirebilirsiniz.

« Son Düzenleme: Mayıs 25, 2018, 11:17:58 ÖÖ Gönderen: Hasan ERTURK »