Ullam ne por arum sim sunt alit unt recate duciatiscium
YUK Belajar arduino !
Daftar Isi
Daftar isi
Starter Kit Arduino ... 4
Apa saja di dalam Starter Kit ?... 4
Pengenalan Arduino... 6
Apa itu Arduino ? ... 6
Arduino IDE ... 7
Upload Program Arduino ... 8
Serial Monitor ... 9
Menambahkan & Menggunakan Library ... 10
01 - Kontrol Lampu LED ... 12
02 - Membaca Input Switch ... 15
03 - Display Teks dengan LCD I2C ... 18
04 - Termometer dengan DHT11 ... 21
05 - Penggaris Digital dengan Ultrasonik ... 24
06 - Alarm Anti Maling ... 27
07 - Lampu Teras Otomatis ... 30
08 - Lampu Tidur Pelangi ... 33
09 - Detektor Objek dengan Infrared ... 36
10 - Mengontrol Motor Servo ... 39
11 - Input Angka dengan Keypad ... 42
Starter Kit Arduino
1 Apa saja di dalam Starter Kit ?
1
4
7
10
14 8 9
12
13
17
15
18 11
5 6
2 3
No Nama Item Qty
1 Arduino Uno dengan Kabel USB 1
2 Breadboard 400 1
3 LED Merah, LED Hijau, LED Kuning 9 4 LCD Karakter 16x2 with I2C Module 1 5 DHT11 Sensor Suhu dan Kelembapan 1
6 LED RGB (Red, Green, Blue) 1
7 LDR (Light Dependent Resistor) 1
8 Sensor Ultrasonik HC-SR04 1
9 Sensor Gerakan (PIR) 1
10 Motor Servo SG90 1
11 Buzzer Active 5V 1
12 Keypad Matrix 4x4 1
13 Resistor 330 ohm, 10K ohm, 120K ohm 9
14 Potentiometer 10K 1
15 Switch 5mm 8
16 Sensor Halangan 1
17 Jumper Male Male 20cm 5
Jumper Male Female 20cm 5
Pengenalan Arduino
1 Apa itu Arduino ?
Arduino Uno R3 DIP Version
A
rduino adalah board modul mikrokontroller yang digunakan untuk membuat perangkat digital. Board Arduino dilengkapi dengan pin Input/Output (I/O) baik digital maupun analog yang dapat digunakan untuk menghubungkan Arduino dengan komponen lain seperti modul sensor, lampu LED, motor DC, modul bluetooth, komunikasi serial dan banyak lagi.Arduino merupakan sistem mikrokontroller yang menjalankan program yang diupload oleh pengguna menggunakan Arduino IDE. Pemograman dapat menggunakan bahasa pemograman C dan C++.
Terdapat banyak versi Arduino yang ada di pasaran, seperti Arduino UNO, Arduino Mega2560, Arduino Nano, Pro Mini, Leonardo dan lain- lain. Pada Starter Kit Arduino ini kita lengkapi dengan Arduino UNO yang menggunakan IC dari Atmel yaitu ATMega328P.
Arduino UNO memiliki 14 pin input/output digital. Di mana dari 14 pin tersebut, 6 pin dapat digunakan untuk output sinyal PWM dan 6 pin untuk input sinyal analog.
Pengenalan Arduino
2 Arduino IDE
Tampilan Arduino IDE
Arduino IDE digunakan untuk menulis program yang akan diupload ke board Arduino untuk melakukan tugas yang diperintahkan pengguna. Program yang ditulis menggunakan Arduino IDE disebut Sketch.
Gambar di atas adalah tampilan Arduino IDE. Setiap sketch Arduino selalu memiliki 2 bagian fungsi utama, yaitu fungsi setup() dan loop().
Fungsi setup() diproses oleh Arduino pada saat pertama kali diaktifkan, sering kali digunakan untuk melakukan konfigurasi sesuai yang dibutuhkan. Sedangkan fungsi loop() akan diproses oleh Arduino secara berulang-ulang, di sinilah program utama
3 Upload Program Arduino
Sebelum melakukan upload program Arduino, pastikan board yang terpilih dan port sesuai dengan modul Arduino yang dimiliki, pada percobaan ini kita gunakan Arduino UNO.
Ubah board pada Tools > Board > Arduino UNO.
Pilih Port pada Tools > Port > COMx (sesuaikan dengan yang ada)
Tampilan di atas adalah program untuk menyalakan LED dan mematikan LED selama 1 detik (1000ms).
Untuk percobaan ini, coba untuk merubah nilai delay(1000) menjadi delay(500).
Kemudian tekan tombol upload. Perhatikan apa yang terjadi pada LED di modul Arduino UNO.
Verify untuk melakukan pengecekan error pada program.
Upload untuk upload program ke modul Arduino.
Pengenalan Arduino
4 Serial Monitor
Fungsi serial monitor adalah sebagai tampilan komunikasi antara modul Arduino dan Komputer. Dengan serial monitor kita dapat mengirim dan menerima data seperti alphabet dan angka.
Untuk memulai komunikasi serial, perlu dilakukan fungsi
Serial.begin(9600) di dalam fungsi setup(), yang berarti Arduino memulai komunikasi serial dengan baud rate 9600 bps.
Ketika hendak mengirim data ke komputer melalui serial dapat melakukan fungsi Serial.print(“HELLO”). Di mana “HELLO”
adalah data yang dikirim.
Tombol Serial monitor di pojok kanan atas Arduino IDE.
5 Menambahkan & Menggunakan Library
Library pada Arduino adalah kumpulan coding yang memiliki fungsi khusus untuk menghubungkan komponen seperti sensor, LCD, motor dan lain-lain. Dengan menggunakan library tambahan dapat memudahkan pembuatan program Arduino.
Untuk menggunakan library, dapat mendownload jenis libary yang dibutuhkan. Sebagai contoh, kita akan menggunakan library LiquidCrystal I2C. Library berfungsi untuk menggunakan LCD dengan modul I2C.
Pilih menu Sketch > Include Library > Add .ZIP Library.
Pilih library yang akan ditambah. Pada contoh kita gunakan LiquidCrystal_V1.2.1
Pengenalan Arduino
Untuk menggunakan library pada Arduino bisa melalui menu Sketch > Include Library > Library yang digunakan.
Cara ini akan menambahkan baris #include pada code untuk setiap file header (ekstensi file .h)
Pada contoh di bawah, sudah ditambahkan library untuk LiquidCrystal_I2C.h pada program.
Menambahkan library juga dapat dilakukan manual dengan meletakkan folder library pada folder Documents\Arduino\
Libraries.
01 - Kontrol Lampu LED
1 INTRO
Pada project ini kita akan mengenal bagaimana mengontrol LED dan fungsi dasar dari program dengan Arduino. Dengan cara yang sama kita juga dapat mengontrol pin digital pada Arduino agar dapat diaplikasikan pada modul lain.
Gunakan resistor sebesar 330 ohm untuk membatasi arus yang melewati LED agar tidak cepat putus.
Hubungkan kaki Anode pada sumber arus dan Cathode pada Ground. Pada umumnya, kaki Anode lebih panjang daripada kaki Cathode.
Kita juga akan mengenal Breadboard atau Project Board. Breadboard digunakan untuk menghubungkan komponen yang terpasang.
Dapat dilihat bahwa lubang yang terhubung digambarkan dengan garis.
01 - Kontrol Lampu LED
2 DAFTAR KOMPONEN
No Nama Item Qty
1 Arduino Uno 1
2 Breadboard 400 1
3 LED 3
4 Resistor 330 ohm 3
5 Jumper Male Male 4
3 Skematik
4 Source Code
1 void setup() {
2 pinMode(5, OUTPUT);
3 pinMode(6, OUTPUT);
4 pinMode(7, OUTPUT);
• pinMode
Menentukan pin sebagai INPUT / OUTPUT
• digitalWrite(pin, logic)
Menentukan logic pin menjadi HIGH / LOW.
HIGH = 5V, LOW = 0V / Ground.
• delay(x)
Tunda selama durasi x (satuan miliseconds) 7 void loop() {
8 digitalWrite(5, HIGH);
9 delay(200);
10 digitalWrite(6, HIGH);
11 delay(200);
12 digitalWrite(7, HIGH);
13 delay(200);
14 digitalWrite(5, LOW);
15 delay(200);
16 digitalWrite(6, LOW);
17 delay(200);
18 digitalWrite(7, LOW);
19 delay(200);
20 }
Hasil dari program ini adalah 3 buah LED akan menyala bergiliran dengan delay 200 miliseconds. Kemudian juga secara bergiliran LED akan mati dari urutan pertama dengan delay sebesar 200 miliseconds.
02 - Membaca Input Switch
02 - Membaca Input Switch
1 INTRO
Pada project 01, kita membuat program Arduino yang menghasilkan output digital berupa HIGH dan LOW. Project ini akan membahas cara membaca input digital dari switch.
Switch yang akan kita gunakan adalah push on di mana switch ini menghubungkan ketika ditekan saja, begitu pula sebaliknya jika dilepas koneksi akan terputus. Memanfaatkan fungsi digitalRead dari Arduino, kita dapat mengetahui status switch.
2 DAFTAR KOMPONEN
No Nama Item Qty
1 Arduino Uno 1
2 Breadboard 400 1
3 LED 1
4 Tactile Switch 1
5 Resistor 10K ohm 1
3 Skematik
4 Source Code
1 int pinLed = 7;
2 int pinSwitch = 3;
3 int val = 0;
45 void setup() {
6 pinMode(pinLed, OUTPUT);
7 pinMode(pinSwitch, INPUT);
8 }
109 void loop(){
11 val = digitalRead(pinSwitch);
12 if (val == HIGH) {
13 digitalWrite(pinLed, LOW);
14 } else {
15 digitalWrite(pinLed, HIGH);
16 } 17 }
02 - Membaca Input Switch
• digitalRead(pin)
Membaca status dari pin, jika pin diberi 5V, maka hasil pembacaan menjadi HIGH, begitu pula jika pin diberi 0V maka hasil menjadi LOW.
• if(condition) { // statements
} Melakukan pengecekan pada condition, jika TRUE / HIGH, maka statements akan dieksekusi.
LED yang terpasang pada pin 7 akan menyala diberi tegangan Ground (LOW) ketika tombol ditekan. Begitu pula sebaliknya ketika tombol di lepas, maka LED akan diberi tegangan 5V (HIGH).
03 - Display Teks dengan LCD I2C
1
2
INTRO
DAFTAR KOMPONEN
No Nama Item Qty
1 Arduino Uno 1
2 LCD with I2C Module 1
3 Jumper Male Female 4
Pada project ini kita akan membahas bagaimana menghubungkan LCD (Liquid Crystal Display) dengan Arduino dan menampilkan tulisan. LCD Karakter 16x2 ini sangat populer digunakan karena praktis untuk menampilkan informasi mengenai sensor dan status dari project Arduino.
Project ini akan membahas cara mengakses LCD dengan modul I2C. Kelebihan modul I2C adalah memperingkas koneksi antara Arduino dan LCD sehingga membutuhkan hanya 4 pin kabel saja.
Untuk memudahkan penggunaan, kita gunakan Library LCD I2C.
03 - Display Teks dengan LCD I2C
3
4
Skematik
Source Code
1 #include <Wire.h>
2 #include <LiquidCrystal_I2C.h>
34 LiquidCrystal_I2C lcd(0x27, 16, 2);
56 void setup() { 7 lcd.begin();
8 lcd.backlight();
9 lcd.print("Hello, world!");
10 lcd.setCursor(0,1);
11 lcd.print("STARLECTRIC");
12 }
1314 void loop() {
Setelah program di jalankan, LCD akan menampilkan tulisan
“Hello World” pada baris pertama. Dan tulisan “Starlectric” pada baris kedua.
Note : Gunakan LiquidCyrstal_I2C lcd(0x3F, 16, 2) pada baris 4 jika alamat I2C 0x27 tidak dapat berfungsi.
• lcd.begin();
Lakukan fungsi ini untuk inisialisasi LCD.
• lcd.print(text);
Fungsi untuk menampilkan text.
• lcd.setCursor(x,y);
Fungsi untuk memindahkan kursor ke baris x, kolom y.
04 - Termometer Dengan DHT11
04 - Termometer dengan DHT11
1
2
INTRO
Daftar Komponen
No Nama Item Qty
1 Arduino Uno 1
2 LCD with I2C Module 1
3 DHT11 Sensor 1
DHT11 adalah sensor yang dapat mengukur nilai suhu dan kelembapan udara di sekitar. DHT11 mampu mengukur suhu dengan rentang suhu antara 0 hingga +50 derajat Celsius dengan akurasi + 2 derajat Celsius. Sedangkan rentang kelembapan yang dapat diukur adalah 20 hingga 80% dengan akurasi 5%.
Project ini akan melakukan pembacaan nilai suhu dan kelembapan dari sensor DHT11 dan menampilkan hasil pembacaan pada LCD 16x2.
3
4
Skematik
Source Code
1 #include <Wire.h>
2 #include <LiquidCrystal_I2C.h>
3 #include <dht.h>
45 LiquidCrystal_I2C lcd(0x27, 16, 2);
6 dht DHT;
78 void setup(){
9 lcd.begin();
10 lcd.backlight();
11 delay(1000);
12 }
1314 void loop(){
15 DHT.read11(7);
16 lcd.clear();
04 - Termometer Dengan DHT11 17 lcd.print("Temp : ");
18 lcd.print(DHT.temperature);
19 lcd.print(" C");
20 lcd.setCursor(0,1);
21 lcd.print("Humid : ");
22 lcd.print(DHT.humidity);
23 lcd.print(" %");
24
25 delay(5000);
26 }
• DHT.read11(pin)
Fungsi untuk melakukan pembacaan data dari sensor DHT11 yang dihubungkan pada pin 7 di Arduino.
• DHT.temperature
Fungsi untuk mengambil nilai temperature yang sudah diukur.
• DHT.humidity
Fungsi untuk mengambil nilai kelembapan yang sudah diukur.
Dengan menggabungkan dengan project LCD sebelumnya, kita dapat menampilkan hasil pembacaan sensor DHT11 langsung pada LCD.
Delay sebesar 5000 miliseconds (5 detik) berfungsi untuk memberi waktu kepada sensor untuk mengukur suhu sebelum Arduino meminta nilai hasil pengukuran selanjutnya.
05 - Penggaris Digital dengan Ultrasonik
1
2
INTRO
Daftar Komponen
No Nama Item Qty
1 Arduino Uno 1
2 LCD with I2C Module 1
3 Sensor Ultrasonik HC-SR04 1
4 Jumper Male Male 8
Sensor jarak dengan ultrasonik yang digunakan adalah HC-SR04.
Prinsip kerja dasar sensor ini adalah memancarkan gelombang ultrasonik yang kemudian menyentuh objek di depan dan dipantulkan kembali.
Gelombang pantulan ditangkap oleh
receiver. Dengan menghitung jarak antara waktu pancar dan terima menghasilkan jarak objek dengan sensor.
05 - Penggaris Digital Dengan Ultrasonik
3
4
Skematik
Source Code
1 #include <HCSR04.h>
2 #include <Wire.h>
3 #include <LiquidCrystal_I2C.h>
45 LiquidCrystal_I2C lcd(0x27, 16, 2);
6 HCSR04 hc(5,6); // (5-pin Trig , 6-pin Echo)
78 void setup() 9 {
10 lcd.begin();
11 lcd.backlight();
12 lcd.print(“Jarak Objek : “);
13 }
15 void loop(){
16 lcd.setCursor(0,1);
17 lcd.print(hc.dist());
18 lcd.print(" cm ");
19 delay(300);
20 }
• HCSR04 hc(Trig, Echo);
Inisialisasi sensor dengan posisi pin Trig dan pin Echo.
• hc.dist();
Fungsi ini untuk mendapatkan hasil pengukuran jarak.
Jarak yang dihasilkan dalam satuan cm.
Kita memanfaatkan library baru yaitu library “HCSR04.h”.
Inisialisasi awal sensor dilakukan di bvaris 6, di mana pin 5 terhubung ke pin Trig, begitu pula pin 6 terhubung ke pin Echo di sensor. Pin tersebut dapat diubah menyesuaikan pemasangan pada Arduino.
06 - Alarm Anti Maling
06 - Alarm Anti Maling
1 INTRO
Project ini kita akan memanfaatkan sensor gerakan atau biasa disebut PIR Motion Sensor yang dapat mendeteksi gerakan di depan sensor dengan sudut pandang hingga 110° dan jarak deteksi hingga 10 meter. Sensor dapat diatur sensitifitas dan durasi trigger menyesuaikan dengan kebutuhan dengan memutar potentiometer di modul.
Dengan membaca output digital dari sensor, kita dapat mengetahui adanya gerakan manusia dan membunyikan buzzer ketika terdapat gerakan.
2 Daftar Komponen
No Nama Item Qty
1 Arduino Uno 1
2 Sensor Gerakan PIR 1
3 Buzzer Active Mini 1
3
4
Skematik
Source Code
1 int pir = 3;
2 int buzzer = 7;
3 int deteksi = 0;
45 void setup() {
6 pinMode(pir, INPUT);
7 pinMode(buzzer,OUTPUT);
8 }
109 void loop() {
11 deteksi = digitalRead(pir);
1213 if(deteksi == HIGH) { 14 alarmAktif();
15 } 16 } 17
06 - Alarm Anti Maling 18 void alarmAktif() {
19 for(int i=0; i<10; i++) { 20 digitalWrite(buzzer, HIGH);
21 delay(100);
22 digitalWrite(buzzer, LOW);
23 delay(100);
24 } 25 }
• digitalRead(pin);
Membaca status digital pada pin yang dipilih.
• for(awal; kondisi; penambahan);
Metode looping dengan nilai awal dan kondisi yang digunakan untuk akhir pengulangan. Pengulangan akan terjadi selama kondisi belum tercapai. Penambahan dilakukan setiap terjadi loop.
Dari coding di atas, PIR akan menghasilkan output digital berupa HIGH atau LOW ketika mendeteksi gerakan. Output tersebut dibaca dengan fungsi digitalRead(pin), kemudian dicek apakah output PIR adalah HIGH. Jika HIGH, maka terdapat gerakan, maka lakukan fungsi alarmAktif().
Pada fungsi tersebut kita lakukan pengulangan dengan metode for loop. Di mana mengaktifkan buzzer selama 100ms dan mematikan buzzer selama 100ms diulang sebanyak 10 kali.
07 - Lampu Teras Otomatis
1 INTRO
Kita akan menggunakan sensor LDR (Light Dependent Resistor) pada project ini. LDR adalah resistor variabel yang nilai tahanannya berubah mengikuti intensitas cahaya. Dengan memanfaatkan sifat LDR tersebut, kita dapat mendeteksi pagi atau malam maupun cerah atau mendung.
Arduino membaca nilai tahanan dengan menggunakan ADC (Analog to Digital Converter) yaitu mengkonversi tegangan analog menjadi nilai digital yang dapat dibaca Arduino.
2 Daftar Komponen
No Nama Item Qty
1 Arduino Uno 1
2 LDR (Light Dependent Resistor) 1
3 Resistor 120 kOhm 1
4 Resistor 330 ohm 1
5 LED 1
6 Jumper Male Male 4
07 - Lampu Teras Otomatis
3
4
Skematik
Source Code
1 int ldr = A0;
2 int led = 7;
3 int intensitas = 0;
45 void setup() {
6 pinMode(led, OUTPUT);
7 Serial.begin(9600);
8 }
109 void loop() {
11 intensitas = analogRead(ldr);
12 Serial.println(intensitas);
1314 if(intensitas < 700) { 15 digitalWrite(led, HIGH);
ADC pada Arduino menghasilkan nilai antara 0 - 1023. Karena cahaya berbeda-beda di setiap tempat, maka standar terang dan gelap akan berbeda juga. Oleh karena itu kita akan membaca intensitas cahaya yang terbaca LDR dengan Serial Monitor. Upload coding ke Arduino dan buka Serial Monitor. Buka dan tutup LDR dengan tangan untuk melihat nilai ketika terang dan gelap.
Pada contoh serial monitor di atas, ketika cahaya terang LDR menghasilkan nilai ~900, sedangkan ketika gelap nilainya ~600.
Dengan hasil tersebut, kita dapat mengubah batas antara terang dan gelap, pada contoh project ini kita melakukan pengecekan jika intensitas dibawah 700, maka bisa dikatakan cahaya sedang gelap dan perintah Arduino untuk menyalakan LED.
17 else {
18 digitalWrite(led, LOW);
19 } 20 }
• analogRead(pin);
Membaca tegangan sinyal analog pada pin. Hasil pengukuran dalam kisaran 0 - 1023 (0 - 5V)
• Serial.println(data);
Mengirim data melalui komunikasi serial. Dapat dilihat melalui Serial Monitor dalam Arduino IDE.
08 - Lampu Tidur Pelangi
08 - Lampu Tidur Pelangi
1 INTRO
Untuk menghasilkan warna LED yang bervariasi, kita gunakan LED RGB (Red Green Blue).
Dengan mengkombinasikan ketiga warna tersebut, kita
bisa mendapatkan banyak warna. Arduino dapat mengontrol LED tersebut dengan PWM (Pulse Width Modulation). Sehingga perubahan warna setiap LED dapat dikontrol dengan mudah.
LED RGB yang akan digunakan pada project ini adalah Common Cathode, dimana kaki paling panjang adalah kaki Common dan terhubung ke Ground.
2 Daftar Komponen
No Nama Item Qty
1 Arduino Uno 1
2 LED RGB 1
3
4
Skematik
Source Code
1 int red_RGB = 9;
2 int green_RGB = 11;
3 int blue_RGB = 10;
45 void setup() {
6 pinMode(red_RGB, OUTPUT);
7 pinMode(green_RGB, OUTPUT);
8 pinMode(blue_RGB, OUTPUT);
9 }
1011 void loop() {
12 RGB_color(255, 0, 0); //Red 13 delay(1000);
14 RGB_color(0, 255, 0); //Green 15 delay(1000);
16 RGB_color(0, 0, 255); //Blue 17 delay(1000);
08 - Lampu Tidur Pelangi 18 RGB_color(255, 255, 125); //Raspberry
19 delay(1000);
20 RGB_color(0, 255, 255); //Cyan 21 delay(1000);
22 RGB_color(255, 0, 255); //Magenta 23 delay(1000);
24 RGB_color(255, 255, 0); //Yellow 25 delay(1000);
26 RGB_color(255, 255, 255); //White 27 delay(1000);
28 }
2930 void RGB_color(int nRed, int nGreen, int nBlue)
31 {
32 analogWrite(red_RGB, nRed);
33 analogWrite(green_RGB, nGreen);
34 analogWrite(blue_RGB, nBlue);
35 }
Dapat dilihat pada fungsi RGB_color terdapat fungsi analogWrite(pin, nilai) yang berguna untuk menghasilkan sinyal PWM pada pin tersebut.
Dengan mengatur nilai yang diberikan pada pin LED RGB dapat menghasilkan kombinasi warna yang berbeda-beda.
• analogWrite(pin, nilai);
Output sinyal PWM pada pin dengan nilai range antara 0-255.
• // comment
09 - Detektor Objek dengan Infrared
1 INTRO
Kita akan menggunakan modul Obstacle Sensor yang berfungsi mendeteksi objek atau halangan di depan sensor.
Dengan menggunakan sinar Infrared dan Photodiode, objek
yang memantulkan sinar akan terdeteksi. Aplikasi sensor ini sangat luas seperti menghitung jumlah orang lewat, sensor parkir mobil dan lain-lain.
2 Daftar Komponen
No Nama Item Qty
1 Arduino Uno 1
2 Sensor Halangan / Obstacle 1
3 Buzzer Active Mini 1
4 Jumper Male Female 3
5 Jumper Male Male 2
09 - Detektor Objek dengan Infrared
3
4
Skematik
Source Code
1 int sensor = 5;
2 int buzzer = 7;
3 int detektor = 0;
45 void setup() {
6 pinMode(sensor, INPUT);
7 pinMode(buzzer, OUTPUT);
8 }
109 void loop() {
11 detektor = digitalRead(sensor);
1213 if(detektor == HIGH) {
14 digitalWrite(buzzer, HIGH);
17 else {
18 digitalWrite(buzzer, LOW);
19 } 20 }
Sensor halangan menghasilkan sinyal digital, sehingga dapat dibaca menggunakan fungsi digitalRead().
Sensitifitas sensor dapat diatur dengan cara memutar trimpot pada modul sensor. Jarak maksimal yang dapat dideteksi adalah 6 cm.
10 - Mengontrol Motor Servo
10 - Mengontrol Motor Servo
1 INTRO
Motor Servo adalah jenis motor dengan karakteristik dapat dikontrol dengan lebih presisi dibanding motor DC biasa. Di dalam motor servo terdapat rangkaian gearbox yang memungkinkan servo dikontrol dengan presisi dan dapat mempertahankan posisi.
Servo sering kali digunakan untuk mengontrol posisi barang yang membutuhkan ketepatan setiap dieksekusi, contohnya seperti kemudi roda depan pada mobil Radio Control (RC).
2 Daftar Komponen
No Nama Item Qty
1 Arduino Uno 1
2 Motor Servo SG90 1
3 Potentiometer 10K 1
3
4
Skematik
Source Code
1 #include <Servo.h>
23 Servo motorServo;
45 int pinPotentiometer = A0;
6 int nilai;
78 void setup() {
9 motorServo.attach(9);
10 }
1112 void loop() {
13 nilai = analogRead(pinPotentiometer);
14 nilai = map(nilai, 0, 1023, 0, 180);
15 motorServo.write(nilai);
16 delay(15);
17 }
10 - Mengontrol Motor Servo Pada project ini kita mencoba mengontrol posisi motor servo mengikuti posisi potentiometer. Dengan membaca nilai analog potentiometer, kita dapat mengetahui posisi putarannya.
Menggunakan fungsi map(), kita dapat melakukan skala range nilai awal menjadi range nilai yang kita inginkan.
Pada contoh ini, motor servo yang digunakan adalah SG90 yang dapat berputar 180°.
• map(nilaiA, awalA, akhirA, awalB, akhirB)
Fungsi mapping yang menyesuaikan nilaiA yang berada dalam range awalA dan akhirA menjadi dalam range awalB dan akhirB.
• motorServo.write(nilai)
Menggerakan motor servo 180° ke posisi derajat sebesar nilai.
11 - Input Angka dengan Keypad
1 INTRO
Keypad digunakan untuk input angka. Keypad dapat dimanfaatkan di banyak aplikasi seperti, input nomor antrian, input angka alarm dan lain-lain. Keypad 4x4 memiliki 10 tombol angka, tombol #, tombol * dan 4 tombol custom. Konektornya adalah 8 pin yang terdiri dari 4 pin Kolom dan 4 pin Baris.
Cara kerja keypad adalah ketika salah satu tombol ditekan, satu pin kolom dan pin baris akan terhubung. Dengan metode scanning setiap kolom dan baris, Arduino dapat mengetahui tombol mana yang ditekan.
2 Daftar Komponen
No Nama Item Qty
1 Arduino Uno 1
2 Keypad 4x4 1
3 Jumper Male Female 8
11 - Input Angka dengan Keypad
3
4
Skematik
Source Code
1 #include <Keypad.h>
23 const byte BARIS = 4; //4 baris 4 const byte KOLOM = 4; //4 kolom 56 //tentukan posisi tiap tombol
7 char poosisiTombol[BARIS][KOLOM] = { 8 {'1','2','3','A'},
9 {'4','5','6','B'}, 10 {'7','8','9','C'}, 11 {'*','0','#','D'}
12 };
13 byte pinBaris[BARIS] = {13, 12, 11, 10};
//koneksi pin baris Keypad
14 byte pinKolom[KOLOM] = {9, 8, 7, 6};
16 Keypad tombolKeypad = Keypad( makeKey- map(poosisiTombol), pinBaris, pinKolom, BARIS, KOLOM);
1718 void setup(){
19 Serial.begin(9600);
20 } 21
22 void loop(){
23 char tombol = tombolKeypad.getKey();
24
25 if(tombol){
26 Serial.println(tombol);
27 } 28 }
Pada coding baris 3 dan 4 kita dapat menyesuaikan keypad yang akan dipakai, pada contoh ini digunakan keypad 4 baris dan 4 kolom.
Pada baris 7 kita menentukan posisi tombol, kita menyesuaikan dengan keypad yang ada dalam Starter Kit. Terdapat 4 buah tombol A-D yang dapat digunakan untuk fungsi-fungsi khusus.
Starlectric Masih banyak sensor dan komponen tambahan lain untuk project Arduino yang dapat kalian coba seperti :
• Mengirim SMS dengan Arduino
• Koneksi dengan Smartphone via Bluetooth
• Membuat Remote Control
• Robot Line Follower
• Detektor Kebocoran Gas LPG
• Palang Pintu Otomatis
• Pemanggil Nomor Antrian
• Kontrol Lampu Otomatis
• Pengukur Kelembapan Tanah
• Detektor Curah Hujan
• Pengukur Detak Jantung
Klik untuk kunjungi Tokopedia Starlectric
Klik untuk kunjungi Bukalapak Starlectric
Follow kami di :
Klik untuk kunjungi Instagram Starlectric
Untuk informasi teknis dan penjualan, hubungi kami di : phone : 0878-789-78-609
Starlectric
Nantikan seri lainnya di
Starlectric !