0% menganggap dokumen ini bermanfaat (0 suara)
93 tayangan

Arduino

Arduino adalah perangkat bersifat open source yang sering digunakan untuk merancang dan membuat perangkat elektronik seperti robot, smart home, IoT, wearables, pendidikan, dan monitoring lingkungan. Arduino menggunakan bahasa pemrograman Arduino yang mirip C++ dan terdiri dari mikrokontroler, pin, dan konektor untuk menghubungkan komponen lain.

Diunggah oleh

joko prabowo
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PPTX, PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
93 tayangan

Arduino

Arduino adalah perangkat bersifat open source yang sering digunakan untuk merancang dan membuat perangkat elektronik seperti robot, smart home, IoT, wearables, pendidikan, dan monitoring lingkungan. Arduino menggunakan bahasa pemrograman Arduino yang mirip C++ dan terdiri dari mikrokontroler, pin, dan konektor untuk menghubungkan komponen lain.

Diunggah oleh

joko prabowo
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PPTX, PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 61

Arduino

HERNANDO BARRAGAN

Aplikasi Arduino bisa untuk


Arduino adalah perangkat purwarupa (prototyping) yang • Robotics
bersifat open source dan sering digunakan untuk merancang serta • Smart Home Automation
membuat perangkat elektronik • IOT ( NodeMCU Wi-Fi ESP8266 )
• Wearables ( pulse sensor )
Arduino juga sudah menggunakan bahasa pemrograman Arduino • Education
Language yang sedikit mirip dengan bahasa pemrograman C++. • Enviromental Monitoring
Mikrokontroler PIN Konektor
Komponen yang terakhir adalah konektor. Arduino
Pin ini digunakan untuk menghubungkan Arduino
sendiri memiliki dua jenis konektor yang cukup
dengan berbagai komponen yang akan kamu penting, yaitu power konektor dan serial konektor.
Mikrokontroler adalah chip yang gunakan. Dalam Arduino sendiri ada dua jenis pin,
memungkinkan kamu memprogram yakni pin analog dan pin digital.
Power konektor
adalah konektor yang digunakan untuk menyalurkan
Arduino dan memproses output daya untuk Arduino. Daya ini digunakan untuk
menghidupkan Arduino dan juga perangkat lain yang
berdasarkan input yang diberikan. • Pin Digital ini dapat menerima atau mengirim terhubung dengannya, seperti sensor dan layar
sinyal digital. Digital berarti sinyal yang diterima monitoring.
Singkatnya, mikrokontroler ini adalah
atau dikirimkan akan bernilai 1 atau 0 alias HIGH
otak dari Arduino. Ada 2 jenis Chip yaitu Serial konektor
atau LOW. Kebanyakan perangkat Arduino memiliki
Serial konektor ini biasanya digunakan untuk
model DIP Dual inline Package dan SMD 14 pin input output digital. menghubungkan Arduino dengan perangkatmu
Surface Mount Device seperti komputer atau laptop. Konektor ini
• Pin Analog pada arduino adalah pin yang
menggunakan port USB standar pada Arduino.
digunakan untuk menerima input analog. Ia dapat Selain itu, konektor ini juga dapat digunakan sebagai
power konektor. Namun, serial konektor hanya
menerima tegangan analog dari 0V sampai dengan
diimplementasikan pada perangkat Arduino yang
5V. Umumnya, setiap jenis Arduino memiliki lebih baru.
setidaknya satu pin analog
● Kelebihan
○ Modul Arduino yang tersedia sudah siap
digunakan (shield) seperti modul GPS, LAN,
dan SD card reader. Konsumsi daya yang
rendah
○ Harga yang relatif terjangkau. Mudah
digunakan oleh pemula.
○ Ada banyak library yang dapat digunakan
untuk memudahkan kamu dalam
bereksperimen.
○ Memiliki port USB yang dapat digunakan untuk
● Kekurangan
transfer data dan untuk mengalirkan sumber
○ Tidak bisa diinstal OS sehingga tidak dapat
daya.
digunakan sebagai komputer pribadi.
○ Memiliki Arduino IDE yang digunakan untuk
○ Jika kamu ingin mengubah atau memodifikasi
menulis dan meng-upload program ke
program lama, kamu harus memodifikasi
mikrokontroler.
seluruh program.
○ Beberapa tipe Arduino tidak menyediakan
modul wired atau wireless secara built-in.
○ Memiliki kapasitas memori yang kecil.
○ Ruang penyimpanan terpotong karena
digunakan untuk bootloader.
○ Memiliki clock speed yang rendah.
Macam Macam
Arduino Uno 2. Menurut Jenis chip-nya

1. Menurut Waktu Keluarannya a. Arduino Uno DIP


DIP (Dual Inline Package)
merupakan salah satu chip
a. Arduino Uno komponen elektronika berdimensi
Untuk varian Arduino Uno yang tak ada istilah “R” besar dan memiliki kaki yang untuk
di belakangnya adalah versi pertama. Meskipun pemasangannya itu membutuhkan
begitu, varian satu ini cukup terkenal di pasaran lubang pada PCB Arduino.
sampai sekarang dan banyak peminatnya.

b. Arduino Uno R2 b. Arduino Uno SMD


Berdasarkan informasi yang didapatkan, Arduino SMD (Surface Mount Device)
Uno jenis ini masih menggunakan chip adalah suatu chip berukuran kecil
mikrokontroler Atmega-168p. Entah karena ada yang butuh teknik khusus apabila
kekurangan atau faktor lainnya, Arduino Uno R2 ingin dipasangkan ke PCB Arduino.
cukup jarang ditemukan di pasaran.

