http://arduinom.org/online-otomatik-sulama-sistemi/
YAZ DÖNEMİ ÖRNEK PROJELER
https://www.robimek.com/otomatik-bitki-sulama-projesi/
video : https://www.youtube.com/watch?v=wB4gwXb9anI
YAZ DÖNEMİ ÖRNEK PROJELER
https://www.robimek.com/otomatik-bitki-sulama-projesi/
video : https://www.youtube.com/watch?v=wB4gwXb9anI
ARDUINO UNO PROJE LİNKLERİ
IŞIK ALGILAMA
ARDUİNO UNO LED MATRİX KAYAN YAZI PROJESİ
SESLERİ LCD EKRANA YAZDIRMA
ANDROİD KONTROLLÜ ODA LAMBASI
2.4 İNCH DOKUNMATİK TFT EKRAN İLE PAİNT UYGULAMASI
ARDUİNO TELEFON KONTROLLÜ TEKNE YAPIMI
BU YAPILABİLİR === http://www.projehocam.com/arduino-telefon-kontrollu-tekne-yapimi/
WİFİ KONTROLLÜ ARABA ( NODEMCU )
Engelden Kaçan Robot Yapımı
Merhaba arkadaşlar uzun zaman önce WALL-E oyuncağı ile bir adet engelden kaçan robot yapmıştım. Bu robot 3 Adet servo motor kullanılmıştı. Yoğun istekten dolayı bu sefer oğlumla birlikte bu robotu yapma çalışmalarına başladık.
Oğlum çok ısrar ettiğinden dolayı onu biraz meşgul edebilirim düşüncesiyle kolları sıvadık.
Robot bir tane servo ve 2 adet DC motordan oluşuyor. Ayrıca DC motorların kontrolü için Motor sürücü modülünü kullanmak zorunda kaldık. DC motor yerine servo motor kullansaydık bu modülü kullanmamıza gerek kalmayacaktı.
Projede 2x 18650 Li-on pilleri seri bağlayarak projenin daha uzun çalışmasını sağladım.
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
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
| #include <AFMotor.h> #include <NewPing.h> #include <Servo.h> #define TRIG_PIN A5 #define ECHO_PIN A4 #define MAX_DISTANCE 200 #define MAX_SPEED 190 // Motorlarin hizlarini ayarlayabilirsiniz. #define MAX_SPEED_OFFSET 20 NewPing sonar(TRIG_PIN, ECHO_PIN, MAX_DISTANCE); AF_DCMotor motor1( 1 , MOTOR12_1KHZ); AF_DCMotor motor2( 2 , MOTOR12_1KHZ); Servo myservo; boolean goesForward = false ; int distance = 100 ; int speedSet = 0 ; void setup () { myservo.attach( 9 ); myservo.write( 115 ); delay ( 2000 ); distance = readPing(); delay ( 100 ); distance = readPing(); delay ( 100 ); distance = readPing(); delay ( 100 ); distance = readPing(); delay ( 100 ); } void loop () { int distanceR = 0 ; int distanceL = 0 ; delay ( 40 ); if (distance< = 15 ) { moveStop(); delay ( 100 ); moveBackward(); delay ( 300 ); moveStop(); delay ( 200 ); distanceR = lookRight(); delay ( 200 ); distanceL = lookLeft(); delay ( 200 ); if (distanceR> = distanceL) { turnRight(); moveStop(); } else { turnLeft(); moveStop(); } } else { moveForward(); } distance = readPing(); } int lookRight() { myservo.write( 50 ); delay ( 500 ); int distance = readPing(); delay ( 100 ); myservo.write( 115 ); return distance; } int lookLeft() { myservo.write( 170 ); delay ( 500 ); int distance = readPing(); delay ( 100 ); myservo.write( 115 ); return distance; delay ( 100 ); } int readPing() { delay ( 70 ); int cm = sonar.ping_cm(); if (cm = = 0 ) { cm = 250 ; } return cm; } void moveStop() { motor1.run(RELEASE); motor2.run(RELEASE); } void moveForward() { if ( ! goesForward) { goesForward = true ; motor1.run(FORWARD); motor2.run(FORWARD); for (speedSet = 0 ; speedSet < MAX_SPEED; speedSet + = 2 ) // slowly bring the speed up to avoid loading down the batteries too quickly { motor1.setSpeed(speedSet); motor2.setSpeed(speedSet + MAX_SPEED_OFFSET); delay ( 5 ); } } } void moveBackward() { goesForward = false ; motor1.run(BACKWARD); motor2.run(BACKWARD); for (speedSet = 0 ; speedSet < MAX_SPEED; speedSet + = 2 ) // slowly bring the speed up to avoid loading down the batteries too quickly { motor1.setSpeed(speedSet); motor2.setSpeed(speedSet + MAX_SPEED_OFFSET); delay ( 5 ); } } void turnRight() { motor1.run(FORWARD); motor2.run(BACKWARD); delay ( 300 ); motor1.run(FORWARD); motor2.run(FORWARD); } void turnLeft() { motor1.run(BACKWARD); motor2.run(FORWARD); delay ( 300 ); motor1.run(FORWARD); motor2.run(FORWARD); } |
Proje biraz şekilsiz duruyor projenin gövdesi 1Lt lik Dondurma kutularının kapağından yaptık. 3 kapağı birleştirerek sert bir gövde oluşturdum ve maalesef silikon tabancasında bir tane silikon çubuğu bitirdim. Deneme yapacağım bakalım uzun süre oğlum Burak’ın elinden kurtulabilecek mi?
Projede şunu belirtmek istiyorum . Program size motor hızını ayarlamanızı sağlıyor ve unutmayın ilk kalkışta en çok enerji tüketilen zaman olduğundan dolayı bunu motorları yavaştan hızlıya doğru yaptığından dolayı batarya ömrü biraz daha uzun olacaktır.
Kullanılan Malzemeler
Arduino UNO
L293D Arduino UNO Motor Shield
2x DC Motor.
1x Servo Motor
1x Ultrasonik Sensör
Bağlantı Şekli
Projede kullanılan DC motorların soldaki olanını Motor kontrol modülünün M1 girişine, Sağdaki motoru ise M2 girişine bağlayın.
Ultrasonik sensörün GND ve VCC uçlarını arduinonun GND ve VCC uçlarına bağlayın. Şimdi en önemli sorun Motor modülünü yerleştirdiğiniz zaman size A0-A5 pinlerini kullanmaya izin veriyor.
Bizde Trig için A5 , Echo için A4 pinlerini kullandık.
Servo motoru L293D motor sürücüsünde Servo1 pinine bağlayınız . Projeniz artık hazır hale gelecektir.
Not: Ön teker için kullanacağınız Crazy tekerden bulamadığımız için kendi legolarından bir kombinasyon hazırladık. Bundan dolayı halı üzerinde hareketlerinde zorlanıyor.
Hiç yorum yok:
Yorum Gönder