Robot Kol Tasarım Projesi

arduino ve pololu maestro servo kontrol kartı arasında seri haberleşme bağlantısı kurmasını bilen var mı? Programlamada sıkıntı yaşıyoruz tx ve rx i birbirine bağlayıp şu kodu yazıyoruz ama hata veriyor include <newsoftserial.h>
define txPin 4
define rxPin 3
NewSoftSerial mySerial(rxPin, txPin);
void setup()
{
mySerial.begin(9600);
delay(1000);
}
void set_target(unsigned char servo, unsigned int target)
{
mySerial.print(0xAA,BYTE); //start byte
mySerial.print(0x0C,BYTE); //device id
mySerial.print(0x04,BYTE); //command number
mySerial.print(servo,BYTE); //servo number
mySerial.print(target & 0x7F, BYTE);
mySerial.print((target >> 7) & 0x7F,BYTE);
}
void loop()
{
delay(1000);
set_target(0, 8000);
delay(1000);
set_target(1, 4000);
delay(1000);
set_target(0, 6000);
delay(1000);
set_target(1, 6000);
delay(1000);
set_target(0, 4000);
delay(1000);
set_target(1, 8000);
}
</newsoftserial.h>

Bunlar maestroya serialdan veri gönderiyor. Peki maestro gelen verilerle ne yapması gerektiğini biliyor mu? Ona kod yazdınız mı? Kod yazmadan sizin gönderdiğiniz verileri işleyebilmesi için önceden yüklenmiş, bu işi yapan bir yazılımı olması lazım değil mi? Hangi kütüphaneyi kullandınız?

NewSoftSerial kullanıyoruz. include dan sonra <newsoftserial.h> var çıkmamış.

include <newsoftserial.h>

define txPin 4
define rxPin 3

NewSoftSerial mySerial(rxPin, txPin);

void setup()
{
mySerial.begin(9600);
delay(1000);
}

void set_target(unsigned char servo, unsigned int target)
{
mySerial.print(0xAA,BYTE);
mySerial.print(0x0C,BYTE);
mySerial.print(0x04,BYTE);
mySerial.print(servo,BYTE);
mySerial.print(target & 0x7F, BYTE);
mySerial.print((target >> 7) & 0x7F,BYTE);
}

void loop()
{
delay(1000);
set_target(0, 8000);
delay(1000);
set_target(1, 4000);
delay(1000);
set_target(0, 6000);
delay(1000);
set_target(1, 6000);
delay(1000);
set_target(0, 4000);
delay(1000);
set_target(1, 8000);
}

ERROR

‘NewSoftSerial’ does not name a type

sketch_dec16a:28: error: ‘NewSoftSerial’ does not name a type
sketch_dec16a.ino: In function ‘void setup()’:
sketch_dec16a:34: error: ‘mySerial’ was not declared in this scope
sketch_dec16a.ino: In function ‘void set_target(unsigned char, unsigned int)’:
sketch_dec16a:42: error: ‘mySerial’ was not declared in this scope
sketch_dec16a:42: error: ‘BYTE’ was not declared in this scope

As of Arduino 1.0, the ‘BYTE’ keyword is no longer supported.
Please use Serial.write() instead.
</newsoftserial.h></newsoftserial.h>

ERROR kısmı kütüphaneyi düzgün yükleyemediğinizi/kullanamadığınızı ve eski versiyon kullandığınızı gösteriyor. 1.0.3 versiyonu çıktı, onu kullanın.

yeni versiyonunu yükledim gene aynı hatayı verdi. http://www.darrenfeetham.com/18ssc.html Bu sayfanın en altındaki örneği yapmaya çalışıyoruz ama hata veriyor.

NewSoftSerial kütüphaneye eklemeden öncede sketchde renkli olarak yazıyordu. internetten kütüphane dosyasını bulup librarynin içine attım ama gene hata veriyor

NewSoftSerial gördüğünüz yerlere SoftwareSerial yazın.

kütüphanenin renkli olarak görünmesi şart mı arduinonun içindeki softwareserial i ekleyince siyah yazıyor çünkü

Önemli değil. S’leri büyük yazın.

@sercanboztas gelişme var mı?

arduinonun eski sürümlerinde kodlar hata vermiyor ama genede servo kontrol kartında ki kırmızı led yanıyor yani servolar hareket etmiyor.