c. Arduino Uno R3
Tipe Arduino ini menggunakan chip mikrokontroler
Atmega328P dan cukup banyak dijual di berbagai
toko online. Kamu bisa membelinya
Untuk yang ORI berwarna Hijau , Yang clode berwarna Biru , masih
menggunakan Logo Arduino
Untuk yang compatible tidak boleh mencantuman Logo Arduino , harus buat yag
lain dapat melanggar hak cipta
Raspberry Pi

Selain Arduino, ada juga perangkat prototype sejenis dengan fungsi yang
serupa di luar sana, yaitu Raspberry Pi ( pyton ) atau lebih familier disebut
dengan Raspi. Raspi memiliki fungsi dan ukuran yang sama dengan Arduino.
Raspi memiliki harga yang jauh lebih tinggi dibandingkan dengan Arduino.
Namun, dengan harga yang berbeda jauh itu, Raspi dapat digunakan sebagai
komputer pribadi. Pasalnya, Raspi dapat diinstal beberapa OS seperti Linux
dan Raspberry Pi OS.
Bahasa C ++

https://www.w3schools.com/
pinMode()
Upload Program
 pinMode() Fungsi pinMode() pada arduino adalah sebuah perintah yang fungsinya untuk mengkonfigurasi pin
 digitalRead() tertentu agar bekerja menjadi sebuah input atau output
 digitalWrite()
 analogread() pinMode( nomor_pin, mode_pin);
 analogWrite() Contoh :
 Delay()
 Etc… pinMode(13, OUTPUT); // pin 13 sebagai Output
pinMode(13, INPUT); // pin 13 sebagai input

digitalWrite()
digitalRead()
Fungsi digitalWrite() pada arduino adalah salah satu perintah yang berfungsi
adalah sebuah perintah yang digunakan untuk membaca nilai dari untuk memberi nilai 1 ( HIGH ) atau 0 ( LOW ) kepada pin digital yang ada pada
suatu inputan yang berasal dari pin digital Arduino baik nilai HIGH arduino.
maupun LOW.
digitalWrite (nomor_pin, nilai );
digitalread( nomor_pin); Contoh :
Contoh :
digitalRead(13, HIGH); // memberi nilai/menulis nilai HIGH atau “ 1 “ pada Pin
digitalRead(13); // membaca nilai pada Pin 13 13
digitalRead(13, LOW); // memberi nilai/menulis nilai LOW atau “ 0 “ pada Pin
13

Perbedaannya : digitalRead() digunakan untuk membaca nilai dari salah satu pin, sedangkan digitalWrite()
digunakan untuk memberikan nilai ke salah satu pin di Arduino.
analogRead() analo gWri te()

Tidak perlu menentukan Mode Pin , Pin A0 – A5 ( di board Khusus pin PWM ( 3,5,6,9,10,11 ) di Board Arduino . Nilai
Arduino ) nilai mulai dari 0- 1023 Outputnya 0 – 255

AnaloRead( nomor_pin); analogWrite( nomor_pin, nilai);


Contoh : Contoh :

analogRead(A0); // membaca nilai pada Pin A0 analogWrite(3, 150); // memberi nilai pada Pin A3 nilai
sebesar 150

Fungsi analogRead pada Arduino tidak akan pernah terlepas dengan


Perintah analogWrite() , Dapat digunakan untuk menyalakan LED
yang namanya ADC, atau Analog to Digital Converter. dengan berbagai kecerahan atau menggerakkan motor dengan
berbagai kecepatan sesuai nilai yang diberikan
Perintah Serial.begin(9600); adalah untuk
mengaktifkan komunikasi data secara serial antara
arduino dengan komputer, sedangkan angka 9600
adalah angka yang menunjukkan kecepata transfer data
serial atau istilah lainnya baudrate.
Variabel digunakan untuk menyimpan atau
memindahkan angka maupun karakter di dalam
program. Variabel merupakan sebuah cara untuk
menamai dan menyimpan sebuah nilai yang akan
digunakan pada program, seperti data dari sensor
atau sebuah nilai sementara pada sebuah perhitungan
Sensor – sensor
Sensor PIR (Passive Infrared Sensor)
Sensor Suhu
Sensor PIR memiliki fungsi utama yaitu untuk
mendeteksi adanya gerakan. Oleh karena itu, Sensor suhu berfungsi untuk melakukan pengukuran
suhu atau temperatur terhadap suatu objek. Contoh
dapat dikatakan bahwa sensor PIR ini adalah
macam-macam sensor suhu yang sering digunakan pada
sensor gerak. Sensor ini bekerja dengan
Arduino yaitu :
membaca pergerakan objek yang memancarkan
radiasi inframerah, termasuk manusia. Jadi,
• Sensor LM35, memiliki kemampuan untuk mengukur
sensor ini tidak akan mendeteksi gerakan pada
suhu dengan cara mengubah besaran suhu menjadi
benda mati. Sensor PIR termasuk pilihan yang
besaran listrik dalam bentuk tegangan. Sensor suhu
tepat untuk membuat project yang memerlukan
memiliki harga yang paling murah diantara semua
pembacaan gerakan pada makhluk hidup. Contoh
sensor suhu, sehingga akurasi dari sensor ini cenderung
tipe dari sensor PIR adalah HC-SR501.
paling rendah diantara semua sensor suhu.

