Engel Algılayan Robot (Arduino obstacle robot)
Kendi Robotunu Yap projelerimizin bu bölümünde uzaktan kumandalı arabayı engele çarpmayan otonom hareket eden robota dönüştüreceğiz.Arabanın kendi devresini sökülerek arduino ile yapacağımız devremizi yerleştireceğiz.Arabanın önüne ultrasonik sensör ve sensörün altına servo motor yerleştireceğiz.Bu sayede robot çevresini tarayarak nesnelere çarpmayacak.
Kullanılan komponentler:
- Arduino Uno
- Uzaktan kumandalı araba
- Motor sürücü kartı
- HC-SR04 Ultrasonik mesafe sensörü
Elektronik Devre Şeması:
Fritzing devre şema dosyası >> engel algılayan robot devresi
Yazılım Kısmı:
Oyuncak araba için kod:
//oyuncak araba içim #include <Servo.h>// servo motor kütüphanesi #include <NewPing.h> //motor pinleri #define OnMotor_sol 9 #define OnMotor_sag 10 #define ArkaMotor_ileri 11 #define ArkaMotor_Geri 12 //sensör pinleri #define USTrigger 6 #define USEcho 7 #define Maksimum_uzaklik 100 Servo servo; //servo motor tanımlama NewPing sonar(USTrigger, USEcho, Maksimum_uzaklik);//ultrasonik sensör tanımlama //kullanılacak eleman tanımı unsigned int uzaklik; unsigned int on_uzaklik; unsigned int sol_uzaklik; unsigned int sag_uzaklik; unsigned int zaman; // program ilk çalıştığında sadece bir kez çalışacak programlar void setup() { //motor çıkışları pinMode(OnMotor_sol, OUTPUT); pinMode(OnMotor_sag, OUTPUT); pinMode(ArkaMotor_ileri, OUTPUT); pinMode(ArkaMotor_Geri, OUTPUT); servo.attach(4); //servo pin tanımı } // sonsuz döngü void loop() { delay(500); servo.write(90); sensor_olcum(); on_uzaklik = uzaklik; if(on_uzaklik > 35 || on_uzaklik == 0) { ileri(); } else { dur(); servo.write(180); delay(500); sensor_olcum(); sol_uzaklik = uzaklik; servo.write(0); delay(500); sensor_olcum(); sag_uzaklik = uzaklik; servo.write(90); delay(500); if(sag_uzaklik <sol_uzaklik) { sag_geri(); delay(500); sol_ileri(); delay(500); ileri(); } else if(sol_uzaklik <sag_uzaklik) { sol_geri(); delay(500); sag_ileri(); delay(500); ileri(); } else { geri(); delay(500); } } } // robotun yön komutları void ileri() { digitalWrite(OnMotor_sag, LOW); digitalWrite(OnMotor_sol, LOW); digitalWrite(ArkaMotor_Geri, LOW); digitalWrite(ArkaMotor_ileri, HIGH); } void geri() { digitalWrite(OnMotor_sag, LOW); digitalWrite(OnMotor_sol, LOW); digitalWrite(ArkaMotor_Geri, HIGH); digitalWrite(ArkaMotor_ileri, LOW); } void sol_ileri() { digitalWrite(OnMotor_sag, LOW); digitalWrite(OnMotor_sol, HIGH); digitalWrite(ArkaMotor_Geri, LOW); digitalWrite(ArkaMotor_ileri, HIGH); } void sol_geri() { digitalWrite(OnMotor_sag, LOW); digitalWrite(OnMotor_sol, HIGH); digitalWrite(ArkaMotor_Geri, HIGH); digitalWrite(ArkaMotor_ileri, LOW); } void sag_ileri() { digitalWrite(OnMotor_sol, LOW); digitalWrite(OnMotor_sag, HIGH); digitalWrite(ArkaMotor_ileri, HIGH); digitalWrite(ArkaMotor_Geri, LOW); } void sag_geri() { digitalWrite(OnMotor_sol, LOW); digitalWrite(OnMotor_sag, HIGH); digitalWrite(ArkaMotor_ileri, LOW); digitalWrite(ArkaMotor_Geri, HIGH); } void dur() { digitalWrite(OnMotor_sag, LOW); digitalWrite(OnMotor_sol, LOW); digitalWrite(ArkaMotor_ileri, LOW); digitalWrite(ArkaMotor_Geri, LOW); } // sensörün mesafe ölçümü void sensor_olcum() { delay(50); zaman = sonar.ping(); uzaklik = zaman / US_ROUNDTRIP_CM; }
Eğer robot kit kullanacaksanız yani 2 tekerlekli kendi ekseninde dönebilen kitler için aşağıdaki yazılımı kullanabilirsiniz.
#include <Servo.h>// servo motor kütüphanesi #include <NewPing.h> //motor pinleri #define SolMotorileri 9 #define SolMotorGeri 10 #define SagMotorileri 11 #define SagMotorGeri 12 //sensör pinleri #define USTrigger 6 #define USEcho 7 #define Maksimum_uzaklik 100 Servo servo; //servo motor tanımlama NewPing sonar(USTrigger, USEcho, Maksimum_uzaklik);//ultrasonik sensör tanımlama //kullanılacak eleman tanımı unsigned int uzaklik; unsigned int on_uzaklik; unsigned int sol_uzaklik; unsigned int sag_uzaklik; unsigned int zaman; // program ilk çalıştığında sadece bir kez çalışacak programlar void setup() { //motor çıkışları pinMode(SolMotorileri, OUTPUT); pinMode(SolMotorGeri, OUTPUT); pinMode(SagMotorileri, OUTPUT); pinMode(SagMotorGeri, OUTPUT); servo.attach(4); //servo pin tanımı } // sonsuz döngü void loop() { delay(500); servo.write(90); sensor_olcum(); on_uzaklik = uzaklik; if(on_uzaklik > 35 || on_uzaklik == 0) { ileri(); } else { dur(); servo.write(180); delay(500); sensor_olcum(); sol_uzaklik = uzaklik; servo.write(0); delay(500); sensor_olcum(); sag_uzaklik = uzaklik; servo.write(90); delay(500); if(sag_uzaklik>sol_uzaklik) { sag(); delay(500); ileri(); } else if(sol_uzaklik >sag_uzaklik) { sol(); delay(500); ileri(); } else { geri(); } } } // robotun yön komutları void ileri() { digitalWrite(SolMotorGeri, LOW); digitalWrite(SolMotorileri, HIGH); digitalWrite(SagMotorGeri, LOW); digitalWrite(SagMotorileri, HIGH); } void geri() { digitalWrite(SolMotorileri, LOW); digitalWrite(SolMotorGeri, HIGH); digitalWrite(SagMotorileri, LOW); digitalWrite(SagMotorGeri, HIGH); } void sol() { digitalWrite(SolMotorileri, LOW); digitalWrite(SolMotorGeri, HIGH); digitalWrite(SagMotorGeri, LOW); digitalWrite(SagMotorileri, HIGH); } void sag() { digitalWrite(SolMotorGeri, LOW); digitalWrite(SolMotorileri, HIGH); digitalWrite(SagMotorileri, LOW); digitalWrite(SagMotorGeri, HIGH); } void dur() { digitalWrite(SolMotorGeri, LOW); digitalWrite(SolMotorileri, LOW); digitalWrite(SagMotorileri, LOW); digitalWrite(SagMotorGeri, LOW); } // sensörün mesafe ölçümü void sensor_olcum() { delay(50); zaman = sonar.ping(); uzaklik = zaman / US_ROUNDTRIP_CM; }
L298N için örnek bağlantıdan diğer bağlantıları aynı şekilde yapabilirsiniz.
L298N Shield için devre şeması:
Fritzing dosyası : Engel Robot Devresi
Bütün yazılımı buradan indirebilirsiniz. >> Engel algılayan robot
Adafruit motor shield Oyuncak araba için arduino kodu
//oyuncak araba için #include <Servo.h>// servo motor kütüphanesi #include <NewPing.h> #include <AFMotor.h> AF_DCMotor direksiyon(1); // direksiyon 1 numaralı motor girişi AF_DCMotor arka_motor(4); // arka motor 4 numaralı motor girişi //sensör pinleri #define USTrigger 6 #define USEcho 7 #define Maksimum_uzaklik 100 int hiz=255; Servo servo; //servo motor tanımlama NewPing sonar(USTrigger, USEcho, Maksimum_uzaklik);//ultrasonik sensör tanımlama //kullanılacak eleman tanımı unsigned int uzaklik; unsigned int on_uzaklik; unsigned int sol_uzaklik; unsigned int sag_uzaklik; unsigned int zaman; // program ilk çalıştığında sadece bir kez çalışacak programlar void setup() { Serial.begin(9600); arka_motor.run(RELEASE); direksiyon.run(RELEASE); arka_motor.setSpeed(hiz); direksiyon.setSpeed(hiz); servo.attach(9); // motor shiel üzerindeki servo pinini kullanın } // sonsuz döngü void loop() { delay(500); servo.write(90); sensor_olcum(); on_uzaklik = uzaklik; if(on_uzaklik < 35 || on_uzaklik == 0) { ileri(); } else { dur(); servo.write(180); delay(500); sensor_olcum(); sol_uzaklik = uzaklik; servo.write(0); delay(500); sensor_olcum(); sag_uzaklik = uzaklik; servo.write(90); delay(500); if(sag_uzaklik <sol_uzaklik) { sag_geri(); delay(500); sol_ileri(); delay(500); ileri(); } else if(sol_uzaklik <sag_uzaklik) { sol_geri(); delay(500); sag_ileri(); delay(500); ileri(); } else { geri(); delay(500); } } } // robotun yön komutları void ileri() { arka_motor.run(FORWARD); direksiyon.run(RELEASE); arka_motor.setSpeed(hiz); direksiyon.setSpeed(hiz); } void geri() { arka_motor.run(BACKWARD); direksiyon.run(RELEASE); arka_motor.setSpeed(hiz); direksiyon.setSpeed(hiz); } void sol_ileri() { arka_motor.run(FORWARD); direksiyon.run(FORWARD); arka_motor.setSpeed(hiz); direksiyon.setSpeed(hiz); } void sol_geri() { arka_motor.run(BACKWARD); direksiyon.run(FORWARD); arka_motor.setSpeed(hiz); direksiyon.setSpeed(hiz); } void sag_ileri() { arka_motor.run(FORWARD); direksiyon.run(BACKWARD); arka_motor.setSpeed(hiz); direksiyon.setSpeed(hiz); } void sag_geri() { arka_motor.run(BACKWARD); direksiyon.run(BACKWARD); arka_motor.setSpeed(hiz); direksiyon.setSpeed(hiz); } void dur() { arka_motor.run(RELEASE); direksiyon.run(RELEASE); arka_motor.setSpeed(hiz); direksiyon.setSpeed(hiz); } // sensörün mesafe ölçümü void sensor_olcum() { delay(50); zaman = sonar.ping(); uzaklik = zaman / US_ROUNDTRIP_CM; }
Adafruit motor shield Robot kit için arduino kodu
//Robot kit için #include <Servo.h>// servo motor kütüphanesi #include <NewPing.h> #include <AFMotor.h> //motor pinleri AF_DCMotor sag_motor(1); // sag_motor 1 numaralı motor girişi AF_DCMotor sol_motor(4); //sol motor 4 numaralı motor girişi //sensör pinleri #define USTrigger 6 #define USEcho 7 #define Maksimum_uzaklik 100 int hiz=255; Servo servo; //servo motor tanımlama NewPing sonar(USTrigger, USEcho, Maksimum_uzaklik);//ultrasonik sensör tanımlama //kullanılacak eleman tanımı unsigned int uzaklik; unsigned int on_uzaklik; unsigned int sol_uzaklik; unsigned int sag_uzaklik; unsigned int zaman; // program ilk çalıştığında sadece bir kez çalışacak programlar void setup() { Serial.begin(9600); sol_motor.run(RELEASE); sag_motor.run(RELEASE); sol_motor.setSpeed(hiz); sag_motor.setSpeed(hiz); servo.attach(9); // motor shiel üzerindeki servo pinini kullanın } // sonsuz döngü void loop() { delay(500); servo.write(90); sensor_olcum(); on_uzaklik = uzaklik; if(on_uzaklik > 35 || on_uzaklik == 0) { ileri(); } else { dur(); servo.write(180); delay(500); sensor_olcum(); sol_uzaklik = uzaklik; servo.write(0); delay(500); sensor_olcum(); sag_uzaklik = uzaklik; servo.write(90); delay(500); if(sag_uzaklik>sol_uzaklik) { sag(); delay(500); ileri(); } else if(sol_uzaklik >sag_uzaklik) { sol(); delay(500); ileri(); } else { geri(); } } } // robotun yön komutları void ileri() { sol_motor.run(FORWARD); sag_motor.run(FORWARD); sol_motor.setSpeed(hiz); sag_motor.setSpeed(hiz); } void geri() { sol_motor.run(BACKWARD); sag_motor.run(BACKWARD); sol_motor.setSpeed(hiz); sag_motor.setSpeed(hiz); } void sol() { sol_motor.run(BACKWARD); sag_motor.run(FORWARD); sol_motor.setSpeed(hiz); sag_motor.setSpeed(hiz); } void sag() { sol_motor.run(FORWARD); sag_motor.run(BACKWARD); sol_motor.setSpeed(hiz); sag_motor.setSpeed(hiz); } void dur() { sol_motor.run(RELEASE); sag_motor.run(RELEASE); sol_motor.setSpeed(hiz); sag_motor.setSpeed(hiz); } // sensörün mesafe ölçümü void sensor_olcum() { delay(50); zaman = sonar.ping(); uzaklik = zaman / US_ROUNDTRIP_CM; }
Yazılımı yükleyerek gerekli bağlantıları yapıyoruz.Engele olan uzaklık mesafesini değiştirebilirsiniz.Kendi robotunuza göre algoritmayı geliştirebilirsiniz.
Kendi Robotunu Yap projelerimizin bu bölümünde engele çarpmayan otonom hareket eden robotumuzu tamamladık.Bir sonraki projede görüşmek üzere…
Merhabalar, uygulamanızı yaptım ama sağ motorum çalışmıyor neden olabilir?
merhaba nasıl çözdünüz acaba. benim de sol motor çalışmıyor
selam abi. Bunun kütüphanesiz hali var mı şu anda ?
Arduino:1.8.2 (Windows 10), Kart:”Arduino/Genuino Uno”
C:\Users\Burak\AppData\Local\Temp\arduino_modified_sketch_118539\grblUpload.ino:10:21: fatal error: NewPing.h: No such file or directory
#include
^
compilation terminated.
exit status 1
Error compiling for board Arduino/Genuino Uno.
This report would have more information with
“Show verbose output during compilation”
option enabled in File -> Preferences.
Her şeyi yaptım ama hep bu uyarıyı veriyor. Kopyalamada bir hata yok kesin eminim.
NewPing.h kütüphanesini yüklemediğinden kaynaklanmış.
tek sensör yerine 3 sensör kullanırsam kodlarda nasıl değişiklik yapmam gerekir.
Diğer iki sensörü de kütüphane fonksiyonu ile pinlerini tanımlayıp başka değişkene mesafe değerini atayabilirsiniz. Yukarıdaki kodda NewPing fonksiyonu ile sonar adında sensör tanımlanmış. Bu şekilde adını ve pin numaralarını farklı yaparak diğer iki sensörü de tanımlayabilirsiniz.
ben yapıyorum ardiuno derleme hatası veriyor yardımcı olun
Kütüphaneleri eklemiş olmanız gerekiyor. Muhtemel hata ondandır.
merhabalar arkadaşlar. Bana engel algılayan robot lazım. Satabilecek olan var mı acaba?
ercannkurtoglu@hotmail.com adresinden mail atabilirsiniz..
Arduino:1.8.4 (Windows 7), Kart:”Arduino/Genuino Uno”
C:\Users\pc e\AppData\Local\Temp\Rar$DIa0.127\robot_kit_engel\robot_kit_engel.ino:3:21: fatal error: NewPing.h: No such file or directory
#include
^
compilation terminated.
exit status 1
Error compiling for board Arduino/Genuino Uno.
This report would have more information with
“Show verbose output during compilation”
option enabled in File -> Preferences.
acil yardım edin lütfen rica ediyorum
Arduino:1.8.1 (Windows 10), Kart:”Arduino/Genuino Uno”
C:\Users\Lenovo\Documents\Arduino\sketch_jul02e\sketch_jul02e.ino:3:21: fatal error: NewPing.h: No such file or directory
#include
^
compilation terminated.
exit status 1
Error compiling for board Arduino/Genuino Uno.
This report would have more information with
“Show verbose output during compilation”
option enabled in File -> Preferences.
DERLEME HATASI VERDİ EKSİKSİZ KOPYALADIĞIMA EMİNİM
oluşan hatada newPing.h dizisini kütüphaneye nasıl ekleyebilirim
tamam ekledim :DDDDDD
engelden kaçan robot 4 tekerlekli olacak acilen yardım edermisiniz
iyi akşamlar hocam ben 4 tekerli kit aldım arduino için. motor sürücü kartım L298N hangi kodları kullanmam gerekir birde hangi devre şeması kullanmalıyım yardım edermisiniz
sezgin abi verdiğin fritzinge gore ultrasonik sensörün vcc pinini servoya gelen 5v pinine , gnd pinini de servonun baglandiginin yanındaki gnd pinine taksam çalışır mı ?
merhaba sezgin abi ben arduinoda yeniyim de
bu projede kutyphaneyi yukledim sonra bu hatayı aldım lütfen ilgilenir mısın e postadan da ulaşabilirsiniz bariskuyas2001@outlook. com
hatayı yazarmısın
Arduino:1.8.1 (Windows 8.1), Kart:”Arduino/Genuino Uno”
engelden_kacan_araba:17: error: expected primary-expression before ‘unsigned’
unsigned int uzaklik;
^
C:UsersCasper PcDesktopengelden_kacan_arabaengelden_kacan_araba.ino: In function ‘void setup()’:
engelden_kacan_araba:26: error: ‘OUTP’ was not declared in this scope
pinMode(OnMotor_sol, OUTP
^
C:UsersCasper PcDesktopengelden_kacan_arabaengelden_kacan_araba.ino: In function ‘void loop()’:
engelden_kacan_araba:37: error: ‘sensor_olcum’ was not declared in this scope
sensor_olcum();
^
engelden_kacan_araba:38: error: ‘uzaklik’ was not declared in this scope
on_uzaklik = uzaklik;
^
engelden_kacan_araba:39: error: ‘on’ was not declared in this scope
if (on_uzaklik > 35 || on
^
engelden_kacan_araba:40: error: expected ‘)’ before ‘{‘ token
{
^
engelden_kacan_araba:78: error: expected primary-expression before ‘}’ token
}
^
C:UsersCasper PcDesktopengelden_kacan_arabaengelden_kacan_araba.ino: In function ‘void ileri()’:
engelden_kacan_araba:84: error: ‘ArkaMotor_Ge’ was not declared in this scope
digitalWrite(ArkaMotor_Ge
^
C:UsersCasper PcDesktopengelden_kacan_arabaengelden_kacan_araba.ino: In function ‘void geri()’:
engelden_kacan_araba:91: error: ‘ArkaMotor_Ge’ was not declared in this scope
digitalWrite(ArkaMotor_Ge
^
C:UsersCasper PcDesktopengelden_kacan_arabaengelden_kacan_araba.ino: In function ‘void sol_ileri()’:
engelden_kacan_araba:98: error: ‘ArkaMotor_Ge’ was not declared in this scope
digitalWrite(ArkaMotor_Ge
^
C:UsersCasper PcDesktopengelden_kacan_arabaengelden_kacan_araba.ino: In function ‘void sol_geri()’:
engelden_kacan_araba:105: error: ‘ArkaMotor_Ge’ was not declared in this scope
digitalWrite(ArkaMotor_Ge
^
C:UsersCasper PcDesktopengelden_kacan_arabaengelden_kacan_araba.ino: In function ‘void sag_ileri()’:
engelden_kacan_araba:112: error: ‘ArkaMotor_il’ was not declared in this scope
digitalWrite(ArkaMotor_il
^
C:UsersCasper PcDesktopengelden_kacan_arabaengelden_kacan_araba.ino: In function ‘void sag_geri()’:
engelden_kacan_araba:119: error: ‘ArkaMotor_il’ was not declared in this scope
digitalWrite(ArkaMotor_il
^
C:UsersCasper PcDesktopengelden_kacan_arabaengelden_kacan_araba.ino: In function ‘void dur()’:
engelden_kacan_araba:126: error: ‘ArkaMotor_il’ was not declared in this scope
digitalWrite(ArkaMotor_il
^
C:UsersCasper PcDesktopengelden_kacan_arabaengelden_kacan_araba.ino: In function ‘void sensor_olcum()’:
engelden_kacan_araba:134: error: ‘uzaklik’ was not declared in this scope
uzaklik = zaman / US_ROUN
^
engelden_kacan_araba:134: error: ‘US_ROUN’ was not declared in this scope
uzaklik = zaman / US_ROUN
^
exit status 1
expected primary-expression before ‘unsigned’
This report would have more information with
“Show verbose output during compilation”
option enabled in File -> Preferences.
internet gitti de hatayı yazamadım kusura bakma
kodu kopyalarken eksik kopyalamışsın . mutemelen bir parantez eksik.
tekrar kopyalayıp demedim yine hata alıyorum Rica etsem bana e postadan .ino dosyasını atar misin
hangisinin kodunu istiyorsun ?
enegel algılayan kumandalı araba versiyonunu videodaki
Buradan indirebilirsiniz. http://www.robimek.com/wp-content/uploads/Engel-alg%C4%B1layan-robot.rar
teşekkürler sezgin abi verdiğin kodu indirip denedim derlemeyi tamamladım şimdi Arduino kart sipariş ettim onu bekliyorum
Kardeş bağlantı şemaları net değil de l298 ve arduino batarya arasındaki bağlantıları net bi şekilde gösterebilirmisin rica etsem
s.a.
projeyi derlerken hata mesajı alıyorum.
“Adafruit motor shield Robot kit için arduino kodu” kullanıyorum
————————————————-
Arduino:1.6.12 (Windows 7), Kart:”Arduino/Genuino Uno”
C:\Users\Murat KILINÇ\Desktop\robo1\robo1.ino: In function ‘void loop()’:
robo1:37: error: ‘sensor_olcum’ was not declared in this scope
robo1:41: error: ‘ileri’ was not declared in this scope
robo1:45: error: ‘dur’ was not declared in this scope
robo1:58: error: ‘sag’ was not declared in this scope
robo1:60: error: ‘ileri’ was not declared in this scope
robo1:64: error: ‘sol’ was not declared in this scope
robo1:66: error: ‘ileri’ was not declared in this scope
robo1:70: error: ‘geri’ was not declared in this scope
exit status 1
‘sensor_olcum’ was not declared in this scope
This report would have more information with
“Show verbose output during compilation”
option enabled in File -> Preferences.
Hata ile ilgili yardım edecek biri varmı?
merhaba murat, kod hatasız derlenmektedir. muhtemelen eksik kopyalamış olabilirsin.
Sezgin Gül Hocam onlarca kez denedim… Kopyalamada hata olduğunu düşünmüyorum.
YARDIM RİCA EDİYORUM…
.ino dosyasını bana muratkilinc@hotmail.com adresinden yollayabilir misiniz.
L298n motor sürücü kartı – 2WD Robot Araba Kit kullanıyorum…
hepsini tekrar kontrol ettim hata yok. mail den de gönderdim kodu.
Probleminiz şimdiye kadar çözülmüştür sanırım ama sonradan bakacakları için;
“hiz ” was not declared in this scope gibi bir hata alıyorsanız void ileri() ve altındaki kısmı void setup() ile void loop() arasına taşıyın.
ileri, sag, sol vs fonksiyonlar tanımlanmadan çalıştırılmaya uğraşıldığı için böyle bir problem çıkıyor.
Aynı hatayı ben de alıyorum.
hocam arduıno kodunu adafruit motor shield ile olan engel algılayan devrede kullanabilirmiyiz bir sıkıntı olurmu ki.Teşekkür ederim.
hocam servosuz yapmaya çalıştım ama olmuyo.kodu servosuz düzenleyebilir misiniz?
Adafruit motor shield Robot kit için arduino kodunu yükleyemiyorum exit hatası diye bir hata veriyor. yardımcı olurmusunuz?
abi rar dosyasını direk kütüphane dosyalarının içine mi atmam gerekiyor
rar dan çıkarıp atmalısın
2. devrenin robot kit yazılımında sag_motor.setSpeed(hız); burada derleme sırasında hata veriyor acil yardım edermisnz
unsigned int uzaklik;
unsigned int on_uzaklik;
unsigned int sol_uzaklik;
unsigned int sag_uzaklik;
unsigned int zaman;
unsigned int hiz; bu satırı yukarı ekledim sorun çözüldü veya proğramda (hız) yazılı yere setSpeed(50); hız yazılı yere 0- 250
arası değerde girilebilir girilen değer motor devrini veriyor
–
Sezgin abi sana emailden ulasmam gerek bir kodun duzeltilmesi gerek acaba yardim edebilirmisin cok hayra girirsin bak bitirme tezim ve kala kaldim bir turlu ilerlemiyo ancak senin ustesinden gelebilecegin bisey
devreyi yaptım hocam şuan sorunsuz çalışıyor. sadece delay’ları 200 yapınca soron cözüldü
hocam devreyi yaptım devre engeli görüyor duruyor servo sağ sol yapıyor ve öyle kalıyor sorun nerede acaba
6v verince sorun çözül dü
hocam iyi geceler devreyi yaptım ama devre randumanlı çalışmıyor.roboot sadece ileri gidiyor.
sensör bozuk olabilir mi.bide tekerleri elimle yarım tur çevirince hareket ediyor.servo sadece arada sola dönüyor
arduino yu9v pil ile motor sürücü dvresini ise 3v pil ile besleme yaptım.Saygılarımla…
motor sürüscüye 3v çok çok azdır. en az 6v vermen lazım.
servo olarakda mg 995kullandım
iyi akşamlar.Hocam l293 d 3v yetermi tekerler yavaş dönüyor.l293d ye en fazla kaç volt verebiliriz?
servo motora da 3v gidiyo 3v servo için yeterli olur mu
l293d 4.5v ile 36v a kadar 600 mah akımı geçmeyecek şekilde besleme yapılır. Sevo motor için çalışma voltajı 4.8v ile 6v arasıdır.
Sezgin bey çalışmamı nihayet bitirdim cevapların için teşekkür ederim seyretmek isteyenler için linkini yazıyorum. iyi çalışmalar dilerim.
https://www.youtube.com/watch?v=Q5ypzMPSuA8
bu şekilde yazdım hep tek sensör çalışyor
// Yazılım Geliştirme By Robimek – 2015
//oyuncak araba içim
#include
NewPing sonar1(3, 4, 100); // Sensor 1:
NewPing sonar2(6, 7, 100); // Sensor 2:
//motor pinleri
#define OnMotor_sol 9
#define OnMotor_sag 10
#define ArkaMotor_ileri 11
#define ArkaMotor_Geri 12
//sensör pinleri
#define USTrigger_pin1_3
#define USEcho_pin1_4
#define USTrigger_pin2_6
#define USEcho_pin2_7
#define Maksimum_uzaklik 100
sezgin bey herşeyi tamamladım servonun kodlarını sildim fakat ikinci sensörün kodunu bir türlü ekleyemedim. yardım edersen sevinirim.
sadece sensör pini tanımlamayla olmaz. tanımladığın ikinci sensörün pinleri ile sensör kütüphanesinde bir ad tanımlayacaksın. birinci sensörün tanımlanan fonksiyonlarında bakıp ikincisini de aynı şekilde tanımla. örneğin;
NewPing sonar(USTrigger, USEcho, Maksimum_uzaklik); bu birinci sensör
NewPing sonar1(Trigger, Echo, Maksimum_uzaklik1); bu da ikinci sensör tanımı olsun.
İkinci sensör tanımında değişkenlerin adı farklı olmalıdır.
yok Sezgin yok ne yaptımsa ikinci sensörü bir türlü çalıştıramadım. dediklerini yaptım ikinci sensöre farklı adlarda NewPing sonar(USTrigger, USEcho, Maksimum_uzaklik); bu birinci sensör
NewPing sonar1(Trigger, Echo, Maksimum_uzaklik1); senin dediğin gibi yaptım ama şu sensör kütüphanesine bir ad tanımlama kısmını beceremedim. bilmemek çok zor arduino bıktı bu gün benden.
böyle bir proje için devre yapmıştım ama devreden vazgeçip arduino kullanmaya karar verdim. elimde servo motor yok iki adet hc-sr04 sensörü aracın sağ ve sol kısmına belirli bir açıyla yerleştirsem mesafe ölçümünü bu şekilde yaptırsam bunun arduino üzerinde bağlantısını hangi pinlerden yapmalıyım ve kodlarda nasıl bir değişiklik yapmam lazım. veya sensör yerine ır led alıcı-verici modül kullanabilirmiyim. cevap yazarsanız sevinirim.
ikinci ultrasonik sensörü de koda eklemen lazım. servo kullanmayacak isen koddan sil ve algoritma kısmında sağ ve sol sensörlerden gelen verileri karşılaştırıp uygun tarafa dönmesini sağla.
sezgin bey cevabın için teşekkürler.bu yaptığım çok orjinal üst kaportası ahşap yürüyen aksamı yine kendi yaptığım dişlilerden ve mekanik parçalardan oluşan bir araba direksiyon kısmı biraz sıkıntılı örneğin sağda engel gördüğü zaman ön motor sola şukadar saniye dön sonra sağa şukadar saniye dön diye komutu nasıl eklerim.
örneğin; önce sağa sonra sola döndürmek için
sag();
delay(gecikme süresini yaz);
sol();
bu şekilde eklersin.
sezgin bey öncelikle cevap yazdığınız için gerçekten teşekkürler.
peki ikinci eklediğim sensör ile yaptığım değişikliklerin kodlarını yazmaya çalıştım.
bu kodlarda hata varmıdır acaba.
// Yazılım Geliştirme By Robimek – 2015
//oyuncak araba içim
#include
//motor pinleri
#define OnMotor_sol 9
#define OnMotor_sag 10
#define ArkaMotor_ileri 11
#define ArkaMotor_Geri 12
//sensör pinleri
#define USTrigger 4
#define USEcho 5
#define USTrigger 6
#define USEcho 7
#define Maksimum_uzaklik 100
NewPing sonar(USTrigger, USEcho, Maksimum_uzaklik);//ultrasonik sensör tanımlama
//kullanılacak eleman tanımı
unsigned int sol_uzaklik;
unsigned int sag_uzaklik;
unsigned int zaman;
// program ilk çalıştığında sadece bir kez çalışacak programlar
void setup()
{
//motor çıkışları
pinMode(OnMotor_sol, OUTPUT);
pinMode(OnMotor_sag, OUTPUT);
pinMode(ArkaMotor_ileri, OUTPUT);
pinMode(ArkaMotor_Geri, OUTPUT);
}
// sonsuz döngü
void loop()
{
delay(500);
sensor_olcum();
sag_uzaklik = sol_uzaklık;
if(sag_uzaklik > 35 || sol_uzaklik > 35 == 0)
{
ileri();
}
else
{
dur();
delay(500);
sensor_olcum();
sol_uzaklik < sag_uzaklık;
delay(500);
sag_uzaklik < sol_uzaklik;
delay(500);
}
if(sag_uzaklık <sol_uzaklık
{
sag();
delay(1500);
geri();
delay(2000);
sol();
delay(1500);
ileri();
}
else if(sol_uzaklık<sag_uzaklık)
{
sol();
delay(1500);
geri();
delay(2000);
sag();
delay(1500)
ileri();
}
// robotun yön komutları
void ileri()
{
digitalWrite(OnMotor_sag, LOW);
digitalWrite(OnMotor_sol, LOW);
digitalWrite(ArkaMotor_Geri, LOW);
digitalWrite(ArkaMotor_ileri, HIGH);
}
void geri()
{
digitalWrite(OnMotor_sag, LOW);
digitalWrite(OnMotor_sol, LOW);
digitalWrite(ArkaMotor_Geri, HIGH);
digitalWrite(ArkaMotor_ileri, LOW);
}
void sol_ileri()
{
digitalWrite(OnMotor_sag, LOW);
digitalWrite(OnMotor_sol, HIGH);
digitalWrite(ArkaMotor_Geri, LOW);
digitalWrite(ArkaMotor_ileri, HIGH);
}
void sol_geri()
{
digitalWrite(OnMotor_sag, LOW);
digitalWrite(OnMotor_sol, HIGH);
digitalWrite(ArkaMotor_Geri, HIGH);
digitalWrite(ArkaMotor_ileri, LOW);
}
void sag_ileri()
{
digitalWrite(OnMotor_sol, LOW);
digitalWrite(OnMotor_sag, HIGH);
digitalWrite(ArkaMotor_ileri, HIGH);
digitalWrite(ArkaMotor_Geri, LOW);
}
void sag_geri()
{
digitalWrite(OnMotor_sol, LOW);
digitalWrite(OnMotor_sag, HIGH);
digitalWrite(ArkaMotor_ileri, LOW);
digitalWrite(ArkaMotor_Geri, HIGH);
}
void dur()
{
digitalWrite(OnMotor_sag, LOW);
digitalWrite(OnMotor_sol, LOW);
digitalWrite(ArkaMotor_ileri, LOW);
digitalWrite(ArkaMotor_Geri, LOW);
}
// sensörün mesafe ölçümü
void sensor_olcum()
{
delay(50);
zaman = sonar.ping();
uzaklik = zaman / US_ROUNDTRIP_CM;
}
sizin yaptığınız gibi bir ahşap araba yaptım direksiyonu ve arka tekerlekler için birer adet motor 6 volt dc redüktörlü motor kullandım. ben devreyi pıc16f628a ve l293d kullanarak yaptım üzerinde iki adet ır led var sizin yazdığınız kodlar tam istediğim gibi ama benim devre farklı olduğu için bu kodlar uyarmı uymaz ise bu aşağıya sıraladıklarımı ccs c kodunda yazmak için yardımcı olabilirmisiniz. teşekkür ederim.
Sağda engel varsa
-Arka motor dur.
-Ön motor sağa 2 saniye dön dur.
-Arka motor 2 saniye geri dön dur.
-Ön motor sola 2 saniye dön dur.
-Arka motor ileri dönmeye devam et.
Solda engel varsa
-Arka motor dur.
-Ön motor sola 2 saniye dön dur.
-Arka motor 2 saniye geri dön dur.
-Ön motor sağa 2 saniye dön dur.
-Arka motor ileri dönmeye devam et.
sağda ve solda engel varsa
-Arka motor dur.
-Ön motor sağa 2 saniye dön dur.
-Arka motor 2 saniye geri dön dur.
-Ön motor 2 saniye sola dön dur.
-Arka motor ileri dönmeye devam et.
döngü bu şeklide devam edecek.
2 saniye süresini örnek olarak yazdım.
Elimde hazırda bulunan 2 motor var.O yüzden 4 motor yerine 2 motor kullanmak istiyorum. Bunu için modda değişiklik yapmam gerekir mi
2 motor kullanabilirsin. kodda zaten 2 motor kontrolü var.
Hayırlı işler Sezgin Bey ben bir şey sormak istiyorum.4 DC motor kullanılarak hazırlanmış engel algılayan robot devresinin kodunu 2 DC motor kullanarak hazırlanmış devrede kullanabilir miyim?(Asıl Devreye bağlı olan 2 DC motor var.Diğer ikisi ise bunlara bağlı.Direk devreye bağlı değiller.Bu direk devreye bağlı olmayan DC motorları çıkartsam ama yine aynı kodu kullansam olmaz mı?
4 motoru bir sürücü ile sürebilirsin. sol 2 motoru bir girişten sağ iki motoru da diğer girişe bağlarsan kodda değişiklik yapmadan sürebilirsin.
Merhaba.Cevaplarınız için teşekkürler. Şu an sensör dışında her şey tam.Hala sensörün neden çalışmadığını bulamadım.
bağlantıları kontrol edin. örnek kodda deneyin. bozulmuş olabilir.
Merhaba.İlk başta ilk gösterilen fritzing şemasına göre devreyi kurdum.(L293D kullanlan şema).Robot kit kuulandım.Ona göre de kod attım.Ama çalışmadı.Motot sürücü gnd si ile arduino gnd sini bağlayın demiştinizMotor sürücüsünün gnd lerinde pilin eksi kutbundan gelen kablolar vardı.Ben de o kablolardan birine arduino gnd sini bağladım.Yine çalışmadı.L298N shıeld şemasına baktım.Orada da arduıno nun 5v sini pile bağlamıştı.Ben de öyle yaptım.Şu an arduınonun ışıkları yanıyor ve tekerleklerden biri ileri diğeri geri gidiyor.Bağlantı yanlış olabilir mi diye kontrol ettim.Bağlantılar ilk şemanın aynısıydı.Bu arada sensörü arduıno ya sadece 6 ve 7. pinlerden bağladım.İlk şemada böyleydi.L298N Shıeld şemasında ise aynı zamanda arduınonun 5v ve gnd kısımlarını da sensöre bağlamıştı?Nasıl yapmalıyım?Acilen yardım edebilir misiniz?
motorlar ileri veya geri fonksiyonlarında zıt yönde hareket ediyorsa sinyal pinlerini ters bağlamışsın. ileri fonksiyonu çalışırken geri dönen motorun sinyal pinlerini ters bağla düzelecektir. ultrasonik pinleri o şekilde. bir de arduinoyu ayrı pille besle.
Adafruit motor shield Robot kit için bağlantı şemasını gösterebilirmisiniz..
l293D kullandım.Devreyi L298N devresine göre yapsam yanlış 0lmaz ,değil mi?
datasheet e göre bağlantısını yaparsın. L298N kodu kullan sorun olmaz.
Merhaba.Yine ben.Motor sürücüsünün gnd sini arduinonun gnd sine bağlayın demiştiniz.Bu fritzing şemasında gösterilmemiş.Bunun gibi başka gerekli olup da gösterilmeyen başka bağlantılar var mı ?
L298N shield devresi kısmında bağlantıların hepsini gösterdim. GND pinleri de bağlı orada.
Merhaba.Cevabınız için teşekkürler.Fakat motor sürücü gnd lerinin 4 ü de pilin eksi kutbuna bağlı.Bunlardan birisini nasıl arduinoya bağlayabilirim?
gndlerin herhangi birine bir kablo daha lehimleyerek arduinoya bağla. ya da direk pilin gnd sinden ek kablo at arduinoya. hepsi aynı şey.
merhaba tesekkurler. islerinizden basarilar dilerim
Merhaba.motor sürücüsünün gnd sini arduinonun gnd sine bağlamalısın demişsiniz. Arduinonun motor sürücüsüne 9,10,11,12 noktalarından bağladım.Arduinonun 1 tane digital pmw de 2 tane de power yerinde olmak üzere 3 gnd si var ama power daki gnd lerden birini servo motora bağladım. 2 gnd kaldı motor sürücüsünü hangisine bağlamaliyim. Ama belirtmek gerekirse motor sürücüsünün boş pini yok.
herhangi bir gnd ye bağlayabilirsin. motor sürücünün tüm gndleri biribirine bağlı olsun. bazı modüllerde içten bağlanmamış oluyor.
Merhaba.Transistörü biraz araştırdım. Motor sürücüsü kullanmak daha kolay göründü.Devreyi l293d kullanarak yaptım.Fakat devre çalışmıyor. Motor sürücünün pinlerine jumper kabloları takdıgımda kablolar tam oturmuyor kendi kendine çıkıyor.Zorla kabloları pinlere tutturdum.Devrenin çalışmaması bundan kaynaklı olabilir mi?
kablolarda temassızlık olabilir. dip soket ile delikli plakete devreyi kurman daha sağlıklı olur. bir de motor sürücünün gnd sini arduinonun gnd sine bağladınız mı. bağlanmamış ise çalışmaz.
Merhaba.Bu robotu motor sürücü kullanmadan yapabilirmiyiz?
sürücü kullanmayacaksınız ayrı transistör ile yapabilirsiniz.
merhaba bu sekilde degerlenmdim. gonderdigin kod. hata. redefintionAF_DCMotor direksiyon.
buradaki kısmı
AF_DCMotor direksiyon(1);
AF_DCMotor arka_motor(2);
bu şekilde yaptim. hata. verdi.
alaha emanet olun.
merhaba. ultrasyon. pin. A.5. ve A.4. bagladim. Sihell motor uzerinde. A.4:A5 pinler oluyor. sizin dediginiz. pinler. 6.ve. 7 . arduino. bagli. motor Sihell arduino. takinca. acikta. anolog. girisler. var.
6. ve 7 pinleri. A.4.A.5. degistirsek olumu. tesekkurler. hayirli. islerdilerim. size. mesaji. icin kusura. bakma.
merhaba. sizin dediginiz. gibi. ayri . ayri. pille. besleme. denedim. gine. olmadi. hic bir motor. calismiyor. motor DC 6 volt. tekerler. sari hazir .almistim. siz, cizgi. izliyen. robota, kulanmisiniz.
aynisi. kulandim. M.1. M.2.M3.M.4. hic bir motor. calismiyor.
nete. bir sheil. motor test. icin bir kod buldum. 2 DC. motor bagladim. calisiyor.
bide. size. hotmail adresimde. size. kod. yolamistim. siz duzeltiniz. Sihell motor surucu. 2.DCmotor.
Ve, servo,calistirdi. bende. anliyamadim. niye calismadi. . engel robotu. video. izledim. aynisini. motor.Sihell. surucu. kulanmisiniz. bende. bilmiyorum. neden. calismiyor. hersey. icin tesekkurler.
allaha. emanet olun. bu konuda. sizi. cok meskul.etim. kusura. bakma.
kod kısmında sorun yok. bağlantılarda sorun olabilir. ultrasonik sensörü doğru bağladınız mı ? Bu kodda sinyal pinler 6 ve 7 numaralı dijital pinler. Eğer yine olmazsa aşağıdaki gibi değiştirin.
AF_DCMotor direksiyon(1, MOTOR12_8KHZ );
AF_DCMotor arka_motor(2, MOTOR12_8KHZ );
buradaki kısmı
AF_DCMotor direksiyon(1);
AF_DCMotor arka_motor(2);
bu şekilde yapın.
merhaba. gonderdiginiz kodu. degerlendim. kod hata yok fakat.Adafruit Motor Shield, arduino. motor surucu. uzerine takili. hic bir motor caliasmadi.sizin. Engel Algılayan Robot (Arduino obstacle robot)
istedigim. video aynisi. calisin. mumkunmu? tek istedigim. sizden bu. normalde. engel robotunuz. L293. ve servo denedim. calisiyor. sorun yok. tek istedigim. sizden. Adafruit motor Shied.arduino? uzeine. takip calismak. robot calisin? hersey icin tessekurler. mesaji. icin kusura bakma. hayirli. isler.
gonderdiginiz. kodlarda. hata yok.
shield de sorun olabilir. motor numaralarını değiştirip öyle deneyin. bir de shield i ayrı besleyin arduino ayrı pille besleyin. tek pil kullanırsanız enerji yetmez.
kusura bakma. unutum. kodu degerlendim. calisti. elin koluna. saglik.
shiel motor surucu. uzerindeki.4.HC-SR04 Ultrasonik mesafe sensörü. A.5.A4. onu ögrenecektim.
normalde. L298. semada. nereye. bagli. oldugunu. soylemisin. sheil motor surucu. pinler. acikta. A.5.Ve A.4. var. bunun icin sizi. rahatsiz. etim. tesekkurler. allaha emanet.olun.
shield üzerinde analog pinler var onlara kablo lehimleyip bağlantı yapabilirsin
merhaba. tesekkur ederim. size kod. indirdim. elin. koluna saglik.
allah. isinizi. rast. getirsin. sorun kalmadi. boll.kazanclar.
https://gist.github.com/Robimek/35c850484231e580222fd7589b7615e6
merhaba. gonderdiginiz. dosya indirmek. icin. hata veriyor.
sitenizdeki. butun dosyalari. indirdim. hata. vermedi.
engel robotun adafruit motor shield için koduna buradan .indirecektim. hata. veriyor.
mumkunmu. hotmail. adresime. gonderme. imkanin. varmi. indirmem. icin siz . nasil. gondermeyi. dusunuyorsa. daha. iyi bilirsiniz. tesekkurler.
buradan indirin >> http://www.robimek.com/wp-content/uploads/af_motor_engel_robot.rar
merhaba . size cok tesekkur. ederim. hayirli isler dilerim . inanki cok sevindim. hersey. gonlunce olsun.
rica ederim . engel robotun adafruit motor shield için koduna buradan bakabilirsiniz.
https://gist.github.com/Robimek/35c850484231e580222fd7589b7615e6
Merhaba.Fen lisesi 3.sınıfa gidiyorum.Proje ödevim robot yapımı.Ben de engel algılayan robotu seçtim.Oyuncak araba yerine robot kiti tekerlekleri ve 6v redüktörlü dc motor kullandım.Pil de 9v.Arduino’yu bilgisayara bağladım ve kodu yükledim.Mavi üzerine”yükleme tamamlanmıştır”yazdı.Ama robot çalışmıyor.Sadece servo motorla motor sürücü ısınıyor.Lütfen acilen yardım eder misiniz?Teşekkürler.
yeterli enerji olmadığından yada yanlış bağlantıdan kaynaklı olabilir.
merhaba. sizden istedigim. Engel Algılayan Robot (Arduino obstacle robot. bu robotunuza.
Shiel motor surucu. bendeki. asynisini. kulanmisiniz. mumkunmu. bende bu sizin robotaki. ayni. sheil. motoru. kulanmak. isterdim. elimde. 2.tane var. yeni. almistim. turkiyeden. sizi sayenizde. bu .cizgi izliyen. Engel. algilayan. robotunuza. kulanmak. istiyorum. mumkunse. gonderdigin. kodlar. hepsi.
calisiyor. Shiel. motor surucu. L293D . sizin bu robotaki. kulanmak. sizden ricam. bu 2 robotunuzun. sizin sayenizde. calistirmak, verdigin bilgilerden. dolayi tessekur.ederim. allaha emanet olun.
boll kazanclar dilerim. sizler. siz cok yardim. seven .kisisiniz. allah. kalbine.göreverir. insallah.size.
hersey. gonlunce. olsu. tek istedigim. sizden. Sheil motor.surucu. calistirmak. sayenizde. mesaji.icin kusura. bakma.
engel robotu da adafruit shield için uyarlayıp eklerim
merhaba. cevap verdigin icin tesekkurler. islerinizden. basarilar dilerim.
allah sizleri. kazadan. beladan. esirgesin. iyi geceler.
Amin. teşekkürler. sizin de işinizde başarılar dilerim. takıldığınız yerlerde sorabilirsiniz. çekinmeyin.
merhaba. bu kod degerlendim. servo devali donuyor. DC motor . az bir sekilde. calisiyor.
// Adafruit Motor shield library
// copyright Adafruit Industries LLC, 2009
// this code is public domain, enjoy!
#include
#include
// DC motor on M2
AF_DCMotor motor(2);
// DC hobby servo
Servo servo1;
// Stepper motor on M3+M4 48 steps per revolution
AF_Stepper stepper(48, 2);
void setup() {
Serial.begin(9600); // set up Serial library at 9600 bps
Serial.println(“Motor party!”);
// turn on servo
servo1.attach(9);
// turn on motor #2
motor.setSpeed(200);
motor.run(RELEASE);
}
int i;
// Test the DC motor, stepper and servo ALL AT ONCE!
void loop() {
motor.run(FORWARD);
for (i=0; i<255; i++) {
servo1.write(i);
motor.setSpeed(i);
stepper.step(1, FORWARD, INTERLEAVE);
delay(3);
}
for (i=255; i!=0; i–) {
servo1.write(i-255);
motor.setSpeed(i);
stepper.step(1, BACKWARD, INTERLEAVE);
delay(3);
}
motor.run(BACKWARD);
for (i=0; i<255; i++) {
servo1.write(i);
motor.setSpeed(i);
delay(3);
stepper.step(1, FORWARD, DOUBLE);
}
for (i=255; i!=0; i–) {
servo1.write(i-255);
motor.setSpeed(i);
stepper.step(1, BACKWARD, DOUBLE);
delay(3);
}
}
bu kod calisti. peki. arduino uzerindeki. Shiel motor surucu. ultrason. sensor. hanki bine baglanacak.
sizin klundiginiz. Oyuncak araba . motor surucu. kulanmisiniz. galiba? bende oyle birsey. sizden istemek. oyuncak. araba. sheiel motor. surucuyle. calistirmak? hersey icin tessekurler.
benim istedigim. sizin bu ultrasyon. ile Sheil. motor surucuyle. calisin. bu konudan. siz daha .iyi bilirsiniz. allaha emanet olun. elin koluna saglik. siz cok tercubelisiniz. inanki.
Ultrasonik sensör pinleri kodda define tanımında echo ve trig olarak belirttim. Oyuncak arabada da aynı motor sürücüsünü kullanabilirsiniz. Fark eden bir şey yok. Sadece kodda yön fonksiyonları değişiyor.
merhaba. kusura. bakma unutum bende motor .shield .surucu var .uzerinde (2 tane. L293D. var.
arduino .takiyorsun. bu robota uyarmi. tesekkurler. allaha emanet olun.
sizdeki Adafruit motor shield onun için buradan kütüphane indirin. >> http://www.robimek.com/wp-content/uploads/AFMOTOR-master.rar
Projede Adafruit motor shield yazan kodları kullanabilirsiniz. Robot kit veya araba hangisini kullanıyorsanız ikisi de var.
merhaba. hayirli islerdilerim size. hersey. icin tesekkurler. Newping Exple. hal etim.
robot kodlar. hepsi calisiyor. sizin sayenizde. sizden ricam. Arduino- surumu. hankisini.
kulaniyorsunuz? gonderseniz. cok sevimnirim. allaha emanet olun. boll kazanclar.dilerim. size.
Rica ederim. ben en son sürüm kullanıyorum. Arduino nun kendi sitesinde download bölümünden indirebilirsiniz. link > arduino.cc/en/Main/Software
merhaba tesekkurler ederim size.. cevap verdigin. icin .siz arduino. programi. hanki surumu. kulaniyorsunuz?gonderseniz. cok sevinirim. bendeki. Arduino .Surumu. Bu. 1.6.5.
hata. Newping Exple.ino 5;21 fatal error. Newping.h: No such file or drectory. Compilation.
terminated: degerleme.S?rasnd hata olustu. umarim. cevap verirsiz
Boll kazanclar dilerim. size. siteniz harika. elin koluna saglik.
allaha emanet olun.
ben 1.6.8 sürümü kullanıyorum. Ama 1.6.5 sürümünde de çalışıyor. Siz muhtemelen yanlış şekilde atıyorsunuz kütüphaneyi. arduinonun kurulu olduğu konumda libraries klasörü içine atmalısınız. Rar dan çıkarıp öyle atın.
merhaba .hayirli islerdilerim.size. Newping. kutuphanesini. indirdim. winarda. cikartipta.
sonra. Newpin. libaries. klasörunun. icine gonderedim. arduino uno . fil. Explemple . orda. Newpin.
basinca. arduino . ekranina. kod geliyor. degerleyince. hata veriyor?
Bu konudan. sizden. cevap bekliyorum. isvecte. elektronikle. ugrasiyorum.
siteniz. harika. verdigin. bilgilerden. dolayi.size. tesekkurler. sizden ricam. kod derleyipte. gonderme. imkanin. varmi. allaha emanet olun. isvecten selamlar
merhaba, öncelikle olumlu yorumlarınız için teşekkürler. Arduinı programın sürümü eski ise hata verebilir. Kodu derleyip göndersem değişen bir şey olmaz. Çünkü siz arduinoya program atarken de derleme işlemi yapıyor. Yani yine hata verir. Bir de hatayı yazar mısınız.
Merhaba,
Arduino Uno üzerinde Adafruit Motor Shield v1.2 ve buna bağlı 2 motor ve servo kullanıyorum.
Servo modeli DGS S05NF STD. USB’den power verince servo 0-175 derece gibi bir dönüş verebiliyor. Ancak sistemi LiPo 7.4V pilden besleyince servo dönüşü 0-95 derece civarında tıkanıyor. Yanlış servo mu aldım, power ile ilgili bir şey mi yapmalıyım tam anlayamadım. Teşekkürler,
servo motora uygun gerilim ve akım vermediğinizden kaynaklanıyor.
Hocam merhaba,
Sanırım “Adafruit motor shield Robot kit için arduino kodu”nda minik bir hata var. Uzaklıkları kontrol eden if koşulu sağ ve sol için aynı olmuş. Küçük – büyük işaretlerinden biri değişecek. Bu arada elinize sağlık, güzel bir proje olmuş.
Evet küçük bir nokta gözden kaçmış. Gerekli düzenleme yapıldı. Teşekkürler.
bu kodlarda diye bişe var arduinoya kod yüklenmiyor.
derlemede hata yok ise arduinoya yüklenmemesi kodla ilgili değil arduinoda sorun olabilir.
merhaba en arduıno ıle rc kumandasını kaybettıgım rc aracımı kontrol etmek istiyorum, fakat aracın motoru 3A akım çekmekte bunu nasıl halledebilirm teşekkürler.
bu projeye göre uyarlayacak isen araba için kodlar mevcut. akım yükseltici kullanarak yapabilirsin. ya da aracın kendi sürücüsünü kullanabilirsin.
Bu kodlar için bana yardımcı olabilir misiniz
buradaki projeye bakabilirsin 3 sensör ile ölçüm yapma kodu var >> http://www.robimek.com/arduino-ile-mobil-park-sensoru-yapimi/
3 sensör kullansam bu kodlar işey yarar mı
bana kod alarak atabilirmisiniz rica etsem nereyi değiştirmem gerekiyor veya
else den sonra dur(); fonksiyonu var . işte oradan sonraki kısımları değiştirmen lazım. ama tavsiyem 3 sensör kullan o zaman robotu döndürmeye gerek kalmaz. sağ ve sol daki sensörler mesafeyi ölçüp en çok mesafe olan tarafa robotu yönlendirirsin.
Hocam Merhabalar. Ben 3 sensör kullanıp önüne engel çıktığında sağa veya sola dönmesini sağlayacak kod yazdım. Ancak ön sensör haricinde sağ ve sol çalışmıyor.Seri port ekranında mesafeleri sıfır okuyor.Bunun sebebi nedir ve düzeltmem için ne yapmam gerekir sizce ?
Her şey için teşekkür ederim fakat benim sensörüm servo motorsuz kodlar yine işey yararmı ben sensörümü breadboard bağladım ordanda arduinodan direk kablo çektim bu kodlar işey yarar mı yaramazsa hangi kodları kullanmam gerekir veya bu kodda nereyi silmem gerekir
servonun amacı sensörü sağa ve sola döndürüp uzaklıkları ölçtürmekti. servo kullanmayıp tek sensör kullandıysan sağa ve sola döndürme işlemini tekerlekler ile sağlaman lazım veya birden fazla sensör kullanıp sağ ve sol mesafelerini ölçmen lazım. Kodda değiştireceğin kısım referans mesafeyi geçtikten sonraki kısım yani ön mesafe referans değeri aştığında motorları sağa ve sola hareket ettirerek etrafındaki boş olan yeri bulmasını sağlayacaksın.
Teşekkürler peki hangi kısımda tanımlayabilirim yani tanımlama kodları değiştireceğim yer neresi
Buradaki kısım ;
#define USTrigger 6
#define USEcho 7
iyi günler.Peki ben mesafe sensöründeki trig ve echo pinilerini arduinodaki istediğim yere takıyım mı yoksa sizin taktığınız gibi arduinoda ki 6 ve 7 dijital pinlerine mi takayım
istediğin pinlere takabilirsin pini tanımlaman yeterli.
hocam bu engelden kaçan robutu step motorla birtürlü yapamadım bana yardımcı olun lütfen proje aldım ama step motorla yapmamı istiyorlar ben kendim yazdığım kodlarla birtürlü mesafr semsörüyle motoru çalıştıramadım bana yardımcı olun hocam
step motor için örneğin
myStepper.setSpeed(50);
myStepper.step(100);
50 hızla 100 adım git tanımı bunu engel görmediği zaman ki yere tanımlayın
engel gördüğünde ise
myStepper.step(0);
engel kısmına bu tanımı yapın yani sıfır adım olduğundan dönmeyecek duracak ve geri gitmesi için de
myStepper.setSpeed(50);
myStepper.step(-100);
50 hızla -100 adım yani ters yön ifadesi olduğundan geri gidecektir.
saolum hocam deniyecegim tsk
Adafruit motor shield Robot kit için arduino kodu
“hiz ” was not declared in this scope bu kodda hata veriyor
tanımlama kısmına bunu yaz >> int hiz = 255; yukarıda da cevap vermiştim aynı soruna.
hocam bn step motorla ultra sonic mesafe sönsörü ile kontrol etmek istiyorum ama bir türlü yapamadım diyelimki motor donuyor sensöre elimi 5 cm yaklastırdımda durup geriye dönmesini istiyorum ama birtürlü başaramadım
4 tekerden ayrı motora sahip kitler için kod nerden bulabilirim?
4 tekerlekli kitlerde sol taraftaki 2 motoru birbirine ve sağ taraftaki diğer iki motoru da birbirine bağlayıp aynı pin üzerinden yönetebilirsin. Bu şekilde yaparsan yukarıdaki kit için yazılı programı kullanabilirsin.
Efendim iyi günler ben kodu yükleyemiyorum hata veriyor “hiz” was not declared bir hata veriyor ne yapmam lazım yardım edermisiniz
Hangi kodda hata veriyor ?
Adafruit motor shield Robot kit için arduino kodu
“hiz ” was not declared in this scope bu kodda hata veriyor
Adafruit motor shield Robot kit için arduino kodu
“hiz ” was not declared in this scope bu kodda hata veriyor yardımcı olurmusunuz lütfen
tanımlama kısmına bunu yaz >> int hiz = 255;
Efendim kodda hata veriyor “hiz ” was not declared in this scope diyor ne yapmam lazım
Efendim iyi günler. Ben bu robottan yapıcam ama adafruit l293d modelini kullıcam hangi kodları kullanabilirim yardımcı olurmusunuz
Adafruit motor shield yazan kodu kullanın
Hocam uğraştım fakat yapamadım. Uzaktan kumanda icin yazılım yollarmisiniz ? Bir de arduniou ya anten i baglayabilirmiyiz? Yoksa oyuncağın kendi motoru ıle mi kontrol etmeye devam etsin ? Oyleyse ardunio sadece mesafe ölçmeye yarayacak gibi oluyor. Saygılar.
şuan vaktim yok uygun vakitte gönderirim. oyuncak arabanın kendi kumandasını da kullanırsın yada telefondan da yönetirsin o sana kalmış. engele çarpmaması için arduinoya motor pinlerini bağlaman gerek. lakin bu otonom kontrol edecek. yani engel olduğunda öncelik arabadaki arduinoda olacak ve motorları durdurup önceden tanımlanan yöne doğru yönelecek.
Manevrasıaz kkalıyor biraz daha fazla geri gelsin istiyorum o sureyi nereden ayarlayabilirim
loop kısmında sol_geri() ve sag_geri() fonksiyonlarının altındaki delay değerini arttır. Az gelmesinin sebebi iki motor da çalıştığı için enerji yarılanıyor ve motorlar yavaş dönüyor
Hocamcevap için tesekkur ederim.sorunu cozdum sesnsor açısı problemmis.robot çalışıyor Ben bu projeyi bitirme odevi iiçin hazırlıyorum hocaya gösterdim dedi ki geri manevra yaparken çok kısa hareket ediyor ( benim arabadan olabilir ) bu sureyi birazuuzatabilir miyim.diyelim ki sola dönecek geri gelme suresini biraz uzatabilirmiyiz.
Hocam bu servo kaç cm mesafeden sonra tarama yapacak onu açık da olsa kapalı da olsa hep tarıyor bende
algoritmada mesafe 35cm den az olunca araba durur ve servo sağa sola döner bu sırada sensör uzaklıkları ölçer ve karşılaştırma yapar hangi taraf çok ise araba o tarafa döner
merabalar engel algılayan robot yapıyorum ama texsas kartı kullanıyorum ve sensörüm görmüyor yardımcı olurmsunuz oyuncak motoru kullandım kodolmuyo paylaştıgnız kodu denıyorum dosya dzini bulunamadı diyor
Texas da programlama farklı aynı kodu kullanamassınız
herşeyi yaptım ama arduino usb güç verdimi sadece ileri geri yapıyor motor sürücüsünden verdimi servo motor yavaş yavaş sağa sola dönüyor sorun nedir acaba
sorunu çözdüm ama ön tekerleri çeviremiyyor motor
enerji sorunu vardır. arduinoyu 9v pil ile girişten besleyin. motor sürücü için de 6v veya 7.2 v pil kullanın. veya servo motorun pin numarasını kodda 9. pin yapın ve shield üzerinde iki servo motor girişinden ilkine takın.
Arduino:1.6.6 (Windows 10), Kart:”Arduino/Genuino Uno”
C:\Program Files (x86)\Arduino\examples\engel_robot_motor_shield\engel_robot_motor_shield.ino:1:21: fatal error: AFMotor.h: No such file or directory
#include
^
compilation terminated.
exit status 1
Derleme sırasında hata oluştu.
Rapor daha fazla veri içermeli
“Derleme sırasında ayrıntılı çıktı göster”
Dosya > Tercihler’de etkinleştirilmiş.
motor sürücü kütüphanesi ekli olmadığından hata alıyorsunuz http://www.robimek.com/wp-content/uploads/AFMOTOR-master.rar buradan indirip kütüphane kısmına ekleyin programı kapatıp tekrar açtıktan sonra sorun ortadan kalkacaktır.
tşkrler
mrb Motor shield programda kontrol ediyoru mama hata veriyor yardımcı olursanız sevinrim
Merhaba sorunu yazarsanız yardımcı olurum
hocam servo 90 derecelikmi 180 derecelikmi?
servo 180 dereceliktir
hocam teşekkürler bilgileriniz için.
sensör servonun üstünemi monta ediliyor?
saga sola dönme işleminide dvredeki motorlarmı saglıyor?
devredeki motorlar robotun arka tekir kımına monta edilicek dimi
evet servonun üzerine sensör monte ediliyor . Dönme işleminde sol ve sağ arka kısımdaki motorlar zıt yönde hareket ederek sağa veya sola hareket etmesi sağlanıyor.
iyi akşamlar. ben bu robotu yapıcam birşeyi anlamadım yukarıdaki resmi proteusta cizsem devre çalışırmı yoksa başka baglantıları varmı.
saygılarımla
çalışır sorun olmaz yalnız arduinoyu da devreye lehinmleyeceksen modelini indirip onun üstünde çiz pinleri denk gelir o zamn
meraba hocam kerime yolladığınız motor shieldli program varya o kit için yazılmış onun oyuncak arabaya uyarlanmışını gönderirmiisiniz
Oyuncak arab için yazılım eklendi
HOCAM RİCA ETSEM KODA DA BAKARMISINIZ KERİM ARKADAŞA GÖNDERMİŞSİNİZ TEŞEKKÜRLER
merhabalar motor shild kullanıyorum hocam ve oyuncak araba üzerine kurulum yaptım arkadaşa afmotorshield li yazılımı göndermişsiniz onu kullandım lakin çalıştıramadım m1 ve m4 ü kullandım ama yazılımda motorlar kit gibi kullanılmış yada ben yanlış anladım hocam oyuncak arabaya uyarlanmış motor shieldli yazılımı paylaşırsanız sevinitim teşekkürler şimdiden iyi çalışmalar
Motor shield için yazılmalar eklendi projeden bakabilirsiniz.
9 voltluk pille besliyorum 7805 i sensörle pilin gnd si ortak sorun olmaz herhalde degil mi hocam.
Motorları ayrı sensörü ayrı beslemende fayda var. 9v luk piller erken bitiyor. Çalıştıramayabilir.
hocam ben entegreyi arduino kart üzerinde programladım. daha sonra entegreyi söküp bord üzerinde kurdum. sensörün graund ucuna direnç bağlamdım.voltaj regülatrü olarak ta 7805 kullandım. şuan sensör çalışmıyor.bozulmuş olabilir mi. seösörün graund bağlantısına direnç mi bağlamak lazımdı acaba
Sensör 5 volt ile çalışmakta ki sizde regülatör kullanmışsınız.Yani sorun yok. Direnç bağlamanıza gerek yok. Entegreyi ayrı kurduğunuz için devrenin beslemelerini tekrar kontrol edin. Özellikle entegrenin beslemelerine bakınız.
merhaba motor shild kullandım gerilimim de yeterli fakat sürekli geri geri geliyor ileri çok nadir gidiyor kerime gönderdiğiniz programı kullandım o motor kit tekerler için olan herhalde hocam ben oyuncak arabanın üzerine kurdum nasıl çözüm bulabilirim yardım edermisiniz .?
oyuncak araba kodu üstte yazıyor. Motorların yönleri ters olabilir tekrar kontrol et
merhabalar hocam. benim sorum şu : uzaktan kumandalı mesafe sensörlü arabayı nasıl yaparız?? örnegın burda sınır uzaklıgı kendımız gırıyoruz. ama beenım ıstedıgım biz kumandadan ileri git desekte orda engel oldugunu anlayacak ve oraya carpmamak için yönünü değiştirecek ? teşşekürler hocam saygılar.
Normal uzaktan kumandalı araba yaparsın.Yazılıma ek olarak bir interput mesafe ölçüm tanımlarsın ki bu ayrı ve sürekli çalışacak kesme tanımlaman olacaktır. Engel algıladığında hemen yön değiştirerek tanımladığın fonksiyonu yapacaktır.
Hocam kolay gelsin..bir sorum olacakti.
Bir tane arduino uno r3 alsam bir tanede atmega 328 entegre alsam arduinonun üzerindeki entegreyi söküp diğer entegreyi taksam taktiğin entegreyi programlanabilir miyim.
Evet Nuri programlayabilirsin.
kolay gelsin bende motor shield ile denediim yapamadım besleme için de 3.7 v 1.1 A kullanıyorum oyuncak araba üzerine kurdum ama çalıştıramadım acil yardım please ..
Shield çalışma voltajı 4.8v 6v arasıdır. 3.7v volt yetersiz olduğundan çalışmamaktadır.
Hocam merhabalar, Arduino uno ile 2 tekerlekli olanı yapmaya çalışıyorum.L298N sürücü kartı kullanıyorum. 3 numaralı portta servo motor,
4-5 de ENA ENB 6,7 Trig-Echo 9,10,11,12 de In1,In2,In3,In4 bağlı kodları atıyorum tek motor çalışmıyor.Diğeride sadece geri gidiyor.Yardımcı olursanız sevinirim.
Söylediğin pinlerle yazılımdaki pinler farklı ondan çalışmıyor.Yazılıma bakarsan 9 10 11 12 numaralı pinler motor sinyal pinleridir. ENA ve ENB pinlerine 5v bağla . Servo motor da 4. pine tak.
Söylemiş olduğum portları Arduino yazılımında tanımladım.
Ben pil ile besliyorum aracı EnA ile EnB porta bağlayarak daha önce başka projede kullandım.
Fakat bu engelden kaçan robota servo motor bağladığım için hatalar veriyor.
Senin söylediğin pinler yazılımdaki ile aynı pinler değil ki. ENA ve ENB pinini direk 5v a tak pota taktığın için motorlara yeterli enerji gelmiyor olabilir. Yani servo motordan dolayı robot hata vermez 🙂
yardım için teşekür ederim 🙂
Hocam ben bu motor shield ile yaptım ama çalıştıramadım kodda bi sıkıntı yok herhalde bağlantıları yapamadım jpeg olarak shield ardunio ve oyuncak arabanın motorları bağlantılarını ayrıntılı olarak gönderirmisiniz
motor shield zaten arduinonun üzerine takılıyor. shield deki 1 ve 4 numaralı motor girişlerine motorları tak Ayrıca max speed yazılımda 180 onu arttır muhtemelen ondan kaynaklıdır motorları döndürmeye yetmiyordur
çok teşekkür ederim sezgin bey ellerinize emeğinize sağlık
Rica ederim İyi çalışmalar Mustafa bey
tüm kısmıyla programı göndermenizi istesem çok mu olurum ?
fpga dersi alıyoruz ama hocamız ardunio ile proje verdi inanın hiç bilmiyorum ardunio ya da yeni yeni başladım çabalıyorum sizlerinde yardımıyla bu işin üstesinden gelirim inşallah…
Buradan indirebilirsiniz http://www.robimek.com/wp-content/uploads/Engel_robot_h_z_kontroll_.rar
Engele çarparsa sınır uzaklığı değiştirin veya motorun hızını azaltın.
hallettim çok teşekkür ederim birşey daha sormak istiyorum engeli gördüğü zaman çarpmadan yavaşlasa ve o zaman yeni konum bulup oraya yönelse böyle birşey yapabilirmiyiz yardımcı olursanız sevinirim
Yavaşlamasını için motorları pwm sürmen gerekiyor. Yani hız kontrolü yapman gerekiyor. Bunun içinde sürücünün 1 ve 9 numaralı pinlerine analog veri göndermen gerekir. Örneğin analogdan 0 ile 255 arası değer gönderirsen hızını değiştirebilirsin. Aşağıdaki kod bloğunu tek motor için uygulayabilirsin.
void yavas_git()
{
analogWrite(5, 180);
analogWrite(4, LOW);
digitalWrite(OnMotor_sag, LOW);
digitalWrite(OnMotor_sol, LOW);
digitalWrite(ArkaMotor_Geri, LOW);
digitalWrite(ArkaMotor_ileri, HIGH);
}
yukardaki kod bloğunda ileri yavaş gitme fonksiyonunu tanımladık. Burada 5. ve 4.dijital pinler motor sürücünün 1. ve 9. pinlerine takarak hızını değiştirmeyi sağlarsın. 5. pine 180 değeri gönderip motoru yavaşlattık.
‘NewPing’ does not name a type hatası alıyorum bunu nasıl giderebilirim
Kütüphaneyi yüklemediğiniz için hata alıyorsunuz. newping kütüphanesini buradan yükleyiniz http://www.robimek.com/wp-content/uploads/NewPing.rar
Anladım. Arduino ile röle kart kullanıp gelen voltaj değerini analog okutup sistemi açıp kapatabilirsin . 24 giriş 12 çıkış sistemi araştır yine de ama sürücü kullansan da aynı şey olur. röle kullanacağından bir nevi giriş gibi düşünebilirsin.
NewPing.h hatasını nasıl düzelteceğiz acaba ?
kütüphaneniz olmadığı için hata alıyorsunuz. aşağıdaki linkten indirip kütüphaneye ekleyin sorun çözülecektir.
http://www.robimek.com/wp-content/uploads/NewPing.rar
merhaba hocam..
oyuncak araba için yayınladığınız yazılımda bir hata alıyorum nedeni nedir acaba..
oyuncak_araba_engel.ino:4:21: fatal error: NewPing.h: No such file or directory
compilation terminated.
Derleme sırasında hata oluştu.
NewPing.h kütüphanesi olmadığı için hata alıyorsunuz. Kütüphaneyi buradan indiriniz >> http://www.robimek.com/wp-content/uploads/NewPing.rar
Datasheet ve örnek motor bağlantısı projeye eklendi.
Birinci motor için in1 ve in2 aduino pinleri out 1 ve out 2 motor pinleri
İkinci motara da in3 ve in4 arduino pinleri ve out3 ve out 4 diğer motor pini
enable pinlere 5 v arduino pinine takabilirsin.diğer motor güç pinini bataryaya ve gnd bağlantılarınıda yaparak çalıştırabılırsın.
iyi çalışmalar.
burda ön tekerler sağ saol nasıl yapıor resimde 2 motor bağlamış sınız dönüşlerii nasıl yapıyor açıklarmısınız
Sol ve sağ motor dediğim robot kitler için geçerli.Onlardaki sistemde bir motor ileri diğer motor geriye dönerse robot kendi ekseninde döner.Oyuncak arabaların dönüş sisteminde dc motor bulunuyor.Yazılımda ön motor dediğim kısım dönüşler için arka motor ise ileri ve geri hareket içindir.İki sistem içinde yazılımlar eklendi.
resimde sağ motor ön sol motor arkamı
Evet yazılımına bakarsanız ordan da görebilirsiniz.Resme takılmanıza gerek yok.
tşkr 🙂