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
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 |
// Silecekli kask // // Made by Fatih Yilmaz // License: CC-BY-SA 3.0 #include <Servo.h> //14.04.17 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); } |