• Sensor DS18B20, memiliki kemampuan mendeteksi


suhu dari -550C sampai 1250C dengan akurasi (+/-
0,50C) dan resolusi 9-12 bit dan termasuk seri terbaru
dari keluaran produsen Maxim. Sensor ini sangat cocok
untuk mengukur suhu air. Namun karena tidak tahan
karat, sensor ini tidak disarankan untuk mengukur suhu
air asin.
Sensor PIR (Passive Infrared Sensor)

Repeatable Trigger maka sensor akan mereset Timer setiap kali mendeteksi gerakan yang artinya Lampu akan tetap menyala
apabila masih ada orang , mode ini sangat cocok apabila digunakan di kamar mandi. yang mana saat tidak terdeteksi adanya
gerakan maka timer sensor akan berjalan sesuai yang telah ditentukan dan berhenti apabila waktu habis.
Repeatable Trigger / Single Trigger maka sensor akan membaca 1 kali gerakan saja tepatnya gerakan pertama lalu sensor tetap
akan menjalankan timer yang ditentukan, setelah timer habis barulah sensor membaca adanya gerakan lagi sehingga walaupun
masih ada gerakan di depan sensor timer tidak akan di reset seperti mode Repeatable Trigger.
Sensor Kelembaban
Sensor kelembaban memiliki fungsi
utama yaitu untuk mengukur
kelembaban udara yang ada di
sekitar. Sensor ini bekerja dengan
cara mengonversi besaran
kelembaban menjadi tegangan.
Contoh tipe sensor kelembaban
yaitu 808H5V5. Sensor Ketinggian Air (Water Level Sensor)
Water level sensor memiliki fungsi khusus yaitu mengukur
ketinggian dari objek berupa zat cair seperti air, bensin, solar,
minyak dan sejenisnya. Kekurangan dari sensor ini yaitu ketinggian
Sensor Cahaya
yang bisa diukur hanyalah ketinggian yang mengenai
Pada dasarnya, sensor cahaya merupakan
lempengannya saja.
resistor yang nilainya bisa berubah-ubah
sesuai dengan intensitas cahaya yang masuk
Jadi, tidak bisa digunakan untuk mengukur ketinggian air yang
atau mengenai permukaannya. Beberapa
lebih tinggi dari tinggi lempengan sensor. Biasanya sensor ini
macam sensor cahaya dalam elektronika
digunakan untuk mengukur ketinggian tempat air minum ternak
yang digunakan khusus untuk Arduino, yaitu
atau sejenisnya.
sensor LDR (Light Dependent Resistor).
Selain itu, ada juga sensor cahaya GY-30
yang hasil pengukuran sensor cahayanya
dalam satuan LUX.
Sensor Jarak
Sensor jarak berfungsi untuk mengukur jarak suatu objek
yang ada di depan sensor. Beberapa macam sensor jarak
antara lain :

• Sensor Ultrasonik HC-SR04 atau sensor ping,


berfungsi untuk membaca jarak objek yang ada di depannya
menggunakan pantulan ultrasonik.

• Sensor Proximity Infrared berfungsi untuk


mengukur jarak dengan memanfaatkan pemantulan sinar
inframerah.
Sensor Suara
Sensor suara berfungsi untuk mengubah besaran
suara menjadi besaran listrik. Dimana nilai yang
diperoleh didasarkan pada besarnya gelombang yang
masuk. Komponen utama pada sensor ini yaitu
condensor mic yang berfungsi seabagai penerima data
suara untuk diproses. Sensor ini biasanya digunakan
untuk menyalakan atau mematikan perangkat
elektronik dengan ketukan. Contoh sensor suara
adalah KY-037.

Sensor Api (Flame Sensor)


Sensor api memiliki sifat yang sangat sensitif
terhadap nyala api dan radiasi yang ada di
sekitarnya. Jadi, sensor ini seringkali digunakan
untuk membuat alarm kebakaran.
Sensor Kelembaban Tanah
(Soil Moisture)
Soil moisture atau sensor kelembaban tanah
berfungsi untuk mengukur kadar air dalam
tanah atau tingkat kelembaban dari tanah.
Umumnya sensor ini digunakan untuk membuat
penyiram tanaman otomatis yang dimana
parameternya adalah kelembaban tanah.

Sensor Getaran Sensor Kemiringan (Tilt)


Sensor getaran merupakan sensor yang Sensor kemiringan Arduino memiliki
berfungsi untuk mendeteksi adanya fungsi yaitu untuk mendeteksi seberapa
getaran pada suatu media. Sensor ini besar kemiringan suatu objek terhadap
bekerja dengan mengonversi getaran alasnya. Kebanyakan sensor ini
menjadi sinyal listrik yang dapat dibaca diterapkan pada sepeda motor supaya
oleh Arduino. Biasanya sensor getar ini mesin motor bisa mati sendiri ketika
digunakan dalam membuat alat mencapai kemiringan tertentu. Salah
pendeteksi gempa. Tipe yang paling satu tipe sensor tilt adalah CMPS11
umum digunakan adalah SW-420 Arduino.
Sensor Sidik Jari (Fingerprint)

Sensor sidik jari atau fingerprint biasanya digunakan sebagai akses


