Arduino Bitirme Projeleri Robotik Arduino ile Kask Sileceği Yapımı By Fatih Mehmet Yılmaz Posted on 28 Mart 2018 5 min read 2 0 1,399 Paylaş ! Facebook Paylaş ! Twitter Paylaş ! Google+ Paylaş ! Reddit Paylaş ! Pinterest Paylaş ! Linkedin Paylaş ! Tumblr Merhaba Geçen yıl yapımına yardımcı olduğum bir bitirme ödevini paylaşmak istedim. Yağmurlu havalarda motorsiklet sürücülerinin görüşünün düşmemesi için yapılan modüler silecek projesi. Malzemeler Arduino NANO Su seviye sensörü Servo motor MG995 Jumper kablolar Batarya 5V Pencere Lastiği ve silecek parçaları Plastik kutu Yapımı Mekanik tasarımı zaten videoda anlaşıldığı gibi basit ve sizin hayal gücünüze bırakıyorum. Bence yaptığınız tasarımı 3d printerdan basarsanız daha güzel olur. Bağlantılar için de şemadan yararlanabilirsiniz. Devre Şeması Kodlar // Silecekli kask // // Made by Fatih Yilmaz // License: CC-BY-SA 3.0 #include <Servo.h> //14.04.17 //FMY Servo myservo; int pos = 0; //burayı ellemeyiniz const int sensorMin = 0; // sensor minimum const int sensorMax = 1024; // sensor maximum void setup() { Serial.begin(9600); myservo.attach(9); //motorun bağalanacağı pin() burada 9. pine bağalanacak //isteğe göre değiştirirsiniz } void loop() { buraya: int sensorOkuma = analogRead(A0); //kart bağlantı pini int deger= map(sensorOkuma, sensorMin, sensorMax, 0, 3); switch (deger) { //---------------------------------------------------------------------------------------------------------- case 0: Serial.println("Saganak Yagmur"); for(pos = 0; pos < 45; pos+= 1) //45 derecedir 1. yön için değiştirilebilir 0-180 arası olmalıdır //aşağıdaki 2. for döngüsündeki açı ile aynı çapraz olarak aynı olamalıdır { myservo.write(pos); delay(15); /*buradaki değer aşağıdaki ile aynı olmak zorundadır değeri ne akdar düşrürüseniz motor okadar hızlanır ancak belli bir noktadan sonra hızlanamayacaktır*/ } //2.(geri) dönüş yönü for döngüsü for(pos = 45; pos>=1; pos-=1) /*motorun dönüşü için olan döngüdür.*/ { myservo.write(pos); //burayı ellemeyniniz delay(15); //yukaraki delay değeriyle aynı olmalıdır. pwm (clock pals) gönderme aralıdıgıdır milisaniye cinsinden } break; //---------------------------------------------------------------------------------------------------------- case 1: Serial.println("Yagmur Yagiyor"); for(pos = 0; pos < 45; pos+= 1) //45 derecedir 1. yön için değiştirilebilir 0-180 arası olmalıdır //aşağıdaki 2. for döngüsündeki açı ile aynı çapraz olarak aynı olamalıdır { myservo.write(pos); delay(15); /*buradaki değer aşağıdaki ile aynı olmak zorundadır değeri ne akdar düşrürüseniz motor okadar hızlanır ancak belli bir noktadan sonra hızlanamayacaktır*/ } //2.(geri) dönüş yönü for döngüsü for(pos = 45; pos>=1; pos-=1) /*motorun dönüşü için olan döngüdür.*/ { myservo.write(pos); //burayı ellemeyniniz delay(15); //yukaraki delay değeriyle aynı olmalıdır. pwm (clock pals) gönderme aralıdıgıdır milisaniye cinsinden } break; // //---------------------------------------------------------------------------------------------------------- case 2: Serial.println("Kuru"); goto buraya; break; } delay(1000); }