Translate

Monitor Gas / Asap MQ-2 Interface 7Segment ARDUINO

 Monitor Gas / Asap MQ-2 Interface 7Segment ARDUINO

           Pada kesempatan kali ini saya akan menjelaskan mengenai bagaimana cara membuat sebuah alat yang dapat memonitor asap atau gas yang dimonitor menggunakan interface 7Segment. alat ini menggunakan arduino sebagai kontrollernya. alat ini menggunakan sensor MQ-2 dengan output berupa tegangan. untuk penjelasan lebih lanjut berikut adalah komponen dan programnya.  



a. Arduino Uno



b. Driver 7Segment



c. Sensor Gas MQ-2





d. Program Arduino IDE

#include <Wire.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;

byte zerox  = B00000010;
byte onex   = B10011110;
byte twox   = B00100100;
byte threex = B00001100;
byte fourx  = B10011000;
byte fivex  = B01001000;
byte sixx   = B01000000;
byte sevenx = B00011110;
byte eightx = B00000000;
byte ninex  = B00001000;

int latchPin = 4;  //Pin connected to STR(pin 1) of HEF4094
int clockPin = 3; //Pin connected to CLK(pin 3) of HEF4094
int dataPin = 2;  //Pin connected to D(pin 2) of HEF4094
int oe = 5;  //Pin connected to OE(pin 2) of HEF4094

int temp;
int x = 5;
int y;

int sensorValue;

void setup(){
 Serial.begin(9600);
 pinMode(latchPin, OUTPUT);
 pinMode(clockPin, OUTPUT);
 pinMode(dataPin, OUTPUT);
 pinMode(oe, OUTPUT);
 digitalWrite(oe,HIGH);
}

void loop(){
           
  sensorValue = analogRead(A0);
  float volt = sensorValue * (5.0/1023.0);
  int voltx = volt * 100;
  
  temp = voltx;
  int ribuan = temp / 1000;
  temp = temp % 1000;
  int ratusan = temp / 100;
  temp = temp % 100;
  int puluhan = temp / 10;
  int satuan = temp % 10;

 switch(ratusan){
   case 0:
   ratusan = zerox;
   break;
   case 1:
   ratusan = onex;
   break;
   case 2:
   ratusan = twox;
   break;
   case 3:
   ratusan = threex;
   break;
   case 4:
   ratusan = fourx;
   break;
   case 5:
   ratusan = fivex;
   break;
   case 6:
   ratusan = sixx;
   break;
   case 7:
   ratusan = sevenx;
   break;
   case 8:
   ratusan = eightx;
   break;
   case 9:
   ratusan = ninex;
   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