Sensor Detak Jantung keamanan pada suatu sistem. Sensor ini bekerja dengan membaca
(Pulse Heart Sensor) sidik jari. Hasil pembacaan tersebut yang akan dikirim ke
Sensor detak jantung memiliki fungsi untuk mikrokontroler untuk di proses lebih lanjut. Perlu diketahui bahwa
mengukur banyaknya detak jantung per sidik jari setiap orang memiliki kode yang berbeda. Jadi, kode inilah
satuan menit atau BPM (Beat Per Minutes). yang akan digunakan untuk mengidentifikasi identitas seseorang.
Sensor ini biasanya digunakan untuk Disini peran fingerprint sangat dibutuhkan. Sensor sidik jari yang
membuat alat yang fungsinya untuk biasa digunakan untuk perangkat Arduino yaitu tipe FPM10A. Salah
memantau kinerja jantung. satu contoh penggunaannya yaitu digunakan untuk absensi di
sekolah atau pun perusahaan.
Buzer Led
LED atau singkatan dari Light Emitting
Diode adalah salah satu komponen elektronika
Spesifikasi Buzzer Arduino
yang terbuat dari bahan semi konduktor jenis
- Type Piezoelectric, yaitu berbentuk tabung berwarna
hitam yang menjadi sumber keluarnya bunyi. dioda yang mempu mengeluarkan cahaya.
- Kaki pin negatif, yaitu kaki buzzer yang pendek untuk
.
dihubungkan ke arus negatif atau GND.
LED memiliki dua kaki yang terbuat dari sejenis kawat. Kawat
- Kaki pin positif, yaitu pin kaki buzzer yang panjang dan
gunanya untuk dihubungkan ke arus positif atau VCC/5V. yang panjang adalah anoda + , sedangkan kawat yang pendek
adalah katoda -
Semakin tinggi arus yang mengalir pada LED maka semakin
terang pula cahaya yang dihasilkan, namun perlu diperhatikan
bahwa besarnya arus yang diperbolehkan adalah 10mA-20mA
dan pada tegangan 1,6V – 3,5 V menurut karakter warna yang
dihasilkan. Apabila arus yang mengalir lebih dari 20mA maka
LED akan terbakar. Untuk menjaga agar LED tidak terbakar perlu
Rumus Resistensi = tegangan : arus kita gunakan resistor sebagai penghambat arus
Relay

const int PIN2 = 2;


void setup(){
pinMode(PIN2, OUTPUT); Penjelasan tentang perbedaan NC dan NO yaitu
} •NC (Normally Close) : Kondisi awal dimana relai pada
void loop() {
digitalWrite(PIN2, HIGH); posisi tertutup, tetapi saat tealiri arus maka akan ke posisi
delay(5000); terbuka
digitalWrite(PIN2, LOW); •NO (Normally Open) : Merupakan kebalikan dari NC yang
delay(5000); dimana kondisi awal relai pada posisi Open, tetapi saat
} tealiri arus maka akan ke posisi tertutup
LCD 1602

•RS : merupakan  kependekan  dari  Register  Selector,  yang mana pin  ini


berfungsi untuk memilih register control atau register data. Register
control digunakan untuk mengkonfigurasi LCD, sedangkan Register
Data digunakan untuk menuliskan data berupa karakter untuk ditampilkan di
LCD.
•R/W atau Read/Write:  digunakan untuk memilih aliran data mikrokontroller 
akan membaca  data yang ada di LCD atau menuliskan data ke LCD. Jika LCD
hanya digunakan untuk menulis / menampilkan data, maka pin ini bisa langsung
disambungkan ke GND sehingga logika bisa diset menjadi L (Low).
•E  atau  Enable;  digunakan  untuk  mengaktifkan  LCD  ketika proses
penulisan data ke register control dan regiter data.
breadboard
Instalasi Arduino
Window 10
Automatis PC akan mengenali/mendeteksi Perangkat
Sampai muncul port untuk
Arduino nya

Disini terbaca comm 5 !!


Library Arduino
Pada program codingnya kita tambahkan perintah include

Contoh sering yang kita pakai misalnya servo.h ,


kesalahan [Error] stray 302 , 240
Kode yg salah #define ldr A0 //Deklarasi variabel ldr untuk PIN A0
Kode yg benar
#define led 2 //Deklarasi variabel led untuk PIN 2 Digital #define ldr A0 //Deklarasi variabel ldr untuk PIN A0
int dataLDR; //Variabel untuk menyimpan data dari
sensor
#define led 2 //Deklarasi variabel led untuk PIN 2 Digital
  int dataLDR; //Variabel untuk menyimpan data dari sensor
void setup() void setup()
{ {
  Serial.begin(9600); Serial.begin(9600);
  pinMode(ldr, INPUT); //Menetapkan ldr sebagai inputan pinMode(ldr, INPUT); //Menetapkan ldr sebagai inputan
  pinMode(led, OUTPUT); //Menetapkan led sebagai
inputan
pinMode(led, OUTPUT); //Menetapkan led sebagai inputan
} }
  void loop()
void loop() {
{ //Membaca dan menyimpan data dari sensor ldr
  //Membaca dan menyimpan data dari sensor ldr dataLDR = analogRead(ldr);
  dataLDR = analogRead(ldr);
 
// Menampilkan data di Serial Monitor
  // Menampilkan data di Serial Monitor Serial.println(dataLDR);
  Serial.println(dataLDR); //Data yang ditampilkan dengan jeda setengah detik
  delay(500);
  //Data yang ditampilkan dengan jeda setengah detik //Kondisi Jika nilai LDR lebih dari 450 maka LED akan
  delay(500);
menyala
 
  //Kondisi Jika nilai LDR lebih dari 450 maka LED akan //Jika data LDR kurang dari 450 maka LED mati
menyala if(dataLDR >= 350){
  //Jika data LDR kurang dari 450 maka LED mati digitalWrite(led, LOW);
  if(dataLDR >= 350){ }
    digitalWrite(led, LOW); else{
 }
digitalWrite(led, HIGH);
  else{
    digitalWrite(led, HIGH); }
 } }
}
Praktek Arduino

