Pada kesempatan kali ini saya akan menjelaskan mengenai bagaimana cara membuat sebuah alat yang berfungsi untuk monitor tegangan yang telah dikonversi oleh ADC sehingga data menjadi digital. interface yang digunakan yaitu 3 buah 7segment CA yang disusun berjajar. mikrokontroller yang digunakan yaitu nodemcu esp8266. untuk lebih jelasnya berikut adalah program dan daftar komponennya.
a. Nodemcu ESP8266
b. Rangkaian 7Segment
c. 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);
temp = sensorValue;
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);
}
d. VIDEO HASILNYA
No comments:
Post a Comment