Berita Terbaru

Belajar membuat thermometer seven segment

Mendengar kata thermometer mungkin sudah biasa bagi kita. karena disekolahan pernah kita belajar tentang beberapa nama alat ukur. Thermometer banyak yang jual, mulai dari yang tabung kaca, sampai digital. Tentu juga harganya beraneka ragam, tergantung dari jenis dan kegunaan nya. Selain membeli, tentunya kamu yang senang dengan hal merakit perangkat elektronika ingin membuat sendiri thermometer sendiri.

Tentunya ada banyak sensor suhu yang dijual di toko komponen, tapi disini saya menggunakan sensor suhu lm35. dan modul yang saya pakai untuk mencobanya adalah modul belajar mikrokontroller dari duwiarsana.com. Disana sudah terdapat dua digit seven segment yang dapat langsung kita gunakan tanpa harus menambahkan komponen lain lagi.

Untuk pengaturan pin setiap segment dan digit dapat kita posisikan bebas, hanya saja nanti kita akan mengaturnya pada bagian coding. seven segment yang digunakan disini adalah tipe common anoda yang mana jenis ini akan aktif jika common nya kita berikan tegangan positif sedangkan disetiap segment nya kita beri negatif.

int digit1 = 11; //semua yang dipakai untuk digit adalah
pin pwm biar bisa contrast diatur
int digit2 = 10; 

int segA = 14; //pin tiap segment boleh diacak yang penting ga bikin repot aja
int segB = 4; 
int segC = 3; 
int segD = 5; 
int segE = 15; 
int segF = 9; 
int segG = 8; 

void setup() {                
  pinMode(segA, OUTPUT);//inisialisasi semua pin sebagai out
  pinMode(segB, OUTPUT);
  pinMode(segC, OUTPUT);
  pinMode(segD, OUTPUT);
  pinMode(segE, OUTPUT);
  pinMode(segF, OUTPUT);
  pinMode(segG, OUTPUT);

  pinMode(digit1, OUTPUT);
  pinMode(digit2, OUTPUT);

}

void loop() {

  int baca = analogRead(A5); //sensor di analog 5
  baca = (5.0*baca*100.0)/1024.0;

  displayNumber(baca);

  delay(1000);  //jeda 1 detik (1000 millisecond)
}

void displayNumber(int toDisplay) {

#define DIGIT_ON  HIGH
#define DIGIT_OFF  LOW

  long beginTime = millis();

  for(int digit = 2 ; digit > 0 ; digit--) {//setiap digit dinyalakan
bergantian dengan cepat
    switch(digit) {
    case 1:
      digitalWrite(digit1, DIGIT_ON);
      break;
    case 2:
      digitalWrite(digit2, DIGIT_ON);
      break;

    }

    nyala(toDisplay % 10);
    toDisplay /= 10;

    delayMicroseconds(500); 

    nyala(10); 

    //Turn off all digits
    digitalWrite(digit1, DIGIT_OFF);
    digitalWrite(digit2, DIGIT_OFF);
    digitalWrite(digit3, DIGIT_OFF);
    digitalWrite(digit4, DIGIT_OFF);
  }

  while( (millis() - beginTime) < 10) ; 

}