Klik project to
TinkerCad
Project 1 Running Led

Materials Resitor , Led


Code // Lampu LED Berjalan Menggunakan Arduino UNO
// Menyalakan LED dengan Aktif HIGH

void setup()
{
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(7, OUTPUT);
digitalWrite(3, LOW);
} digitalWrite(4, LOW);
digitalWrite(5, LOW);
void loop() digitalWrite(6, HIGH);
{ digitalWrite(7, LOW);
//menyala secara bergilir delay(1000);
digitalWrite(3, HIGH); digitalWrite(3, LOW);
digitalWrite(4, LOW); digitalWrite(4, LOW);
digitalWrite(5, LOW); digitalWrite(5, LOW);
digitalWrite(6, LOW); digitalWrite(6, LOW);
digitalWrite(7, LOW); digitalWrite(7, HIGH);
delay(1000); delay(1000);
digitalWrite(3, LOW); }
digitalWrite(4, HIGH);
digitalWrite(5, LOW);
digitalWrite(6, LOW);
digitalWrite(7, LOW);
delay(1000);
digitalWrite(3, LOW);
digitalWrite(4, LOW);
digitalWrite(5, HIGH);
digitalWrite(6, LOW);
digitalWrite(7, LOW);
delay(1000);
Project 2 lampu lalu lintas

Materials Resitor 220 omh , Led


// projek joko prabowo 1
// Menyalakan LED Menggunakan Arduino UNO // Menyalakan PIN 5 “Warna Hijau” (HIGH = Memberi
// Menyalakan LED dengan Aktif HIGH tegangan pada PIN 5)
void setup() digitalWrite(5, HIGH);
{ // Pause selama 5 detik
// menjadikan PIN 4, 5, dan 3 sebagai OUTPUT delay(5000);
pinMode(5, OUTPUT); // Mematikan PIN 5 (LOW = Tidak Memberi tegangan pada
pinMode(4, OUTPUT); PIN 5)
pinMode(3, OUTPUT); digitalWrite(5, LOW);
}
void loop() // Menyalakan PIN 4 “Warna Orange” (HIGH = Memberi
{ tegangan pada PIN 4)
// Menyalakan PIN 3 “Warna Merah” (HIGH = Memberi tegangan pada PIN digitalWrite(4, HIGH);
3) // Pause selama 2 detik
digitalWrite(3, HIGH); delay(2000);
// Pause selama 5 detik // Mematikan PIN 4 (LOW = Tidak Memberi tegangan pada
delay(5000); PIN 4)
// Mematikan PIN 3 (LOW = Tidak Memberi tegangan pada PIN 3) digitalWrite(4, LOW);
digitalWrite(3, LOW);

}
// Menyalakan PIN 4 “Warna Orange” (HIGH = Memberi tegangan pada
PIN 4)
digitalWrite(4, HIGH);
// Pause selama 2 detik
delay(2000);
// Mematikan PIN 4 (LOW = Tidak Memberi tegangan pada PIN 4)
digitalWrite(4, LOW); Ket : menyala merah – kuning – hijau –
kuning – merah
Project 3 Cerdas cermat tombol dan lampu led

Resitor 220 omh , Led , Push


Materials
button
Code program void loop() {
if(kunci == false){ //Jika kunci terbuka, maka
if(digitalRead (pb1) == LOW){ //Jika button 1 ditekan, maka
digitalWrite(LED1, HIGH); //LED 1 akan menyala
/* Project joko prabowo 2 */
digitalWrite(pinBuzzer, HIGH);
#define pb1 2 //Button 1 pada pin D2
#define pb2 3
kunci = true; //Mengunci
#define pb3 4
}
#define LED1 5 //LED1 pada pin D5
else if(digitalRead (pb2) == LOW){
#define LED2 6
digitalWrite(LED2, HIGH);
#define LED3 7
digitalWrite(pinBuzzer, HIGH);
#define ulang 8 //Button reset pada pin D8
kunci = true;
#define pinBuzzer 9
}
bool kunci = false;
else if(digitalRead (pb3) == LOW){
digitalWrite(LED3, HIGH);
void setup() {
digitalWrite(pinBuzzer, HIGH);
pinMode(pb1, INPUT_PULLUP); //Setting I/O
kunci = true;
pinMode(pb2, INPUT_PULLUP);
}
pinMode(pb3, INPUT_PULLUP);
}
pinMode(LED1, OUTPUT);
else{ //Jika terkunci, maka
pinMode(LED2, OUTPUT);
if(digitalRead (ulang) == LOW){
pinMode(LED3, OUTPUT);
kunci = false; //Terbuka kalau tombol reset ditekan
pinMode(ulang, INPUT_PULLUP);
digitalWrite(LED1, LOW);
pinMode(pinBuzzer, OUTPUT);
digitalWrite(LED2, LOW);
}
digitalWrite(LED3, LOW);
digitalWrite(pinBuzzer, LOW);
delay(100);
}
define merupakan sebuah statement yang biasa digunakan untuk membuat atau mendeklarasikan
}
fixed variables (variabel tetap). Cara kerja dari define statement sendiri sama dengan deklarasi
} Ket : saat di tekan Led dan buzzer akan
variable menggunakan const.
menyala
Project 4 menghidupkan lampu dan buzzer dengan sensor LDR

