JOB 4
PIN ANALOG DAN LDR
Di susun oleh :
II. Teori :
Pada papan sirkuit (circuit board) Arduino Uno, selain terdapat pin-pin digital
juga terdapat beberapa pin analog. Enam buah pin analog, seperti yang ditunjukkan
dalam Gambar 1, hanya berfungsi sebagai masukan dan bukan keluaran. Sensor-
sensor analog dihubungkan dengan pin masukan analog untuk mengubah besaran-
besaran fisik lain menjadi tegangan 0 hingga 5 V. Tegangan analog ini kemudian
diubah menjadi kode digital oleh bagian bernama Analog to Digital Converter (ADC)
dalam mikrokontroler.
3. Tuliskan program berikut pada editor IDE. Program asli terdapat dalam
website arduino.cc
// the setup routine runs once when you press reset:
void setup() {
// initialize serial communication at 9600 bits per second:
Serial.begin(9600);
}
Saat kenop potensiometer di putar maka akan muncul angka pada serial monitor,
dan akan semakin besar saat kenop diputar ke kanan, juga semakin mengecil
jika diputar ke kiri. Pada posisi palang kiri serial monitor menampilkan nilai 0,
pada posisi setengah 512, dan posisi paling kanan 1023.
Arti dari nilai maksimum 1023 ialah karena pin analog arduino hanya mampu
menerima nilai hingga 10 bit sehingga dapat mengkonversi data analog dengan
1024 keadaan(dimulai dari 0). Proses konversi dari nilai analog kedigital ini
disebut ADC(Analog to Digital Coversion) yang dimana setiap 1 angka desimal
mewakili angka sebesar 0,004887585 volt sehingga angka 1023 sama dengan 5
volt yang dimana tegangan 5 volt ini adalah tegangan kerja bagi komponen-
komponen elektronika.
Nilai pada setengah putaran dan setengah dari 1023 berbeda karena pada
pemrograman percobaan ini hanya menampilkan bilangan bulat bukan bilangan
desimal sehingga nilai yang muncul pada serial monitor ialah 512, sedangkan
nilai setengah dari 1023 ialah 511,5.
Sesuai pada penjelasan sebelumnya yang dimana setiap 1 angka yang telah di
konversi mewakili 0,004887585 volt. dan pada pemrograman percobaan 2 ini
telah di berikan rumus agar setiap angka yang keluar pada serial monitor sudah
terkonversi menjadi tegangan dan dapat menampilkan angaka desimal karena
adanya fungsi “float”. Jika angka pada setengah putaran ialah 512 maka rumus
pengkonversiannya ialah 512(5 / 1023) = 2,5 volt.
Selain menggunakan rumus program juga dapat di sederhanakan dengan
menggunakan fungsi “map” yang dimana hanya perlu menginputkan nilai
minimal dan maksimal dari angka yang ingin di konversikan dan angka hasil
pengkonversian.
• Melakukan perubahan pada tampilan serial monitor agar nilai yang muncul
adalah dalaam satuan “lux” dengan range 0 – 20000 lux. Percobaan ini memiliki
program sebagai berikut :
Pada percobaan kali ini saya menentukan nilai 5000 lux sebagai patokan untuk
menentukan nyala, padamnya LED. Pada pemrograman saya menambahkan
fugnsi “if” yang berfungsi apabila input mendapat tegangan maka program akan
melaksanakan perintah dari “if” tadi jadi pada program ini jika lux kurang dari
5000 maka LED akan menyala yang ditandai dengan perintah “HIGH” yang
menyebapkan LED akan mendapatkan sumber tegangan , dan sebaliknya jika
lux lebih dari 5000 maka LED akan padam yang ditandai dengan perintah
“LOW” yang menyebapkan LED tidak mendapatkan sumber tegangan.
• Modifikasi pada program agar LED menyala ketika intensitas cahaya berkurang
dan semakin redup ketika intensitas cahaya bertambah menggunakan PWM untuk
mengatur nyala LED. Percobaan ini memiliki program sebagai berikut :
Int ldrPin = A0 ;
Int ldrPin = 3 ;
Int lux = 255 ;
Void setup () {
pinMode (ledPin, OUTPUT) ;
pinMode (ldrPin, INPUT) ;
}
void loop() {
Serial.println(lux) ;
analogWrite (ledPin, lux) ;
}
VI. Kesimpulan :
1. Pin analog arduino hanya mampu menerima nilai hingga 10 bit dengan nilai
maksimal 1023.
2. Angka 1023 tersebut dapat di konversikan menjadi tegangan dengan range 0-
5volt dengan cara menggunakan rumus atau pun menggunakan fungsi “map”.
3. Fungsi “map” juga dapat digunakan untuk mengubah suatu range nilai.
4. “Serial.println” dapat digunakan untuk mengubah satuan dari nilai yang di
tampilkan pada serial monitor.
5. Dengan membuat suatu program pada arduino sensor cahaya dapat digunakan
sebagai lux meter
6. Kita dapat menggunakan arduino untuk mempermudah pekerjaan sehari hari
seperti pada percobaan 4 yang pada percobaan tersebut kita dapat mematikan
atau menyalakan LED atau lampu tanpa menggunakan saklar manual.
7. Kita dapat mengatur suatu hasil outputan dengan menggunakan PWM.