TUTORIAL LINE FOLLOWER MENGGUNAKAN ARDUINO UNO
Arduino juga merupakan platform hardware terbuka yang ditujukan kepada siapa saja yang ingin membuat purwarupa peralatan elektronik interaktif berdasarkan hardware dan software yang fleksibel dan mudah digunakan. Mikrokontroler diprogram menggunakan bahasa pemrograman arduino yang memiliki kemiripan syntax dengan bahasa pemrograman C. Karena sifatnya yang terbuka maka siapa saja dapat mengunduh skema hardware arduino dan membangunnya.
Arduino menggunakan keluarga mikrokontroler ATMega yang dirilis oleh Atmel sebagai basis, namun ada individu/perusahaan yang membuat clone arduino dengan menggunakan mikrokontroler lain dan tetap kompatibel dengan arduino pada level hardware. Untuk fleksibilitas, program dimasukkan melalui bootloader meskipun ada opsi untuk membypass bootloader dan menggunakan downloader untuk memprogram mikrokontroler secara langsung melalui port ISP.
Salah satu Pemanfaatannya adalah untuk pembuatan Robot Line Follower. Berikut tutorial singkat sedikit sharing bagaimana cara membuat line follower dengan arduino
Alat dan bahan pembuatan Line Follower :
Arduino uno Motor DC
Sensor Photodioda Lampu led
ic L293D Socket IC
Tulang ikan Papan pcb bolong
Baterai 9 volt / baterai biasa 4 buah Sarang baterai
Resistor Kabel jumper
Spacer
1. Langkah Pertama
Siapkan badan robot kemudian pasangkan baterai 9 volt pada badan robot dengan menggunakan sarang batrai. Lalu, Lemkan ke badan robot.
- Badan robotnya bisa di buat dari papan pcb bolong atau yang lain.
- Pasang sensor photodioda dan lampu led be+serta resistornya pada papan pcb lain.
- Pasang Motor DC 2 buah pada kiri kanan badan robot.
- 2. Langkah kedua
Pasangkan Arduino Uno di atas baterai..boleh di lem atau pakai spacer. Usahakan agar bagian bawah dari Arduino Uno tidak bersinggungan langsung dengan badan baterai agar tidak terjadi konsleting.
- 3. Langkah Ketiga
- Pasang IC l293d pada socket dan satukan ke bagian badan robot.
- Letakkan IC di atas arduino Uno.
- 4. Langkah Keempat
- Pasangkan sensor di bagian depan robot. Sensor inilah yang nantinya membaca adanya garis hitam sehingga, robot dapat mengikuti alur garis yang ada.
- 5. Langkah Kelima
Langkah perakitan yang terakhir yaitu, menghubungkan pin-pin yang ada sesuai dengan Blok Diagram – Coba lihat dan perhatikan kembali hubungan pin-pin pada Blok Diagram Berikut :
1) Hubungkan kedua Pin VCC Sensor dengan Pin 5V Arduino.
2) Hubungkan kedua Pin Gnd Sensor dengan Pin Gnd Arduino
3) Hubungkan Pin Data Sensor Kanan dengan Pin A3 Arduino.
4) Hubungkan Pin Data Sensor Kiri dengan Pin A2 Arduino.
6) Hubungkan Pin En2 Driver DC Motor dengan Pin 6 Arduino.
7) Hubungkan Pin En3 Driver DC Motor dengan Pin 10 Arduino.
8) Hubungkan Pin En4 Driver DC Motor dengan Pin 11 Arduino.
9) Hubungkan Out Kanan Driver DC Motor dengan DC Motor Kanan.
10) Hubungkan Out Kiri Driver DC Motor dengan DC Motor Kiri.
11) Hubungkan Pin 5v Arduino dengan Kutub Positif (+) Baterai 9volt (yang pertama).
12) Hubungkan Pin Gnd Arduino dengan Kutub Negatif (-) Baterai 9volt (yang pertama).
13) Hubungkan Pin 12 Volt Driver DC Motor dengan Kutub Positif Baterai 9volt (yang kedua).
14) Hubungkan pin Gnd Driver DC Motor dengan Kutub Negatif Baterai 9volt (yang kedua).
15) Hubungkan Pin 5volt Driver DC Motor dengan Pin 5v Arduino.
- 6. Langkah Keenam
- Pemrograman Robotnya
- Sebelum mengisi program ada baiknya lepas hubungan baterai 9 volt yang ke Arduino, kemudian Hubungkan Arduino dengan Komputer atau Laptop menggunakan kabel USB.
- Bukalah IDE Arduino. Kemudian ketikkan Sketch atau Program berikut:
di COPAS juga boleh.Tapi, saya sarankan diketik ulang aja supaya lebih memahami alur programnya dan juga sekalian belajar.
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 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 | // Line follower using 2 IR photodetectors int EN_A = 9; // to 1,2EN of L293D int EN_B = 10; // to 3,4EN of L293D int IN_A1 = 5; // to 1A of L293D int IN_A2 = 6; // to 2A of L293D int IN_B1 = 7; // to 3A of L293D int IN_B2 = 8; // to 4A of L293D int speed = 700; boolean direction = 1; // 1 (true) indicates forward, 0 indicates reverse int left = 0; int right = 0; int limit = 600; // IR photodetector values above the limit indicates an // IR reflection from a white surface. void setup() { init_motors(); Serial.begin(9600); } void loop() { read_sensors(); move_robot(); delay(10); } void read_sensors() { // value of IR sensor reading should be above the limit when // the sensor is above a white surface left = analogRead(A0); right = analogRead(A1); Serial.print("Left: "); Serial.print(left); Serial.print(" Right: "); Serial.println(right); } void move_robot(){ if ( left >= limit && right >= limit ) { // robot on white surface // make robot move forward set_left_motor(speed, 1); set_right_motor(speed, 1); Serial.println("Moving Forward"); } else if ( left < limit && right >= limit ) { // robots left sensor above the black line, right sensor on white surface // make robot turn left set_left_motor(0, 1); // turn off left motor set_right_motor(speed, 1); // right motor turned on Serial.println("Turning Left"); } else if ( left >= limit && right < limit) { // robots right sensor above the black line, left sensor on white surface // make robot turn right set_left_motor(speed, 1); // left motor turned on set_right_motor(0, 1); // turn off right motor Serial.println("Turning Right"); } else { // both sensors above the black line // make robot stop set_left_motor(0, 1); set_right_motor(0, 1); Serial.println("Stop Moving"); } } void init_motors() { // set output modes pinMode(IN_A1, OUTPUT); pinMode(IN_A2, OUTPUT); pinMode(IN_B1, OUTPUT); pinMode(IN_B2, OUTPUT); pinMode(EN_A, OUTPUT); pinMode(EN_B, OUTPUT); // initialize ports to safely turn off the motors analogWrite(EN_A, 0); analogWrite(EN_B, 0); digitalWrite(IN_A1, 1); digitalWrite(IN_A2, 0); digitalWrite(IN_B1, 1); digitalWrite(IN_B2, 0); } void set_left_motor(int speed, boolean dir) { analogWrite(EN_A, speed); // PWM on enable lines digitalWrite(IN_A1, dir); digitalWrite(IN_A2, ! dir); } void set_right_motor(int speed, boolean dir) { analogWrite(EN_B, speed); digitalWrite(IN_B1, dir); digitalWrite(IN_B2, ! dir); } |
- 7. Langkah Ketujuh
- Jika program berjalan sebagaimana mestinya, barulah lepas kabel usb ke komputer, kemudian sambungkan lagi Arduino kita dengan baterai 9 volt.
Nah ini hasil uji cobanya……
sekian artikel Cara Membuat Robot Line Follwer
apabila anda ingine membeli bahan robot tersebut dengan murah disini
Tidak ada komentar:
Posting Komentar