Buka serial monitor untuk melihat


Resitor 220 omh , sensor LDR
Materials nilai
( Photoresistor) , Led
const int ledPin = 2;
const int buzzerPin = 3;
Code program
const int ldrPin = A0;

void setup () { Ket :


Serial.begin(9600);
pinMode(ledPin, OUTPUT);
1. Sensor LDR termasuk analog, karena
pinMode(buzzerPin, OUTPUT); nilainya berubah ubah tergantung cahaya
pinMode(ldrPin, INPUT); 2. Jika nilainya >=350 Led dan buzzer akan
}
mati ( LDR mendapat cahaya terang )
void loop() { 3. Jika nilainya < 350 Led dan buzzer akan
int ldrStatus = analogRead(ldrPin); hidup ( LDR mendapat cahaya
if (ldrStatus <= 350) { gelap/redup)
tone(buzzerPin, 100);
digitalWrite(ledPin, HIGH); 4. Saat terang Led dan buzzer akan mati dan
delay(100); ketika gelap lampu led dan buzzer akan
noTone(buzzerPin); hidup
digitalWrite(ledPin, LOW);
5. Ini bisa dilakukan dengan Lampu 5 Volt
delay(100);
atau 220 VAC dengan menambahkan
Serial.println("----------- ALARM AKTIF -----------"); Relay tentunya
}
else {
noTone(buzzerPin);
digitalWrite(ledPin, LOW);
Tone (buzzer, 100);  adalah program untuk mengirimkan sound signal di pin
Serial.println("ALARM TIDAK AKTIF"); buzzer tadi dengan nilai 1 KHz dan nilai 100 ( delay )
} program "Tone/noTone" bisa juga menggunakan "digitalWrite" tergantung
} kebutuhan.
Project 5 melodi dengan buzzer
void playNote(char note, int duration) {
char names[] = { 'c', 'd', 'e', 'f', 'g', 'a', 'b', 'C' };
int tones[] = { 1915, 1700, 1519, 1432, 1275, 1136, 1014, 956 };

// play the tone corresponding to the note name


for (int i = 0; i < 8; i++) {
if (names[i] == note) {
playTone(tones[i], duration);
}
}
}

void setup() {
int speakerPin = 11; pinMode(speakerPin, OUTPUT);
int length = 15; // the number of notes }

//twinkle twinkle little star void loop() {


char notes[] = "ccggaag ffeeddc ggffeed ggffeed ccggaag ffeeddc "; // a space for (int i = 0; i < length; i++) {
represents a rest if (notes[i] == ' ') {
int beats[] = { 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 2, 4 }; delay(beats[i] * tempo); // rest
int tempo = 300; } else {
playNote(notes[i], beats[i] * tempo);
void playTone(int tone, int duration) { }
for (long i = 0; i < duration * 1000L; i += tone * 2) {
digitalWrite(speakerPin, HIGH); // pause between notes
delayMicroseconds(tone); delay(tempo / 2);
digitalWrite(speakerPin, LOW); }
delayMicroseconds(tone); }
}
}

Coba => https://github.com/robsoncouto/arduino-songs/blob/master/starwars/starwars.ino


Button dan Buzzer
int pinBuzzer = 6;
int pinPButton = 10;

void setup() {
pinMode(pinBuzzer, OUTPUT);
pinMode(pinPButton, INPUT_PULLUP); //aktif pullup
internal
}

void loop() {
int dtPButton = digitalRead(pinPButton);
if ( dtPButton == 0){
digitalWrite(pinBuzzer,HIGH);
}
else{
digitalWrite(pinBuzzer,LOW);
}
}
Project 6 bemain bel melodi dengan button & Buzzer

Materials Buzzer , push button