void nyala(int numberToDisplay) {

#define SEGMENT_ON  LOW
#define SEGMENT_OFF HIGH

  switch (numberToDisplay){//konversi angka ke setiap segment

  case 0:
    digitalWrite(segA, SEGMENT_ON);
    digitalWrite(segB, SEGMENT_ON);
    digitalWrite(segC, SEGMENT_ON);
    digitalWrite(segD, SEGMENT_ON);
    digitalWrite(segE, SEGMENT_ON);
    digitalWrite(segF, SEGMENT_ON);
    digitalWrite(segG, SEGMENT_OFF);
    break;

  case 1:
    digitalWrite(segA, SEGMENT_OFF);
    digitalWrite(segB, SEGMENT_ON);
    digitalWrite(segC, SEGMENT_ON);
    digitalWrite(segD, SEGMENT_OFF);
    digitalWrite(segE, SEGMENT_OFF);
    digitalWrite(segF, SEGMENT_OFF);
    digitalWrite(segG, SEGMENT_OFF);
    break;

  case 2:
    digitalWrite(segA, SEGMENT_ON);
    digitalWrite(segB, SEGMENT_ON);
    digitalWrite(segC, SEGMENT_OFF);
    digitalWrite(segD, SEGMENT_ON);
    digitalWrite(segE, SEGMENT_ON);
    digitalWrite(segF, SEGMENT_OFF);
    digitalWrite(segG, SEGMENT_ON);
    break;

  case 3:
    digitalWrite(segA, SEGMENT_ON);
    digitalWrite(segB, SEGMENT_ON);
    digitalWrite(segC, SEGMENT_ON);
    digitalWrite(segD, SEGMENT_ON);
    digitalWrite(segE, SEGMENT_OFF);
    digitalWrite(segF, SEGMENT_OFF);
    digitalWrite(segG, SEGMENT_ON);
    break;

  case 4:
    digitalWrite(segA, SEGMENT_OFF);
    digitalWrite(segB, SEGMENT_ON);
    digitalWrite(segC, SEGMENT_ON);
    digitalWrite(segD, SEGMENT_OFF);
    digitalWrite(segE, SEGMENT_OFF);
    digitalWrite(segF, SEGMENT_ON);
    digitalWrite(segG, SEGMENT_ON);
    break;

  case 5:
    digitalWrite(segA, SEGMENT_ON);
    digitalWrite(segB, SEGMENT_OFF);
    digitalWrite(segC, SEGMENT_ON);
    digitalWrite(segD, SEGMENT_ON);
    digitalWrite(segE, SEGMENT_OFF);
    digitalWrite(segF, SEGMENT_ON);
    digitalWrite(segG, SEGMENT_ON);
    break;

  case 6:
    digitalWrite(segA, SEGMENT_ON);
    digitalWrite(segB, SEGMENT_OFF);
    digitalWrite(segC, SEGMENT_ON);
    digitalWrite(segD, SEGMENT_ON);
    digitalWrite(segE, SEGMENT_ON);
    digitalWrite(segF, SEGMENT_ON);
    digitalWrite(segG, SEGMENT_ON);
    break;

  case 7:
    digitalWrite(segA, SEGMENT_ON);
    digitalWrite(segB, SEGMENT_ON);
    digitalWrite(segC, SEGMENT_ON);
    digitalWrite(segD, SEGMENT_OFF);
    digitalWrite(segE, SEGMENT_OFF);
    digitalWrite(segF, SEGMENT_OFF);
    digitalWrite(segG, SEGMENT_OFF);
    break;

  case 8:
    digitalWrite(segA, SEGMENT_ON);
    digitalWrite(segB, SEGMENT_ON);
    digitalWrite(segC, SEGMENT_ON);
    digitalWrite(segD, SEGMENT_ON);
    digitalWrite(segE, SEGMENT_ON);
    digitalWrite(segF, SEGMENT_ON);
    digitalWrite(segG, SEGMENT_ON);
    break;

  case 9:
    digitalWrite(segA, SEGMENT_ON);
    digitalWrite(segB, SEGMENT_ON);
    digitalWrite(segC, SEGMENT_ON);
    digitalWrite(segD, SEGMENT_ON);
    digitalWrite(segE, SEGMENT_OFF);
    digitalWrite(segF, SEGMENT_ON);
    digitalWrite(segG, SEGMENT_ON);
    break;

  case 10:
    digitalWrite(segA, SEGMENT_OFF);
    digitalWrite(segB, SEGMENT_OFF);
    digitalWrite(segC, SEGMENT_OFF);
    digitalWrite(segD, SEGMENT_OFF);
    digitalWrite(segE, SEGMENT_OFF);
    digitalWrite(segF, SEGMENT_OFF);
    digitalWrite(segG, SEGMENT_OFF);
    break;
  }
}

Nah untuk setiap pin yang dipakai jika kamu mengikuti coding diatas berarti kamu harus mengikuti susunan pin diatas agar seven segment dapat menyala dengan baik. konfigurasi dari setiap segment kamu bisa perhatikan pada gambar disamping ini. dan jika seandainya kamu ingin menambahkan beberapa digit angka kamu hanya perlu menambahkan perulangan pada penyalaan digit dan juga modulus perhitungan nilai yang ada pada rumus diatas saja.

dibawah ini adalah video hasil ujicobanya menggunakan modul belajar panjerino.

Hasil Pencarian :

Jangan Lupa Cek Juga Artikel Di Bawah Ini
Membuat Display Timer Mundur
views 1215
Hari itu saya mendapat pesanan yang dibilang cukup mendadak karena harus dikirimkan dalam waktu sehari dan harus tiba paling lambat 2 hari. Order yang...
Baca Twitter Pakai Panjerino Net Ngenet
views 122
Baca twitter pakai Panjerino Net - Ngenet? wah kaya gimana tu ya, apanya yang dibaca? Panjerino net ngenet, sebuah arduino yang sudah terdapat etherne...
Rangkaian Monitoring Suhu Lewat SMS
views 2708
Membuat alat atau rangkaian monitoring suhu lewat sms ini sebenarnya sudah beberapa tahun lalu saya buat. Alat tersebut dapat menginformasikan suhu ya...
Membuat Sensor Alkohol dengan Arduino
views 876
Arduino adalah... wah terlalu umum kayaknya kalau saya mulai dengan kata kata seperti itu. Tentunya jika kamu mulai membuat project dengan menggunakan...
Simpan Password Keypad di EEPROM
views 1439
Password, keypad, securiy sistem, door lock, kunci pintu. Ya beberapa kata kunci itu beberapa waktu lalu memang sangat ngetrend masuk di hape saya, en...
Pemenang Arduino Gratis
views 197
Ga terasa ya sekarang kita uda memasuki tahun 2015. Tahun 2014 sudah kita lewati dengan sangat luar biasa. ada banyak cerita yang kita buat di tahun t...
Kendali sms 8 Channel
views 1002
Kendali sms atau sistem monitoring sms, dari kemarin artikel saya masih terlalu lama di seputaran itu saja. ya karena saat itu saya masih bermain di g...

Tentang Anak Agung Duwi Arsana

Seorang tukang service serabutan dari desa Panjer, Denpasar Bali. Senang bercerita tentang kegiatan sehari hari di blog dalam bentuk tulisan tulisan ngawur maupun di youtube dalam bentuk video yang ga jelas.

Baca juga

Download Project Jam Digital Led Matrix

Akhirnya project elektronika┬ámikrokontroller buatan duwiarsana.com selesai juga. Dan sudah saya posting juga di http://duwiarsana.com/toko/ Silahkan …

5 komentar

  1. pm dong mas, brpa hrga 1 packet dari modul belajarnya? terima kasih

  2. mksd ane, krim balesan via email > afwanzikri@gmail.com

  3. Mas aku udah upload coding diatas tapi angka di seven segmentnya kedip2 itu kenapa ya?

  4. Posting sangat bagus dan luar biasa.. bagi yang ingin membuat thermometer digital dengan PCB dan source code yang saya sediakan disini disini <a href="http://rokhmad.blogspot.com/2014/11/membuat-thermometer-digital-dengan.html">http://rokhmad.blogspot.com/2014/11/membuat-thermometer-digital-dengan.html</a&gt;

Tinggalkan Balasan

Alamat surel Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *

fifteen + nine =

info : sms sedang lelet :D