Merhaba arkadaşlar. Bu yazımızda “Engelden Kaçan Robot nedir, nasıl yapılır?” konularından bahsedeceğiz.
Engelden Kaçan Robot Nedir?
Engelden kaçan robot,diğer adıyla engel algılayan robot, otonom olarak çevre kontrolü yapabilen ve hareketini önleyebilecek cisimleri atlatabilen robot tipidir. Çevre kontrolünü sağlayabilmesi için ultrasonik, kızılötesi vb. gibi çeşitli sensörlere ihtiyaç duyar.
Arduino ile Engelden Kaçan Robot Yapımı
Ultrasonik sensör ile karşılaştığımız engelleri algılayıp buna göre yön değiştiren bir robot yapacağız. Robotumuzun hızını ve yönünü bir motor sürücü ile kontrol edeceğiz.
Gerekli Malzemeler
- Arduino Uno
- Çok Amaçlı Robot Platformu (Biz Platforma kitini kullandık. Dilerseniz bu kiti de kullanabilirsiniz.)
- L298N Voltaj Regulatörlü Çift Motor Sürücü Kartı
- HC-SR04 Ultrasonik Mesafe Sensörü
- Pil ( Alkalin piller robotu yaklaşık 15 dk. verimli şekilde çalıştıracaktır. Li-Po pil kullanmanız robotu daha uzun süre ve daha verimli çalıştıracaktır.)
- 6’lı AA Pil Yuvası
- Jumper
Engelden Kaçan Robot Devresi
Ultrasonik Sensörün Çalışma Prensibi
Ultrasonik sensörün çalışma prensibinden bahsettiğimiz videomuza buradan göz atabilirsiniz.
Robotun Gövdesi
Robotumuzun gövde montajını daha önceden yaptığımız Çizgi İzleyen Robot uygulamasında bulabilirsiniz. Yaptığımız robotun gövdesi aynı olup sadece kullanılan sensörler değişmiştir.
Projemizin son hali şekilde gibidir.
Proje hakkında yorumlarınızı aşağıdaki ‘Yorumlar’ kısmında bizimle paylaşabilirsiniz.
Siz de yaptığınız projeleri Twitter ve Instagram üzerinden #Robotistan hashtagi ile bizimle paylaşın, projenizi hesabımızda paylaşalım !
Twitter ve Instagram Hesaplarımız: @Robotistan
Algoritma
Robotumuzu kodlamaya başlamadan önce hangi işlemleri takip edeceğimizi bilmemiz gerekiyor. Temel amacımız robotun bir engele takılmaması olacaktır. Örnek olarak geniş bir zeminde engelle karşılaştığında sağ yöne hamle yapan bir robotun temel algoritmasını göstermek istiyorum :
Bu algoritmayı Arduino’da yazalım 🙂
Arduino Kodları
#define echoPin 12 //Ultrasonik sensörün echo pini Arduino'nun 12.pinine #define trigPin 13 //Ultrasonik sensörün trig pini Arduino'nun 13.pinine tanımlandı. #define MotorR1 7 #define MotorR2 6 #define MotorRE 9 // Motor pinlerini tanımlıyoruz. #define MotorL1 5 #define MotorL2 4 #define MotorLE 3 long sure, uzaklik; //süre ve uzaklık diye iki değişken tanımlıyoruz. void setup() { // ultrasonik sensör Trig pininden ses dalgaları gönderdiği için OUTPUT (Çıkış), // bu dalgaları Echo pini ile geri aldığı için INPUT (Giriş) olarak tanımlanır. pinMode(echoPin, INPUT); pinMode(trigPin, OUTPUT); pinMode(MotorL1, OUTPUT); pinMode(MotorL2, OUTPUT); pinMode(MotorLE, OUTPUT); //Motorlarımızı çıkış olarak tanımlıyoruz. pinMode(MotorR1, OUTPUT); pinMode(MotorR2, OUTPUT); pinMode(MotorRE, OUTPUT); Serial.begin(9600); } void loop() { digitalWrite(trigPin, LOW); //sensör pasif hale getirildi delayMicroseconds(5); digitalWrite(trigPin, HIGH); //Sensore ses dalgasının üretmesi için emir verildi delayMicroseconds(10); digitalWrite(trigPin, LOW); //Yeni dalgaların üretilmemesi için trig pini LOW konumuna getirildi sure = pulseIn(echoPin, HIGH); //ses dalgasının geri dönmesi için geçen sure ölçülüyor uzaklik = sure / 29.1 / 2; //ölçülen süre uzaklığa çevriliyor Serial.println(uzaklik); if (uzaklik < 15) // Uzaklık 15'den küçük ise, { geri(); // 150 ms geri git delay(150); sag(); // 250 ms sağa dön delay(250); } else { // değil ise, ileri(); // ileri git } } void ileri(){ // Robotun ileri yönde hareketi için fonksiyon tanımlıyoruz. digitalWrite(MotorR1, HIGH); // Sağ motorun ileri hareketi aktif digitalWrite(MotorR2, LOW); // Sağ motorun geri hareketi pasif analogWrite(MotorRE, 150); // Sağ motorun hızı 150 digitalWrite(MotorL1, HIGH); // Sol motorun ileri hareketi aktif digitalWrite(MotorL2, LOW); // Sol motorun geri hareketi pasif analogWrite(MotorLE, 150); // Sol motorun hızı 150 } void sag(){ // Robotun sağa dönme hareketi için fonksiyon tanımlıyoruz. digitalWrite(MotorR1, HIGH); // Sağ motorun ileri hareketi aktif digitalWrite(MotorR2, LOW); // Sağ motorun geri hareketi pasif analogWrite(MotorRE, 0); // Sağ motorun hızı 0 (Motor duruyor) digitalWrite(MotorL1, HIGH); // Sol motorun ileri hareketi aktif digitalWrite(MotorL2, LOW); // Sol motorun geri hareketi pasif analogWrite(MotorLE, 150); // Sol motorun hızı 150 } void geri(){ // Robotun geri yönde hareketi için fonksiyon tanımlıyoruz. digitalWrite(MotorR1, LOW); // Sağ motorun ileri hareketi pasif digitalWrite(MotorR2, HIGH); // Sağ motorun geri hareketi aktif analogWrite(MotorRE, 150); // Sağ motorun hızı 150 digitalWrite(MotorL1, LOW); // Sol motorun ileri hareketi pasif digitalWrite(MotorL2, HIGH); // Sol motorun geri hareketi aktif analogWrite(MotorLE, 150); // Sol motorun hızı 150 }
Bir robot uygulamamızın daha sonuna geldik. Bir başka projede görüşmek üzere, takipte kalın 🙂
sitenizden satın aldığım arduino uyumlu nrf24l01 +pa ile arabya doğru şekilde bağlantı yaptım ama yazdığım kod ile test ettiğimde transmitterin çalışmadığını söylüyor bana yardımcı olrmusunuz …
NRF24L01 ile uzaktan kontrol uygulamamıza buradan göz atabilirsiniz. Yazdığınız kodun amacını bilmediğimden net bir yorum yapamıyorum fakat uygulamamıza göz attıktan sonra yazılımınızı kontrol edebilirsiniz.
sizden aldığım hcrs 04 ısınıyor
elimde tutamıyorum
neden acaba
Pin bağlantılarını tekrar kontrol edebilir misiniz? Bağlantı hatası veya kısa devre olmuş olabilir.
Merhabalar engelden kaçan robot yapımı için tüm parçaları sitenizden temin ettim ancak robotu çalıştırdığımda engelleri algılamıyor? Herşeyi doğru yaptığımı düşünüyorum yardımcı olabilir misiniz?
Merhaba. Arduino IDE’nin sağ üst kısmında bulunan “Seri Port Ekranı”nı kontrol ettiniz mi? Ultrasonik sensörü robottan söküp ayrı bir devrede test edebilir misiniz?
ÜRÜNLER NE ZAMAN STOKTA OLUR. YUKARIDAKİ KODLAR 4 TEKER VE MOTORLU KASA İÇİNDE UYGUN MUDUR TEŞEKKÜELER.
Stoklarla ilgili bilgi almak için destek@robotistan.com adresimizden bilgi alabilirsiniz. Stokta olmayan ürünlerde yandaki “Stoklara Düşünce Haber Ver” kısmına tıklayarak stok bilgilerini takip edebilirsiniz.
4 motora sahip robot kullanmak istiyor ve aynı programdan faydalanmak istiyorsanız aynı taraftaki motorları paralel bağlamanız gerekir. Yani sağ ön motor ile sağ arka motor, sol ön motor ile sol arka motor paralel bağlanmalıdır.
Bu urunun kitini almak istiyorum teker teker toplamasam?
Projemizdeki tüm malzemelerin bulunduğu bir kit mevcut değil. Bu işlemi yapabilecek tüm malzemelerin bulunduğu bir robot kiti arıyorsanız sitemizde bulabilirsiniz.
enkoder nerede kullanılıyor
Yaptığımız uygulamada enkoder kullanılmamaktadır.
aracı yaptım fakat düz gitmiyor L298N Voltaj Regulatörlü Çift Motor Sürücü Kartı hata olabilir mi
Motorların ikisi de çalışıyor ve iki motor da ileri-geri hareket edebiliyorlar ise sürücüde sorun yoktur. Robota sadece “ileri git” veya sadece “geri git” gibi komutlar verip hamlelerini test edebilirsiniz. Bu testi gibi “sağa dön” ve “sola dön” komutları vererek de yapabilirsiniz. Bu şekilde motordaki ileri ve geri yönleri anlaşılır. Eğer motorlar doğru yönde dönüyorlarsa ve robotu yere koyduğunuzda hafif yalpalayarak gidiyorsa motor ile tekerlekler tam oturmamış olabilir.
6 tane kalem pili belirtildigi sekilde bagladim. Hersey calisiyor ama motorlara tam guc gitmiyor. Sanki titriyor gibi bir hareket var. Ancak bu haldeyken arduino kartini kablosuyla seri porta bagladigimda hersey duzgun calisiyor. Sorun nerede anlamadim…
ekstra 9v pil bağlayınca arduinoya sorun çözüldü…
Engelden kaçan bir robot yaptım hc-sr04 mesafe sensörünü servo motorun üzerine bağladım. Hareketten kaçıyor ama servo motora kod yazamadım yardımcı olabilir misiniz. Kodları yüklerken hata veriyor. Yüklediğim kodları yollayayım isterseniz.
Nerede sorun yaşadığınızı anlayamadım. Motorları ayrıca test ettiğinizde ileri-geri hareketlerini doğru yapıyorlar mı? Sensörünüz mesafe görüyor mu? İkisi de doğru çalışıyorsa programı tekrar kontrol edebilir misiniz?
Tayfun bey abi ardinoda yeni basladim yazilima bu proje ile ilgili her malzeme mevcut elimde kafama tek takilan yazarken ardinoya yeni sayfami acmamiz gerkiyor
Arduino’da yeni boş sayfa açabilirsiniz veya içinde program olan sayfadaki kodları silip kendi kodunuzu yazabilirsiniz.
kod işe yaramaıyor
Uluslararası İHL Sivas
ADMİN BEY ,sayfanızdaki içerikler çok işime yaradı , kod doğru çalışıyor;
Sayfanızın düzenini de çok takdir ettim , çizgi izleyen vb robotların kodları ve bağlanış şekli de varmış ,inşallah bu kodu ve bağlamayı bitirince
diğerlerine geçeceğim…
TEŞEKKÜRLER…
Güzel yorumlarınız için teşekkür ederiz, kanalımızdaki videoları incelemeye ve canlı yayınlarımıza da bekleriz 🙂 https://www.youtube.com/robotistan
L298N yerine L293D kullanabilirmiyiz herhangi bir sorun olurmu
Düzeltme: L293D, 600mA’e kadar çalışabildiği için aşırı zorlanma sonucu ısınabilir. (Datasheet)
3d cıktı konusunda öğrencilere ücretsiz yardımcı olabilirim. info@3dcode.net adresinden ulaşabilirsiniz.
Arkadaşlar selamlar, geçenlerde ultrasonik sensör ile mesafe ölçümü projesi yaptım. Çok eğlenceli gelmişti. Bu proje çok daha ilgi çekici olmuş. Emeği geçen arkadaşlara teşekkürler.
Merhaba engelden kaçan robotunuzu yaptım kod sayfasıda aynı şekilde sizin yazdığınız kodlarda sadece geri doğru gidiyordu robot onu çözmeye çalışırken sensör çalışıyordu o sorunu çözdüm ileri gidiyor robotum ama bu sefer engelleri algılamıyor sadece ileri gidiyor. seneörle ilgili bir değişiklik yapmadım sorun ne olabilir sizce kod sayfasınıda kopyalıyorum
#define echoPin 12 //Ultrasonik sensörün echo pini Arduino’nun 12.pinine
#define trigPin 13 //Ultrasonik sensörün trig pini Arduino’nun 13.pinine tanımlandı.
#define MotorR1 6
#define MotorR2 7
#define MotorRE 9 // Motor pinlerini tanımlıyoruz.
#define MotorL1 5
#define MotorL2 4
#define MotorLE 3
long sure, uzaklik; //süre ve uzaklık diye iki değişken tanımlıyoruz.
void setup() {
// ultrasonik sensör Trig pininden ses dalgaları gönderdiği için OUTPUT (Çıkış),
// bu dalgaları Echo pini ile geri aldığı için INPUT (Giriş) olarak tanımlanır.
pinMode(echoPin, INPUT);
pinMode(trigPin, OUTPUT);
pinMode(MotorL1, OUTPUT);
pinMode(MotorL2, OUTPUT);
pinMode(MotorLE, OUTPUT); //Motorlarımızı çıkış olarak tanımlıyoruz.
pinMode(MotorR1, OUTPUT);
pinMode(MotorR2, OUTPUT);
pinMode(MotorRE, OUTPUT);
Serial.begin(9600);
}
void loop() {
digitalWrite(trigPin, LOW); //sensör pasif hale getirildi
delayMicroseconds(5);
digitalWrite(trigPin, HIGH); //Sensore ses dalgasının üretmesi için emir verildi
delayMicroseconds(10);
digitalWrite(trigPin, LOW); //Yeni dalgaların üretilmemesi için trig pini LOW konumuna getirildi
sure = pulseIn(echoPin, HIGH); //ses dalgasının geri dönmesi için geçen sure ölçülüyor
uzaklik = sure / 29.1 / 2; //ölçülen süre uzaklığa çevriliyor
Serial.println(uzaklik);
if (uzaklik < 15) // Uzaklık 15'den küçük ise,
{
geri(); // 150 ms geri git
delay(150);
sag(); // 250 ms sağa dön
delay(250);
}
else { // değil ise,
ileri(); // ileri git
}
}
void ileri(){ // Robotun ileri yönde hareketi için fonksiyon tanımlıyoruz.
digitalWrite(MotorR1, LOW); // Sağ motorun ileri hareketi aktif
digitalWrite(MotorR2, HIGH); // Sağ motorun geri hareketi pasif
analogWrite(MotorRE, 200); // Sağ motorun hızı 150
digitalWrite(MotorL1, LOW); // Sol motorun ileri hareketi aktif
digitalWrite(MotorL2, HIGH); // Sol motorun geri hareketi pasif
analogWrite(MotorLE, 200); // Sol motorun hızı 200
}
void sag(){ // Robotun sağa dönme hareketi için fonksiyon tanımlıyoruz.
digitalWrite(MotorR1, LOW); // Sağ motorun ileri hareketi aktif
digitalWrite(MotorR2, HIGH); // Sağ motorun geri hareketi pasif
analogWrite(MotorRE, 200); // Sağ motorun hızı 0 (Motor duruyor)
digitalWrite(MotorL1, LOW); // Sol motorun ileri hareketi aktif
digitalWrite(MotorL2, HIGH); // Sol motorun geri hareketi pasif
analogWrite(MotorLE, 200); // Sol motorun hızı 200
}
void geri(){ // Robotun geri yönde hareketi için fonksiyon tanımlıyoruz.
digitalWrite(MotorR1, LOW); // Sağ motorun ileri hareketi pasif
digitalWrite(MotorR2, HIGH); // Sağ motorun geri hareketi aktif
analogWrite(MotorRE, 200); // Sağ motorun hızı 150
digitalWrite(MotorL1, LOW); // Sol motorun ileri hareketi pasif
digitalWrite(MotorL2, HIGH); // Sol motorun geri hareketi aktif
analogWrite(MotorLE, 200); // Sol motorun hızı 150
}
sensörün sorununu nasıl çözdünüz acaba bende de aynısı oldu
selamlar. ben sizin yaptığınızı yapıyorum tek sensörle. ama ben 3 sensörlü yapmak istedim ve okadar kolay olmadığını anladım. yani 3 tane mesafe sensöründen birine tanımladığım if else diğer sensördeki ile çakışıyor. bunları nasıl bağımsız yapabilirim. yardımcı olur musunz bana bu konuda ?
selam bir teker hızlı dönüyor diyeri ise yavaş dönüyor yardım
Hareket fonksiyonları olan ileri, geri, sağ ve sol fonksiyonlarında yer alan analogWrite(150) komutlarındaki değerleri değiştirerek tekerleklerin hızlarını eşitleyebilirsiniz.
şemada klemensli barel jack yok fakat videoda kullanmışşınız şemadakini mi uygulayalım yoksa videodakini
Hangisi daha kolay geliyorsa onu tercih edebilirsiniz. Herhangi bir fark olmayacaktır.
Devreyi aynen yaptım enerji verdim çalışmıyor. Ne yapmalıyım ben öğrenciyim ve bunu mayısa kadar yetiştirmem lazım. Bana bunu nasıl 3 hcsr04 ile yapabileceğimi söylermisiniz. Bir tane de basit proje lazım bana. Lütfen yardım edin. HC-SR04 İle labirent çözen yapmaya çalışıyorum. Mayısa yapcam. ACELE YARDIM EDİN. 1 aydır ben buna uğraşıyorum. L293D Motor Shield aldım. Olmadı. Sadece entegresini kullandım olmadı. L298N ile yani bun devreyle de olmadı. YARDIM NOLUR.
bu kod labirent çözenin değil engelden kaçanın
4 moturlu yapmak istiyorum ancak bir tane çift motor sürücü kartı var. bit tane ile 4 motor kullanabilrmiyim yada 2 tane mi sürücü kartı kullanmam gerek yardım edermisiniz
Sağ ve sol tarafta ikişer adet motor kullanacaksanız her iki motorun da kablolarını paralel bağlayarak tek motor gibi 2’li motor sürücünüze bağlamanız mümkündür. Bu durumda her motoru tek tek kontrol etme şansınız olmayacaktır, fakat hareket için gerekli ileri-geri ve sağ-sol dönüşleri yaptırabilirsiniz.
lezzetli robot tarifleri kanalında onu acıklıyor oraya bakarsan sana yardıncı olabilir :)ü
robot düz gitmiyor ileri komutunu veriyorum fakat hemen sağa dönüyor.
merhaba nihal hanım benim robotta aynı engel olmadığı halde sağa dönüyor düz gitmiyor siz sorunu çözebildiniz mi?
BEN DE AYNI SIKINTIYI YAŞIYORUM. ÇÖZÜME ULAŞTINIZ MI ACABA?
sizden sipariş verdiğimiz motorlar ikisi de faklı hızda dönüyor ve yalpalıyor .
Iyi gunler ayni sekilde yaptim engel olmadigi halde ileri gitmiyor etrafinda saga donuyor sorun nerde olabilir
Engelden kaçan robotu yaptım algılamasında bir sorun yok fakat bazen tekerlek takılıyor ultrasonic sensöre servo motor takmak istiyorum acaba arduinoda nereye takmam gerekiyor yardımcı olursanız sevinirim.
Merhaba, robotu yaptım çalışıyor fakat sensör bazen yanı görmüyor bu yüzden teker takılıyor. Ben ekstra servo motor eklemek istiyorum sensörün altında olup sağa sola dönmesini sağlayacak. Yardım ederseniz sevinirim
Servo motoru mesafe sensörüne bağlamak için şu iki ürünümüzü kullanabilirsiniz:
https://www.robotistan.com/ultrasonic-sensor-montaj-aparati-tip-a-servo-uyumlu
https://www.robotistan.com/ultrasonic-sensor-montaj-aparati-tip-b-servo-uyumlu
Geriye yalnızca programdaki değişiklik kalıyor. Robot hareket komutu almadan önce servoyu istediğiniz açılarda döndürüp etrafı taratabilir, her bir yöne dönükken yapılan tarama sonucunda elde edilen mesafeyi sağ mesafe ve sol mesafe gibi değişkenler içerisine atayarak buna göre robotun hangi yöne döneceğine karar verdirebilirsiniz. Servo motor kullanımı için buradaki yazımıza başvurabilirsiniz.
// Yazılım Geliştirme By Robimek – 2015
#include // servo motor kütüphanesi
#include
//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;
}
kodda bir sorun var. kodu kontrol edip düzeltebilirmisiniz
Kolay gelsin çizgi izleyip engelden kaçan robot yapmak istiyoruz.üniversitede proje olarak seçtik bunu nasıl yapabiliriz ?
Her iki robot için de gerekli olan donanımı kurup, bir anahtar yardımı ile robotun çalışma modları arasında geçiş yapmasını sağlayabilirsiniz. Bunun için de çizgi izleyen kodunu programda bir fonksiyon altına, engelden kaçan kodunu da başka bir fonksiyon altına yerleştirip, loop içerisinde anahtar durumunu bir if veya switch/case yapısı ile okuyup robotun istediğiniz modda çalışmasını sağlayabilirsiniz.
6 lı pil yuvası yerine 9v luk pil olan şunu alsam olur mu? https://www.robotistan.com/9v-pil-yuvasi-barrel-jack-cikisli
Kullanabilirsiniz tabi ki, fakat 9V pillerin kapasitesi ve verebildikleri akım 6 adet AA kalem pilin kapasitesi ve sağlayabileceği akımdan daha düşüktür. Bu sebepten dolayı 6’lı pil yuvası kullanmaktayız. Aynı gerilim olduğu için 9V pil de kullanabilirsiniz, sadece robotunuz daha kısa sürede pili bitirecektir.
bana pil yetmiyor 9wolt arduino ya elektirik fazla gitmiyor ve motorlar çalışömıyor ayrıca 18wolt takıbnca aradan zaman geçtikten sonra arduino yandı tekrar aldım oda yandı
Arduino’nun adaptör girişinden verebileceğiniz maksimum gerilim 12V civarındadır. 18V ile uzun süre kullanımda sorun yaşamanızın sebebi, kart üzerindeki regülatörün bu yüksek gerilime dayanamaması ve aşırı ısınmasındandır. Daha uzun çalışma süresi istiyorsanız 2 hücreli (7.4V) LiPo bataryaları tercih edebilirsiniz: https://www.robotistan.com/2s-74v-li-po
Merhaba iyi günler ben sitenizden aynen videodaki herşeyi aldım yaptım kodu yazdım yükledim ama herhangi bir hareket yok final proje ödevim yardımcı olurmusunuz
Yaşadığınız problemi daha detaylı anlatabilirseniz daha kolay yardımcı olmamız mümkün olur.
Aynen anlatılanları yaptım. Sürekli SAĞA dönüyor ya sensör çalışmıyor yada kodda hata var. Sensörü iptal ettim yine aynı
Sorunu çözdüm motor bağlantılarını aynı bağlamışım. Birini diğerinin tersi biçiminde karta bağladım düzeldi.
Daha açık anlatabilir misiniz çözümü? Ben de aynı sorunu yaşıyorum.
araç engeli algılıyor ve çarpıyor sonra geri gelip sağ yapıyor sonra ileri gidiryor ve sensör duruyor ne yapmalıyım
ardunio üzerindeki rx ve L ledleri yanıp sönüyor fakat araçta hiç hareket yok
l293 entegre motor sürücüm var ona mesafe sensörünü nasıl bağlarım
L293 motor sürücü entegresine mesafe sensörünüzü bağlayamazsınız, sensörü ve sürücüyü Arduino’nuza bağlamanız gereklidir.
robot gövdesini ölçülerini verme imkanınız var mıdir? üstündeki deliklerin mesafesi vb.
Malzeme listesinde yer alan “Çok Amaçlı Robot Platformu” ürününün açıklamasında boyutları mevcuttur.
ışık izleyen robot yapımı yapar mısınız? çok aciillll
Ben devreyi yaptim calisti ama birden bire ardinyonun isiklari yanmamaya basladi ve tekerler donmuuo motor surucusjmu bozildu acaba acil cevap
Kablolamada bir sorun olmuş olabilir. Devrelerde bağlantı kopukluğu veya kısa devre olmadığından emin olun.
İyi günler engelden kaçan robot aldım ama kuramdım elinizde hazırkurulumu bitmiş robot varsa ulaştırma şansınız var mı
Hazır ürün arıyorsanız Makeblock mBot ürününü inceleyebilirsiniz: https://www.robotistan.com/makeblock-mbot-bluetooth-kiti-v11-mavi
SENSÖR HİÇBİRŞEYİ ALGILAMIYOR NEDENİ NE OLABİLİR ACİLL
Kullandığınız sensör, yazmış olduğunuz kod vs. gibi detayları paylaşırsanız daha kolay yardımcı olabiliriz.
ÖNEMLİİİ!!!!
Biz bu projeye buzzer koymak istiyoruz.Örnegin: mesafe 50 cm iken buzzer ötmeye başlıcak.mesafemiz kısaldıkça buzzerda ses artışı olacak.40 cm e geldiğinde ise robotumuz yön degiştircek.Bunu nasıl yapabiliriz.yardımcı olursanız sevinirim. kolay gelsin
Buradaki örnek projemizi inceleyebilirsiniz: Arduino ile Basit Park Sensörü Yapımı
Hocam merhaba engelden kaçan ve blueetoth kontrllü aracı bir arada kullanmak için kodu vae devreyi nereden bulabilirim? İLGİNİZ İÇİN TEŞEKKÜRLER
iyi günler
1 adet Arduino 4WD Robot Araba Kiti
1 adet Arduino Uno R3 (CH340 Klon)
1 adet Arduino Uno USB Kablo
1 adet HC-06 Bluetooth Modül
1 adet Arduino L293D Motor Shield
1 adet HC-SR04 Ultrasonic Mesafe Sensörü
aldım ama arabayı entegre ettim . ama çalışmıyor bağlantı şeması paylaşırmısınız tşkler
Yazıyı okursanız devre şemasını gözünüzden kaçırmanız imkansızdır.
uzaklik = sure / 29.1 / 2; yazılımı yuklerken bu bolumde hata veriyor yardım
birden fazla HC-SR04 takmak istiyorum buna uygun yazılımınız varmı
Hocam çok güzel. Bide labirent çözen robot yapma imkanınız var mı acaba?
Her ürünü sitenixdrn aldım ve aduinoyu güç verinçe hiç bir işikyanmıyor neden
Satın almış olduğunuz ürün arızalı olabilir. Buradaki iletişim bilgilerini kullanarak teknik destek birimimizle iletişime geçebilirsiniz: https://www.robotistan.com/iletisim.xhtml
İyi Günler.
2 wd araç kiti ile , Arduıno, Breadboard, Hc-SR04 Ultrasonik Mesafe Sensörü, L298N sürücü kartı kullandım.
Engelden Kaçan Robot Uygulaması benim sorunum Tek tekerleğin sürekli etrafında dönüyor olması. (out1-out2) kısmı dönüyor.
(out3-out4) kısmı dönmüyor. Bağladığım kabloları L298N devresinden çıkartığım zaman pillerle deniyorum 2 tekerlek dönüyor.
Sizin destek@robotistan.comada yazdım. ama beni bu sayfaya yönlendirdiler. Ama maalesef teker teker yukarıdaki projeyi ve kodlamayı yapmama rağmen 1 tekerlek çalışıyor öbür tekerlek çalışmıyor. Bu arada videodaki söylenen kodlar ile sizin verdiğiniz kodlar farklı ben iki sinide denedim. Ama bir türlü 2 WD araç ileri gitmiyor ve ya yerinde dönüyor ya da sağa dönüyor engel gördüğünde hafif duruyor sonra tekrar dönüyor. acaba nerde hata yapıyorum. Lütfen Yardımcı olur musunuz. Teşekkür ederim.
Sorunu çözdüm. Teşekkürler..
Ben videodaki herşeyi yaptım fakat araba 369 dönüyor yardım edin lütfen.
sürekli etrafında dönüyor
Merhaba iyi günler
robotum düz gitmiyor sapmalar yapıyor sağa doğru ve diğer bi sorum 1 sensör yerine 3 sensör nasıl yapabilirim yardımcı olabilir misiniz şema ve kod kısmında
Merhabalar, üç sensörlü kod için Çizgi İzleyen Robot Yapımı – 7 Dk’da Öğren! projemizdeki gibi bir mantık izlemeniz gerekir. Kod kısmında eğer sağdaki sensör engel görüyorsa sola git, soldaki sensör sağa git gibi bir mantık kurabilirsiniz. Ultrasonik sensörleri farklı pinlere tanımlayıp benzer şekilde fazladan 2 sensörden bilgi alabilmeniz mümkündür.
KODLARI AYNENE YÜKLEDİM BAĞLANTILARI AYNEN YAPTIM AMA MOTORLAR TIK TIK SES .IKARIYOR VE İLERLEMİYOR KODLAR
#define echoPin 12 //Ultrasonik sensörün echo pini Arduino’nun 12.pinine
#define trigPin 13 //Ultrasonik sensörün trig pini Arduino’nun 13.pinine tanımlandı.
#define MotorR1 7
#define MotorR2 6
#define MotorRE 9 // Motor pinlerini tanımlıyoruz.
#define MotorL1 5
#define MotorL2 4
#define MotorLE 3
long sure, uzaklik; //süre ve uzaklık diye iki değişken tanımlıyoruz.
void setup() {
// ultrasonik sensör Trig pininden ses dalgaları gönderdiği için OUTPUT (Çıkış),
// bu dalgaları Echo pini ile geri aldığı için INPUT (Giriş) olarak tanımlanır.
pinMode(echoPin, INPUT);
pinMode(trigPin, OUTPUT);
pinMode(MotorL1, OUTPUT);
pinMode(MotorL2, OUTPUT);
pinMode(MotorLE, OUTPUT); //Motorlarımızı çıkış olarak tanımlıyoruz.
pinMode(MotorR1, OUTPUT);
pinMode(MotorR2, OUTPUT);
pinMode(MotorRE, OUTPUT);
Serial.begin(9600);
}
void loop() {
digitalWrite(trigPin, LOW); //sensör pasif hale getirildi
delayMicroseconds(5);
digitalWrite(trigPin, HIGH); //Sensore ses dalgasının üretmesi için emir verildi
delayMicroseconds(10);
digitalWrite(trigPin, LOW); //Yeni dalgaların üretilmemesi için trig pini LOW konumuna getirildi
sure = pulseIn(echoPin, HIGH); //ses dalgasının geri dönmesi için geçen sure ölçülüyor
uzaklik = sure / 29.1 / 2; //ölçülen süre uzaklığa çevriliyor
Serial.println(uzaklik);
if (uzaklik < 15) // Uzaklık 15'den küçük ise,
{
geri(); // 150 ms geri git
delay(150);
sag(); // 250 ms sağa dön
delay(250);
}
else { // değil ise,
ileri(); // ileri git
}
}
void ileri(){ // Robotun ileri yönde hareketi için fonksiyon tanımlıyoruz.
digitalWrite(MotorR1, HIGH); // Sağ motorun ileri hareketi aktif
digitalWrite(MotorR2, LOW); // Sağ motorun geri hareketi pasif
analogWrite(MotorRE, 150); // Sağ motorun hızı 150
digitalWrite(MotorL1, HIGH); // Sol motorun ileri hareketi aktif
digitalWrite(MotorL2, LOW); // Sol motorun geri hareketi pasif
analogWrite(MotorLE, 150); // Sol motorun hızı 150
}
void sag(){ // Robotun sağa dönme hareketi için fonksiyon tanımlıyoruz.
digitalWrite(MotorR1, HIGH); // Sağ motorun ileri hareketi aktif
digitalWrite(MotorR2, LOW); // Sağ motorun geri hareketi pasif
analogWrite(MotorRE, 0); // Sağ motorun hızı 0 (Motor duruyor)
digitalWrite(MotorL1, HIGH); // Sol motorun ileri hareketi aktif
digitalWrite(MotorL2, LOW); // Sol motorun geri hareketi pasif
analogWrite(MotorLE, 150); // Sol motorun hızı 150
}
void geri(){ // Robotun geri yönde hareketi için fonksiyon tanımlıyoruz.
digitalWrite(MotorR1, LOW); // Sağ motorun ileri hareketi pasif
digitalWrite(MotorR2, HIGH); // Sağ motorun geri hareketi aktif
analogWrite(MotorRE, 150); // Sağ motorun hızı 150
digitalWrite(MotorL1, LOW); // Sol motorun ileri hareketi pasif
digitalWrite(MotorL2, HIGH); // Sol motorun geri hareketi aktif
analogWrite(MotorLE, 150); // Sol motorun hızı 150
}
Nasıl bir güç kaynağı kullandınız? Yeterince güçlü olmayan bir güç kaynağı veya bitik pil kullandığınızda bahsettiğiniz sorunla karşılaşma ihtimaliniz mevcuttur.
4 terekde de çalışır mı?
Sağ ve sol taraftaki motorları paralel bağlarsanız çalışır.
MakeBlock mBot Bluetooth Kiti v1.1 aldım.
Bu kodu yazdım ve yükledim…açıp kapadım ama değişen hiçbişey yok.
Bu kitle bu yazılımı kendim çalıştıramaz mıyım?
mBot robotunda kendiliğinden engelden kaçma özelliği bulunmaktadır, bu programı yüklemenize gerek yoktur. Orijinal yazılımına mBlock yazılımını kullanarak geri dönebilirsiniz.
Bu tarz projeler için nasıl bir li-po pil önerirsiniz yani kaç mA ve volt değerinde olmalı ? Biraz saçma olacak ama projelerimizde ki güç hesabını ve özellikle akım değerlerini nasıl hesaplarız.
Merhabalar, genellikle 9V ile çalışan projeleriniz için 2S, yani 7.4V vev 12V ile çalışan projeleriniz için 3S yani 11.1V LiPo bataryaları tercih edebilirsiniz. Bu piller tam dolu iken sırasıyla 8.4V ve 12.6V gerilimlere sahip olacaklarından sorunsuzca kullanılabilir. Projelerdeki güç hesabını genellikle projedeki motorların çalışma gerilimine göre belirlemekteyiz. Kalem pil veya 9V gibi piller yeterli akımı genellikle sağlayabilmektedir, daha yüksek güç ve uzun çalışma süresi için LiPo tercih edilebilir. LiPo bataryalar hakkında detaylı şekilde bilgi sahibi olmak için videomuzu izleyebilirsiniz: https://www.youtube.com/watch?v=w4kxKJYPlTY
Teşekkürler Kerem bey.ben bu proje için galiba yüksek akım değerli bir pil aldım.11,1 V 2250mAH lipo aldım sitenizden.Kullanmadan önce teknik destek ekibinizden bilgi aldım.4A sigorta gerektirir şeklinde bilgi verildi.
Merhaba,
Yaptım ve şahane oldu elinize sağlık. Acaba bir de kendi kendine dengede duran robot projesi yayınlayacak misiniz?
Çok isterim.
Teşekkürler
Merhabalar, güzel sözleriniz için teşekkür ederiz. Arduino projelerimizi YouTube kanalımızdan takip edebilirsiniz: https://www.youtube.com/playlist?list=PLDRcccSktQd69AWjcdYWN-2aMcbsHyr6J
Stay 304 in program hatasını bir türlü gideremiyorum ve exit status 1 hatam var
Yardımınızı rica ederim
Aynı bağlantıyı aynı yazılımı yazdım fakat 9 volt pil kullandım ona rağmen motorlar dıııt dıye ses çıkarıyor ne ileri ne geri hiç tık yok neden acaba yardımcı olursanız sevinirim 🙂
Acil!
-elime alıp çalıştırdığımda sol teker geri sağ teker ileri gidiyor .
-yere koyunca geri geri tık tık gidiyor yani arka tarafı bi sağ bi sol yapıyor ağır ağır geri gidiyor tamammen asla ileri gitmiyor nerede hatam var
1 haftadır çözemedim yardımcı olurmusunuz?
-Teşekkür ederim.
-ve bunun videosunu çekip size nasıl atabilrim öyle bir imkan varmıdır,sorunu anlamadıysanınz eğer video yollayabilirim acil lütfn cevap veriniz.
motorların gücü yetmiyormuş ve 1 motoru ters bağlamışım sorun halloldu 🙂
Merhabalar,
Robotu kurdum, yazılım yükleme aşamasında “Karta yüklenirken sorun oluştu. Tavsiyeler için http://www.arduino.cc/en/Guide/Troubleshooting#upload adresine göz atabilirsiniz.” mesajı geliyor ve yazılım yükleyemiyorum.
Sorun nerdedir?
Iyi gunler engelden kacan robot parcalarinda jumper kablodan 1adet almamiz yeterlimi acaba
Merhaba,
bazı projeleri yapabilmek için, özellikle bu projeyi, sitenizden aşağıdaki ürünleri satın aldım. Öncelikle Proje setinden çıkan “Projelerle Arduino” kitabına detaylı bilgi koyulmamış, bilgiler kitapla bağlantılı olan videolara bırakılmış sanırım, fakat videoları izlemek için “Vakademi” isimli sitede hesap açmak mümkün değil zira aktivasyon maili atmayı başaramıyorlar ne yazikki (Gmail dahil birkaç mail adresiyle denendi). Kitaptaki anlatım yetersiz olduğundan engelden kaçan robotu oraya sağdık kalarak yapmak zor. Bu noktada çaresiz hissetmeye başlarken bu videoyu bularak umutlandım. Fakat aşağıda gördüğünüz gibi oldukça yoğun bir alım yapmama rağmen, videodaki pil aparatı mevcut değil, sadece tek 9V pil ile yapmak için gerekli şeyler var, ki sanırım içinden çıkan kitap da böyle yapıyor ama kitap videolarına ulaşamadığımdan o şekilde de yapamıyorum, zaten buradaki yorumlarda da 9V pil ile tekerlerin dönmediğinden vs bahsedilmiş. Bu durumda ben proje setini alırken tekerlekli robot yapma sebebiyle aldım, ve alım yaparken otomatik uyarı çıktı bu parçaları da almalısınız diye, onların da hepsini aldım. Madem 9V pil ile tekerler düzgün dönmeyecek, neden hala 9V pil bağlama setiyle satılıyor ve içinden bu kalem pil aparatı çıkmıyor, ya da alınması konusunda uyarı diğer parçalar gibi otomatik verilmiyor. Ek olarak içinden çıkan kitapta düzgün anlatım olmaması, anlatımların videolara bırakılmış olması, videoların da görünüşe göre ulaşılmaz olması pek hoş olmadı. Bu tarz proje yapmak için alışveriş yapcakların dikkat etmesini öneririm. Sizden de 9V ile düzgün çalışma ihtimali olup olmadığı konusunda tavsiye rica ediyorum, ya da tekrar parça beklemeden powerbank gibi bir şeyle yapılabilir mi? Mühendislik stajımda Arduino’lu projelerle uğraştığımdan zaman açısından darlık yaşıyorum, parça eksikliği planlanmamış gecikmeye sebep oldu. Selamlar.
*Arduino Başlangıç Seti
*Arduino Proje Seti
*HC06 Bluetooth-Serial Modül Kartı
*L298N Voltaj Regulatörlü Çift Motor Sürücü Kartı(Kırmızı PCB)
*Platforma Çok Amaçlı Mobil Robot Platformu – Kırmızı
abi 3 sensörlü olanın kodunu yaza bilirmisniz yazarsanız vap olarak göderirmisiniz
Arduinoya en fazla 20 volt verilebilir demişsiniz peki akü ile (12 v 60-80amper minibüs aküsü)çalıştırabilirmiyiz yani yüksek amper(60-80 civarı) arduinoya zarar verirmi
Abi Bluetooth ile çalıştırmak için kodları varmı
hangi uygulamada bu kodları yazarız