/* #define NOTE_GS3 208 #define NOTE_G6 1568 int notes = sizeof(melody) / sizeof(melody[0]) /
* Tutorial By IOTkece.com #define NOTE_A3 220 #define NOTE_GS6 1661 2;
*/ #define NOTE_AS3 233 #define NOTE_A6 1760 int wholenote = (60000 * 4) / tempo;
#define NOTE_B0 31 #define NOTE_B3 247 #define NOTE_AS6 1865 int divider = 0, noteDuration = 0;
#define NOTE_C1 33 #define NOTE_C4 262 #define NOTE_B6 1976 int pinPButton = 3;
#define NOTE_CS1 35 #define NOTE_CS4 277 #define NOTE_C7 2093 void setup() {
#define NOTE_D1 37 #define NOTE_D4 294 #define NOTE_CS7 2217 pinMode(buzzer, OUTPUT);
#define NOTE_DS1 39 #define NOTE_DS4 311 #define NOTE_D7 2349 pinMode(pinPButton, INPUT_PULLUP);
#define NOTE_E1 41 #define NOTE_E4 330 #define NOTE_DS7 2489 }
#define NOTE_F1 44 #define NOTE_F4 349 #define NOTE_E7 2637 void loop() {
#define NOTE_FS1 46 #define NOTE_FS4 370 #define NOTE_F7 2794 int dtPButton = digitalRead(pinPButton);
#define NOTE_G1 49 #define NOTE_G4 392 #define NOTE_FS7 2960 if (dtPButton== LOW){
#define NOTE_GS1 52 #define NOTE_GS4 415 #define NOTE_G7 3136 digitalWrite(buzzer,HIGH);
#define NOTE_A1 55 #define NOTE_A4 440 #define NOTE_GS7 3322 for (int thisNote = 0; thisNote < notes * 2;
#define NOTE_AS1 58 #define NOTE_AS4 466 #define NOTE_A7 3520 thisNote = thisNote + 2) {
#define NOTE_B1 62 #define NOTE_B4 494 #define NOTE_AS7 3729 divider = melody[thisNote + 1];
#define NOTE_C2 65 #define NOTE_C5 523 #define NOTE_B7 3951 if (divider > 0) {
#define NOTE_CS2 69 #define NOTE_CS5 554 #define NOTE_C8 4186 noteDuration = (wholenote) / divider;
#define NOTE_D2 73 #define NOTE_D5 587 #define NOTE_CS8 4435 } else if (divider < 0) {
#define NOTE_DS2 78 #define NOTE_DS5 622 #define NOTE_D8 4699 noteDuration = (wholenote) / abs(divider);
#define NOTE_E2 82 #define NOTE_E5 659 #define NOTE_DS8 4978 noteDuration *= 1.5;
#define NOTE_F2 87 #define NOTE_F5 698 #define REST 0 }
#define NOTE_FS2 93 #define NOTE_FS5 740 int tempo = 140; tone(buzzer, melody[thisNote], noteDuration *
#define NOTE_G2 98 #define NOTE_G5 784 int buzzer = 4; 0.9);
#define NOTE_GS2 104 #define NOTE_GS5 831 int melody[] = { delay(noteDuration);
#define NOTE_A2 110 #define NOTE_A5 880 NOTE_C4,4, NOTE_C4,8, noTone(buzzer);
#define NOTE_AS2 117 #define NOTE_AS5 932 NOTE_D4,-4, NOTE_C4,-4, NOTE_F4,-4, }
#define NOTE_B2 123 #define NOTE_B5 988 NOTE_E4,-2, NOTE_C4,4, NOTE_C4,8, }
#define NOTE_C3 131 #define NOTE_C6 1047 NOTE_D4,-4, NOTE_C4,-4, NOTE_G4,-4, }
#define NOTE_CS3 139 #define NOTE_CS6 1109 NOTE_F4,-2, NOTE_C4,4, NOTE_C4,8,
#define NOTE_D3 147 #define NOTE_D6 1175 NOTE_C5,-4, NOTE_A4,-4, NOTE_F4,-4,
#define NOTE_DS3 156 #define NOTE_DS6 1245 NOTE_E4,-4, NOTE_D4,-4, NOTE_AS4,4,
#define NOTE_E3 165 #define NOTE_E6 1319 NOTE_AS4,8,
#define NOTE_F3 175 #define NOTE_F6 1397 NOTE_A4,-4, NOTE_F4,-4, NOTE_G4,-4,
#define NOTE_FS3 185 #define NOTE_FS6 1480 NOTE_F4,-2,
#define NOTE_G3 196 };
DFPlayer

DFPlayer Adalah Modul MP3 Player Decoder yang biasa dikontrol menggunakan Arduino. Dia bisa
pemutar file audio / module sound player music dengan support format audio seperti file .mp3. Output pada
module mp3 mini ini dapat langsung dihubungkan dengan speaker mini ataupun amplifier sebagai pengeras
suaranya. 
Project 7 Buzzer dengan sensor Ultrasonic

Contoh Program dan


Rangkaian Buzzer Arduino dengan
Ultrasonik HC-SR04

Keterangan
Buzzer akan berbunyi saat sensor ultrasonik HC-SR04
membaca objek yang berjarak kurang dari 30 cm dari
sensor.( jarak bisa diubah di program ) Materials Buzzer , sensor ultrasonic
//program jokoprabowo
Code int Buzzer = 4;
int echoPin = 6;
int trigPin = 5;
long duration;
long distance = 0;

void setup()
{
  pinMode(Buzzer, OUTPUT);
  pinMode(echoPin, INPUT);
  pinMode(trigPin, OUTPUT);
  Serial.begin(9600);
}

void loop()
{
Jarak bisa di   digitalWrite(trigPin, HIGH);
atur   delayMicroseconds(10);
  digitalWrite(trigPin, LOW);
  duration = pulseIn(echoPin,HIGH);
  distance = duration*0.0343/2;
  if (distance <= 30){
    digitalWrite(Buzzer, HIGH);
 }
  else{
    digitalWrite(Buzzer, LOW);
 }
}
Project 8 Sensor PIR dengan Led dan Buzzer

Materials Buzzer , sensor PIR


int ledPin = 3; // Memilih pin indikator LED void playTone(long duration, int freq) {
int inputPin = 4; // Memilih input PIR Sensor duration *= 1000;
int pirState = LOW; // Pada saat mulai, Matikan sensor int period = (1.0 / freq) * 1000000;
int val = 0; // Variable pembaca status pin long elapsed_time = 0;
int pinSpeaker = 5; // Memilih pin buzzer, dengan pin PWM while (elapsed_time < duration) {
void setup() { digitalWrite(pinSpeaker,HIGH);
pinMode(ledPin, OUTPUT); // jadikan LED sebagai Output
pinMode(inputPin, INPUT); // jadikan Sensor sebagai Input delayMicroseconds(period / 2);
pinMode(pinSpeaker, OUTPUT); // jadikan buzzer sebagai output
Serial.begin(9600); digitalWrite(pinSpeaker, LOW);
}
void loop(){ delayMicroseconds(period / 2);
val = digitalRead(inputPin);
if (val == HIGH) { elapsed_time += (period);
digitalWrite(ledPin, HIGH);
playTone(300, 160); }
delay(150);
if (pirState == LOW) { }
Serial.print("ada gerakan");
pirState = HIGH;
}
} else {
digitalWrite(ledPin, LOW);
playTone(0, 0);
delay(300);
if (pirState == HIGH){
Serial.print("tidak ada gerakan");
pirState = LOW;
}
}
}
Mengenal Micro Servo

