Laman

Senin, 27 Januari 2014

LM35 + LDR dengan ATtiny85 + Arduino UNO

ATtiny85 mempunyai 8 buah pin. 2 pin sebagai VCC-GND, 1 pin berfungsi sebagai reset. Berarti ada sisa 5 buah pin yang bisa dimanfaatkan sebagai input-output. Pada posting sebelumnya aku udah membuat interfacing dengan LCD karakter menggunakan 3 buah pin saja. Sehingga jika kita menggunakan LCD karakter, kita masih mempunyai 2 sisa pin yang bisa di manfaatkan untuk macam-macam. Nah sekarang aku memanfaatkannya untuk membaca sensor LM35 dan juga LDR sekaligus.

Posisi pin pada ATtiny85

Untuk memasukkan program ke ATtiny85, seperti biasa kita memanfaatkan board Arduino UNO sebagai ISP seperti postingan ini. Kode yang kita masukkan ke ATtiny85 seperti di bawah ini. Untuk library LiquidCrystal595.h dapat di sedot disini.
#include <LiquidCrystal595.h>
LiquidCrystal595 lcd(0,1,2);     // data, enable, clock

int pinSuhu = 3, pinLDR = 2;
float suhu = 0;
long a = 0, b;

void setup() {
    lcd.begin(16,2);
    lcd.setCursor(0,0);
    lcd.print("Suhu: ");
    lcd.setCursor(0,1);
    lcd.print("LDR : ");
}

void loop() {
  a = analogRead(pinSuhu);
  suhu = (5.0*a*100.0/1024.0);
 
  lcd.setCursor(6,0);
  lcd.print((long)suhu);
  lcd.print(" C  ");
  delay(500);
  
  b = analogRead(pinLDR);
  lcd.setCursor(6,1);
  lcd.print((long)b);
  lcd.print("   ");
  
  delay(500);
}
Setelah dimasukin program, kita rangkai ATtiny85-nya seperti ini


Rangkaiannya akan terhubung ke LCD dengan 3 wire. Kalau bingung gimana rangkaiannya, nih aku ada rangkaian yang ku gambar di eagle.


Driver LCD 3 wire dengan shift register 74HC595 (setelah dicetak)

Kalo ada tugas-tugas kuliah, menggunakan ATtiny85 cocok digunakan untuk projek-projek kecil-kecilan seperti ini. Biasanya sih 1 atau 2 inputan dengan output berupa LCD karakter sudah mencukupi. Ukuran rangkaian akan lebih ringkas dan murah.


Semoga dapat bermanfaat ~