Masadan düşmeyen robot

bolubeyi

Profesyonel Üye
Katılım
27 Eyl 2008
Mesajlar
1,670
Puanları
421
Yaş
54
Konum
Trabzon

Bu projemizde arduino ve Actobotics ActoBitty 2 alt yapısı ile masadan düşmeden robot yapacağız.

DSC01209.png


DSC01210.png


masadan_dusmeyen.png


Malzeme listesi:
Arduino uno
Ardumoto motor shield
Jumper kablo (erkek dişi)
Jumper kablo (erkek erkek)
Actobotics ActoBitty 2
Header seti
Pil
Pil başlığı
GP2Y0A41SK0F Kızılötesi Uzaklık Sensörü 4-30cm

Arduino kodu:
Kod:
#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);
}
 

Forum istatistikleri

Konular
128,184
Mesajlar
915,690
Kullanıcılar
449,956
Son üye
CharmanDear

Yeni konular

Geri
Üst