Servo Motor adalah perangkat listrik yang digunakan pada mesin-mesin industri pintar yang berfungsi untuk mendorong atau
memutar objek dengan kontrol yang dengan presisi tinggi dalam hal posisi sudut, akselerasi dan kecepatan, sebuah
kemampuan yang tidak dimiliki oleh motor biasa.

micro servo sg90


#include <Servo.h>
Servo servoku;

void setup(){
servoku.attach(3);
}

void loop(){
servoku.write(90);
delay(1000);
servoku.write(180);
delay(1000);
Catatan: }
1.#include <Servo.h> digunakan untuk menyertakan library Servo pada
program Arduino.
2.Servo servoku; membuat variabel servoku (bisa diubah terserah
kamu), untuk servo.
3.servoku.attach(3); memilih atau mengatur pin 3 digital sebagai pin
yang digunakan untuk servo pada variabel servoku.
4.servoku.write(90); mengatur posisi servo pada 90 derajat, silahkan
atur derajat sesuai kebutuh pergerakan servo kamu.
Project 9 Control jarak jauh ultrasonic dan Micro Servo

Materials Sensor Ultrasonic , servo motor


#define pinecho1 7
#define pintriger1 6
#include <Servo.h>

Servo myservo;

float read_srf(int pintriger, int pinecho) { void loop() {


long durasi; // put your main code here, to run repeatedly:
float jarak; int jarak = read_srf(pintriger1, pinecho1);
digitalWrite(pintriger, LOW);
if (jarak > 20) {
delayMicroseconds(2);
digitalWrite(pintriger, HIGH);
myservo.write(0);
delayMicroseconds(10); }
digitalWrite(pintriger, LOW); else {
delayMicroseconds(2); myservo.write(180);
}
durasi = pulseIn(pinecho, HIGH); Serial.println(jarak);
jarak = durasi / 58.2;
delay(15);
return jarak;
}
}
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
pinMode (pintriger1, OUTPUT); Jika jarak lebih besar dari 20 cm , servo diam , tapi jika
pinMode (pinecho1, INPUT);
jarak lebih kecil 20 cm maka motor akan bergerak 180
myservo.attach(9);
myservo.write(0); derajat
}
Project 9 Control jarak jauh LDR dan Micro Servo

#include<Servo.h>
int lightval;
int lightpin=A0;
int tm=100;
int servopin=6;
Servo myservo;
int angle;
void setup() {
  Serial.begin(9600);
  pinMode(lightpin,INPUT);
 myservo.attach(servopin);
 pinMode(servopin,OUTPUT);
}

void loop() {
  lightval=analogRead(lightpin);
  Serial.println(lightval);
  delay(tm);
 
  angle= lightval/5;
  myservo.write(angle);
  Serial.println("sudutnya adalah ");
  Serial.println(angle);

}
Project 10 Sensor Suara
int sensorPin = A0 ; //output dari sensor
int ledPin = 13; //untuk LED
int sensorValue = 00;  //Nilai default sensor
int CompareSensor=100;

void setup() {
//inisialisasi i/o
pinMode(ledPin, OUTPUT);
Serial.begin(9600);
}

void loop() {
//Pembacaan sensor
sensorValue = analogRead(sensorPin);
//menampilkan nilai pembacaan sensor di serial
monitor
Serial.print("Nilai pembacaan sensor: ");
Serial.println(sensorValue, DEC);
//untuk indikator dan pembanding
if(sensorValue > CompareSensor){
digitalWrite(ledPin, HIGH);
}
else{
digitalWrite(ledPin, LOW); }
delay(1000);
}
Project 11 Sensor Water Level
#define pinSensor A1                       //Pin Sensor Water Level
#define Buzzer 9                         // Pin Buzzer
int air_tinggi = 260;                  //Bisa diubah Sesuai Keinginan
int nilai = 0; // Menyimpan data sensor di Variable Nilai
void setup() {
Serial.begin(9600);
pinMode(Buzzer,OUTPUT);           //Menentukan Buzzer sebagai
Output
digitalWrite(Buzzer,LOW);             // Mengeset Buzzer dalam
Keadaan Mati
}
int bacaSensor(){
nilai = analogRead(pinSensor);
return nilai;
}
void loop() {
int ketinggian = bacaSensor();
Serial.print("Ketinggian Air :" );
Serial.println(ketinggian);
delay(1000);
if(ketinggian < air_tinggi) {
Serial.println("Ketinggian Air :aman" );
digitalWrite(Buzzer,LOW);
}
else if (ketinggian > air_tinggi)
{
Serial.println("Ketinggian Air : tinggi" );
digitalWrite(Buzzer,HIGH);
}
delay(1000);
}
SEKIAN
TERIMA KASIH

Anda mungkin juga menyukai