Robotistan FeelMotion Araç Devre Şeması

FeelMotion Devre Şemasına uyarak araç yazılımını yazdım hatta RF24 radio(9,10)'u düzeltip 7,8 yaptım. Hala alt tarafta atacağım hata yı alıyorum.

 avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x8a
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x8a
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x8a
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x8a
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x8a
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x8a
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x8a
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x8a
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x8a
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x8a

Kart, işlemci ve port seçenekleri çalışıyor yine de hata alıyorum. Robotistan mağazasında devre şemasının ve yazılımın linki var. Yardımcı olursanız sevinirim.

Merhabalar,
Bilgisayarınızda arduino için driver varmıdır?

Evet driver mevcut sorunu da buldum. Bu sefer yazılımda bir eksik olduğunu fark ettim. Araca lipo pili taktığımda arka tekerler eldivenden komut vermesem biel kendi kendine dönüyor. Ön iki tekerlek ise hiç dönmüyor. Araç komple komutlarıma yanıt vermiyor.
Eldiven’e yüklediğim komut:

#include <SPI.h> //nRF24L01+ ile haberleşmek için kullanılan SPI kütüphanesi
#include <RF24.h> //nRF24L01+ kütüphanesi
#include <Wire.h> //iletişim kütüphanesi
#include <I2Cdev.h> //MPU6050 ile haberleşme kütüphanesi
#include <MPU6050.h> //MPU6050 ana kütüphane

MPU6050 mpu;
int16_t ax, ay, az;
int16_t gx, gy, gz;

 

int data[2]; // X ve Y düzlemi için dizi tanımlama

RF24 radio(7,8);

const uint64_t pipe = 0xE8E8F0F0E1LL; //iletişim adresi


 
void setup(void){
Serial.begin(9600);
Wire.begin();
mpu.initialize(); //MPU başlat
radio.begin(); //nRF24 başlat
radio.openWritingPipe(pipe); //Alıcı adresini kur
}

void loop(void){

mpu.getMotion6(&ax, &ay, &az, &gx, &gy, &gz);

 

data[0] = map(ax, -17000, 17000, 0, 250 ); //X düzleminin verisi (ileri-geri)
data[1] = map(ay, -17000, 17000, 0, 250); //Y düzeleminin verisi (sağ-sol)
radio.write(data, sizeof(data));
}

Araca yüklediğim komut:

#include <SPI.h> //nRF24L01+ ile haberleşmek için kullanılan SPI kütüphanesi
#include <RF24.h> //nRF24L01+ kütüphanesi

//motor enable pinleri
const int enbA = 3;
const int enbB = 5;

//motor pinleri. zıt yöne çevirmek için pin numaralarını değiştirin.
const int IN1 = 4; //Sağ Motor (-)
const int IN2 = 2; //Sağ Motor (+)
const int IN3 = 7; //Sol Motor (+)
const int IN4 = 8; //Sol Motor (-)

// X ve Y düzlemi için dizi tanımlama
int data[2];

//CE ve CSN’nin bağlı olduğu pinler
RF24 radio(7,8);

//iletişim adresi
const uint64_t pipe = 0xE8E8F0F0E1LL;

void setup(){
//motor pinlerini çıkış olarak ayarla
pinMode(enbA, OUTPUT);
pinMode(enbB, OUTPUT);
pinMode(IN1, OUTPUT);
pinMode(IN2, OUTPUT);
pinMode(IN3, OUTPUT);
pinMode(IN4, OUTPUT);

Serial.begin(9600);
radio.begin(); //nRF24 iletişimini başlat
radio.openReadingPipe(1, pipe); //verici adresine ayarla
radio.startListening();
}

void loop(){
if (radio.available()){
radio.read(data, sizeof(data));

if(data[0] > 150){ //ileri
analogWrite(enbA, data[0]);
analogWrite(enbB, data[0]);
digitalWrite(IN1, LOW);
digitalWrite(IN2, HIGH);
digitalWrite(IN3, LOW);
digitalWrite(IN4, HIGH);

}

if(data[0] < 100){ //geri
analogWrite(enbA, data[0]);
analogWrite(enbB, data[0]);
digitalWrite(IN1, HIGH);
digitalWrite(IN2, LOW);
digitalWrite(IN3, HIGH);
digitalWrite(IN4, LOW);
}

if(data[1] > 150){ //sol
analogWrite(enbA, data[1]);
analogWrite(enbB, data[1]);
digitalWrite(IN1, HIGH);
digitalWrite(IN2, LOW);
digitalWrite(IN3, LOW);
digitalWrite(IN4, HIGH);
}

if(data[1] < 100){ //sağ
analogWrite(enbA, data[1]);
analogWrite(enbB, data[1]);
digitalWrite(IN1, LOW);
digitalWrite(IN2, HIGH);
digitalWrite(IN3, HIGH);
digitalWrite(IN4, LOW);
}

if(data[0] > 100 && data[0] < 150 && data[1] > 100 && data[1] < 150){
//arabayı durdur
analogWrite(enbA, 0);
analogWrite(enbB, 0);
}
}
}

https://www.robotistan.com/Data/EditorFiles/rex4.pdf aracın devre şeması bu pdf’in en sonunda yer alıyor.

Merhaba. stk500 karta kod yükleyememe hatası. Genellikle IDE kafayı yiyince bu hatayı veriyor. PC’yi kapatıp açmayı, IDE’yi kaldırıp silmeyi, kütüphanei sürümleri ile oynamayı deneyin en önemlisi araçlar kısmında kartın portun vb. doğru seçildiğine emin olun.

Güncelleme
Sanırsam başka konularda gördüğüm kadarıyla arduinonun kendisi sıkıntılıymış o zaman yenisini almaktan başka çare yok sanırım :slightly_smiling_face: