Translate

Nodemcu esp8266 Monitor Suhu LM35 Interface 7Segment IC 4094

Nodemcu esp8266 Monitor Suhu LM35 Interface 7Segment IC 4094


           Pada kesempatan kali ini saya akan menjelaskan mengenai sebuah alat menggunakan interface 7segment untuk monitor suhu ruangan. alat ini menggunakan sensor LM35 dan juga mikrokontroller Nodemcu esp8266. nodemcu memiliki satu buah pin ADC sehngga bisa digunakan untuk satu sensor analog. untuk lebih jelasnya berikut adalah program dan daftar komponennya.




a. Nodemcu ESP8266




b. Interface 7segment IC 4094




c. Sensor Suhu LM35






d. Program Arduino IDE

#include <ESP8266WiFi.h>

byte zero  = B00000011;
byte one   = B10011111;
byte two   = B00100101;
byte three = B00001101;
byte four  = B10011001;
byte five  = B01001001;
byte six   = B01000001;
byte seven = B00011111;
byte eight = B00000001;
byte nine  = B00001001;

    int latchPin = D1;  //Pin connected to STR(pin 1) of HEF4094
    int clockPin = D2; //Pin connected to CP(pin 3) of HEF4094
    int dataPin = D3;  //Pin connected to D(pin 2) of HEF4094
    int oe = D0;  //Pin connected to OE(pin 2) of HEF4094

    int temp;
    int x = 5;
    int y;
   
void setup() {   
      pinMode(latchPin, OUTPUT);
      pinMode(clockPin, OUTPUT);
      pinMode(dataPin, OUTPUT);
      pinMode(oe, OUTPUT);
      //digitalWrite(oe,LOW);
          
      digitalWrite(oe,HIGH);

 }
    
void loop()
 {

  int sensorValue = analogRead(A0);
  int suhu = sensorValue * (3.3/1023) * 100;

  temp = suhu;
  int ribuan = temp / 1000;
  temp = temp % 1000;
  int ratusan = temp / 100;
  temp = temp % 100;
  int puluhan = temp / 10;
  int satuan = temp % 10;

 switch(ribuan){
   case 0:
   ribuan = zero;
   break;
   case 1:
   ribuan = one;
   break;
   case 2:
   ribuan = two;
   break;
   case 3:
   ribuan = three;
   break;
   case 4:
   ribuan = four;
   break;
   case 5:
   ribuan = five;
   break;
   case 6:
   ribuan = six;
   break;
   case 7:
   ribuan = seven;
   break;
   case 8:
   ribuan = eight;
   break;
   case 9:
   ribuan = nine;
   break;  
 }

 switch(ratusan){
   case 0:
   ratusan = zero;
   break;
   case 1:
   ratusan = one;
   break;
   case 2:
   ratusan = two;
   break;
   case 3:
   ratusan = three;
   break;
   case 4:
   ratusan = four;
   break;
   case 5:
   ratusan = five;
   break;
   case 6:
   ratusan = six;
   break;
   case 7:
   ratusan = seven;
   break;
   case 8:
   ratusan = eight;
   break;
   case 9:
   ratusan = nine;
   break;  
 }

 switch(puluhan){
   case 0:
   puluhan = zero;
   break;
   case 1:
   puluhan = one;
   break;
   case 2:
   puluhan = two;
   break;
   case 3:
   puluhan = three;
   break;
   case 4:
   puluhan = four;
   break;
   case 5:
   puluhan = five;
   break;
   case 6:
   puluhan = six;
   break;
   case 7:
   puluhan = seven;
   break;
   case 8:
   puluhan = eight;
   break;
   case 9:
   puluhan = nine;
   break;  
 }

 switch(satuan){
   case 0:
   satuan = zero;
   break;
   case 1:
   satuan = one;
   break;
   case 2:
   satuan = two;
   break;
   case 3:
   satuan = three;
   break;
   case 4:
   satuan = four;
   break;
   case 5:
   satuan = five;
   break;
   case 6:
   satuan = six;
   break;
   case 7:
   satuan = seven;
   break;
   case 8:
   satuan = eight;
   break;
   case 9:
   satuan = nine;
   break; 
 }

        digitalWrite(latchPin, HIGH); //Pull latch HIGH to send data
        shiftOut(dataPin, clockPin, LSBFIRST, satuan);
        shiftOut(dataPin, clockPin, LSBFIRST, puluhan);
        shiftOut(dataPin, clockPin, LSBFIRST, ratusan);
        digitalWrite(latchPin, LOW); //Pull latch HIGH to send data
        delay(1000);

}





e. VIDEO HASILNYA









No comments:

Post a Comment