-->

Mikroprosesor : Arduino 7 Segmen & LCD (IT Telkom Purwokerto)

Masrana.com - Display seven segment terdiri dari 7 buah lampu LED yang bisa menampilkan angka, dan kadang ada tambahan 1 LED sebagai titik di pojok bawah. Tipe seven segment ada dua yaitu Common Cathode dan Common Anode. Secara umum, LED pada seven segment diberi label A, B, C, D, E, F, G, dan DP. Semua segment LED terhubung menjadi satu pada salah satu sisinya. Jika yang terhubung jadi satu adalah kaki positif, maka disebut dengan Common Anode (CA). Jika yang terhubung jadi satu adalah kaki negatifnya, maka disebut dengan Common Cathode (CC).


Di pasaran seven segment dijual ada yang 1 digit, 3 digit, ada juga yang 4 digit. Prinsip kerja semua seven segment tersebut sama saja, hanya saja cara menampilkan angka dan rangkaiannya sudah pasti beda.

Program 1 Rangkaian seven segment 1 Digit :
Arduino (berjumlah 1)
Display 7 Segment 1 Digit CC (berjumlah 1)
Resistor 1k (berjumlah 1)
Project Board (berjumlah 1)
Kabel jumper secukupnya







Kode Program:

#define segA 2
#define segB 3
#define segC 4
#define segD 5
#define segE 6
#define segF 7
#define segG 8

int COUNT=0;//count integer for 0-9 increment

void setup()
{
pinMode(segA, OUTPUT);
pinMode(segB, OUTPUT);  
pinMode(segC, OUTPUT);
pinMode(segD, OUTPUT); //D sebagai output
pinMode(segE, OUTPUT); //E sebagai output
pinMode(segF, OUTPUT);
pinMode(segG, OUTPUT);//F sebagai output
}

void loop()
{
 switch (COUNT)
 {
   case 0: //angka 0
   digitalWrite(segA, HIGH);
   digitalWrite(segB, HIGH);
   digitalWrite(segC, HIGH);
   digitalWrite(segD, HIGH);
   digitalWrite(segE, HIGH);
   digitalWrite(segF, HIGH);
   digitalWrite(segG, LOW);
   break;
   
   case 1: //angka 1
   digitalWrite(segA, LOW);
   digitalWrite(segB, HIGH);
   digitalWrite(segC, HIGH);
   digitalWrite(segD, LOW);
   digitalWrite(segE, LOW);
   digitalWrite(segF, LOW);
   digitalWrite(segG, LOW);
   break;
   
   case 2: //angka 2
   digitalWrite(segA, HIGH);
   digitalWrite(segB, HIGH);
   digitalWrite(segC, LOW);
   digitalWrite(segD, HIGH);
   digitalWrite(segE, HIGH);
   digitalWrite(segF, LOW);
   digitalWrite(segG, HIGH);
   break;
   
   case 3: //angka 3
   digitalWrite(segA, HIGH);
   digitalWrite(segB, HIGH);
   digitalWrite(segC, HIGH);
   digitalWrite(segD, HIGH);
   digitalWrite(segE, LOW);
   digitalWrite(segF, LOW);
   digitalWrite(segG, HIGH);
   break;
   
   case 4: //angka 4
   digitalWrite(segA, LOW);
   digitalWrite(segB, HIGH);
   digitalWrite(segC, HIGH);
   digitalWrite(segD, LOW);
   digitalWrite(segE, LOW);
   digitalWrite(segF, HIGH);
   digitalWrite(segG, HIGH);
   break;
   
   case 5: //angka 5
   digitalWrite(segA, HIGH);
   digitalWrite(segB, LOW);
   digitalWrite(segC, HIGH);
   digitalWrite(segD, HIGH);
   digitalWrite(segE, LOW);
   digitalWrite(segF, HIGH);
   digitalWrite(segG, HIGH);
   break;
   
   case 6: //angka 4
   digitalWrite(segA, HIGH);
   digitalWrite(segB, LOW);
   digitalWrite(segC, HIGH);
   digitalWrite(segD, HIGH);
   digitalWrite(segE, HIGH);
   digitalWrite(segF, HIGH);
   digitalWrite(segG, HIGH);
   break;
   
   case 7: //angka 4
   digitalWrite(segA, HIGH);
   digitalWrite(segB, HIGH);
   digitalWrite(segC, HIGH);
   digitalWrite(segD, LOW);
   digitalWrite(segE, LOW);
   digitalWrite(segF, LOW);
   digitalWrite(segG, LOW);
   break;
   
   case 8: //angka 4
   digitalWrite(segA, HIGH);
   digitalWrite(segB, HIGH);
   digitalWrite(segC, HIGH);
   digitalWrite(segD, HIGH);
   digitalWrite(segE, HIGH);
   digitalWrite(segF, HIGH);
   digitalWrite(segG, HIGH);
   break;
   
   case 9: //angka 4
   digitalWrite(segA, HIGH);
   digitalWrite(segB, HIGH);
   digitalWrite(segC, HIGH);
   digitalWrite(segD, HIGH);
   digitalWrite(segE, LOW);
   digitalWrite(segF, HIGH);
   digitalWrite(segG, HIGH);
   break;
   
   break;
 }
  if(COUNT<10)
  {
    COUNT++;
    delay(1000);
  }
  
  if(COUNT==10)
  {
    COUNT=0;
    delay(1000);
  }

}


Program 2 - LCD
GND → Ground
VCC → +5V
VD → Resistor (GND)
RS → 12
RW → GND
E → 11
DB4 → 5
DB5 → 4
DB6 → 3
DB7 → 2
Anoda → +5V
Katoda → Resistor (GND)

Kode Program:

#include <LiquidCrystal.h>

LiquidCrystal lcd(12,11,5,4,3,2);

void setup(){
  lcd.begin(16,2);
  lcd.setCursor(0,0);
  lcd.print("Hello World");
  delay(500);
  lcd.clear();
}

void loop(){
lcd.setCursor(0,0);
lcd.print(" Mikroprosesor ");
lcd.setCursor(0,1);
lcd.print(" Dian ");
}

Program 3 - Membaca Sensor Suhu
Tambahkan Sensor TMP36
Sambungkan dengan pin A0
Kode Program:

#include<LiquidCrystal.h>

LiquidCrystal lcd(12,11,5,4,3,2);

int sensorPin = A0;

void setup()
{
  lcd.begin(16,2);
  lcd.setCursor(0,0);
  lcd.print("Termometer");
  lcd.setCursor(0,1);
  lcd.print("Gaul");
  delay(1000);
  lcd.clear();
}

void loop()
{
  int reading = analogRead(sensorPin);
  float voltage = reading *5.0;
  voltage /=1024.0;
 
  lcd.setCursor(0,0);
  lcd.print(voltage);
  lcd.setCursor(5,0);
  lcd.print("Volts");
 
  float temperatureC=(voltage-0.5)*100;
   
  lcd.setCursor(0,1);
  lcd.print(temperatureC);
  lcd.setCursor(5,1);
  lcd.print("celcius");
 
  delay(1000);
}

Latihan: Buat Seven segment untuk menghitung mundur dari 9 ke 0.

Kode Program:

#define segA 2
#define segB 3
#define segC 4
#define segD 5
#define segE 6
#define segF 7
#define segG 8

int COUNT=0;//count integer for 0-9 increment

void setup()
{
pinMode(segA, OUTPUT);
pinMode(segB, OUTPUT); 
pinMode(segC, OUTPUT);
pinMode(segD, OUTPUT); //D sebagai output
pinMode(segE, OUTPUT); //E sebagai output
pinMode(segF, OUTPUT);
pinMode(segG, OUTPUT);//F sebagai output
}

void loop()
{
 switch (COUNT)
 {
   case 0: //angka 0
   digitalWrite(segA, HIGH);
   digitalWrite(segB, HIGH);
   digitalWrite(segC, HIGH);
   digitalWrite(segD, HIGH);
   digitalWrite(segE, HIGH);
   digitalWrite(segF, HIGH);
   digitalWrite(segG, LOW);
   break;
  
   case 1: //angka 1
   digitalWrite(segA, HIGH);
   digitalWrite(segB, HIGH);
   digitalWrite(segC, HIGH);
   digitalWrite(segD, HIGH);
   digitalWrite(segE, LOW);
   digitalWrite(segF, HIGH);
   digitalWrite(segG, HIGH);
   break;
  
   case 2: //angka 2
   digitalWrite(segA, HIGH);
   digitalWrite(segB, HIGH);
   digitalWrite(segC, HIGH);
   digitalWrite(segD, HIGH);
   digitalWrite(segE, HIGH);
   digitalWrite(segF, HIGH);
   digitalWrite(segG, HIGH);
   break;
  
   case 3: //angka 3
   digitalWrite(segA, HIGH);
   digitalWrite(segB, HIGH);
   digitalWrite(segC, HIGH);
   digitalWrite(segD, LOW);
   digitalWrite(segE, LOW);
   digitalWrite(segF, LOW);
   digitalWrite(segG, LOW);
   break;
  
   case 4: //angka 4
   digitalWrite(segA, HIGH);
   digitalWrite(segB, LOW);
   digitalWrite(segC, HIGH);
   digitalWrite(segD, HIGH);
   digitalWrite(segE, HIGH);
   digitalWrite(segF, HIGH);
   digitalWrite(segG, HIGH);
   break;
  
   case 5: //angka 5
   digitalWrite(segA, HIGH);
   digitalWrite(segB, LOW);
   digitalWrite(segC, HIGH);
   digitalWrite(segD, HIGH);
   digitalWrite(segE, LOW);
   digitalWrite(segF, HIGH);
   digitalWrite(segG, HIGH);
   break;
  
   case 6: //angka 4
   digitalWrite(segA, LOW);
   digitalWrite(segB, HIGH);
   digitalWrite(segC, HIGH);
   digitalWrite(segD, LOW);
   digitalWrite(segE, LOW);
   digitalWrite(segF, HIGH);
   digitalWrite(segG, HIGH);
   break;
  
   case 7: //angka 4
   digitalWrite(segA, HIGH);
   digitalWrite(segB, HIGH);
   digitalWrite(segC, HIGH);
   digitalWrite(segD, HIGH);
   digitalWrite(segE, LOW);
   digitalWrite(segF, LOW);
   digitalWrite(segG, HIGH);
   break;
  
   case 8: //angka 4
   digitalWrite(segA, HIGH);
   digitalWrite(segB, HIGH);
   digitalWrite(segC, LOW);
   digitalWrite(segD, HIGH);
   digitalWrite(segE, HIGH);
   digitalWrite(segF, LOW);
   digitalWrite(segG, HIGH);
   break;
  
   case 9: //angka 4
   digitalWrite(segA, LOW);
   digitalWrite(segB, HIGH);
   digitalWrite(segC, HIGH);
   digitalWrite(segD, LOW);
   digitalWrite(segE, LOW);
   digitalWrite(segF, LOW);
   digitalWrite(segG, LOW);
   break;
  
   break;
 }
  if(COUNT<10)
  {
    COUNT++;
    delay(1000);
  }
 
  if(COUNT==10)
  {
    COUNT=0;
    delay(1000);
  }
}

Latihan: Buat Counter untuk menghitung dari 1 – 99 dengan 2 buah seven segment

Kode Program:

#define segAA 7
#define segBA 8
#define segCA 9
#define segDA 10
#define segEA 11
#define segFA 12
#define segGA 13
#define segAB 0
#define segBB 1
#define segCB 2
#define segDB 3
#define segEB 4
#define segFB 5
#define segGB 6

int COUNT1=0;
int COUNT2=0;

void setup()
{
  pinMode(segAA, OUTPUT);
  pinMode(segBA, OUTPUT);
  pinMode(segCA, OUTPUT);
  pinMode(segDA, OUTPUT);
  pinMode(segEA, OUTPUT);
  pinMode(segFA, OUTPUT);
  pinMode(segGA, OUTPUT);
  pinMode(segAB, OUTPUT);
  pinMode(segBB, OUTPUT);
  pinMode(segCB, OUTPUT);
  pinMode(segDB, OUTPUT);
  pinMode(segEB, OUTPUT);
  pinMode(segFB, OUTPUT);
  pinMode(segGB, OUTPUT);
}

void loop()
{
  switch(COUNT1)
  {
  case 0:
  digitalWrite(segAA, HIGH);
  digitalWrite(segBA, HIGH);
  digitalWrite(segCA, HIGH);
  digitalWrite(segDA, HIGH);
  digitalWrite(segEA, HIGH);
  digitalWrite(segFA, HIGH);
  digitalWrite(segGA, LOW);
  break;

  case 1:
  digitalWrite(segAA, LOW);
  digitalWrite(segBA, HIGH);
  digitalWrite(segCA, HIGH);
  digitalWrite(segDA, LOW);
  digitalWrite(segEA, LOW);
  digitalWrite(segFA, LOW);
  digitalWrite(segGA, LOW);
  break;

  case 2:
  digitalWrite(segAA, HIGH);
  digitalWrite(segBA, HIGH);
  digitalWrite(segCA, LOW);
  digitalWrite(segDA, HIGH);
  digitalWrite(segEA, HIGH);
  digitalWrite(segFA, LOW);
  digitalWrite(segGA, HIGH);
  break;

  case 3:
  digitalWrite(segAA, HIGH);
  digitalWrite(segBA, HIGH);
  digitalWrite(segCA, HIGH);
  digitalWrite(segDA, HIGH);
  digitalWrite(segEA, LOW);
  digitalWrite(segFA, LOW);
  digitalWrite(segGA, HIGH);
  break;

  case 4:
  digitalWrite(segAA, LOW);
  digitalWrite(segBA, HIGH);
  digitalWrite(segCA, HIGH);
  digitalWrite(segDA, LOW);
  digitalWrite(segEA, LOW);
  digitalWrite(segFA, HIGH);
  digitalWrite(segGA, HIGH);
  break; 

  case 5:
  digitalWrite(segAA, HIGH);
  digitalWrite(segBA, LOW);
  digitalWrite(segCA, HIGH);
  digitalWrite(segDA, HIGH);
  digitalWrite(segEA, LOW);
  digitalWrite(segFA, HIGH);
  digitalWrite(segGA, HIGH);
  break;

  case 6:
  digitalWrite(segAA, HIGH);
  digitalWrite(segBA, LOW);
  digitalWrite(segCA, HIGH);
  digitalWrite(segDA, HIGH);
  digitalWrite(segEA, HIGH);
  digitalWrite(segFA, HIGH);
  digitalWrite(segGA, HIGH);
  break; 

  case 7:
  digitalWrite(segAA, HIGH);
  digitalWrite(segBA, HIGH);
  digitalWrite(segCA, HIGH);
  digitalWrite(segDA, LOW);
  digitalWrite(segEA, LOW);
  digitalWrite(segFA, LOW);
  digitalWrite(segGA, LOW);
  break; 

  case 8:
  digitalWrite(segAA, HIGH);
  digitalWrite(segBA, HIGH);
  digitalWrite(segCA, HIGH);
  digitalWrite(segDA, HIGH);
  digitalWrite(segEA, HIGH);
  digitalWrite(segFA, HIGH);
  digitalWrite(segGA, HIGH);
  break;  

  case 9:
  digitalWrite(segAA, HIGH);
  digitalWrite(segBA, HIGH);
  digitalWrite(segCA, HIGH);
  digitalWrite(segDA, HIGH);
  digitalWrite(segEA, LOW);
  digitalWrite(segFA, HIGH);
  digitalWrite(segGA, HIGH);
  break;
  }
  switch(COUNT2)
  {
  case 0:
  digitalWrite(segAB, HIGH);
  digitalWrite(segBB, HIGH);
  digitalWrite(segCB, HIGH);
  digitalWrite(segDB, HIGH);
  digitalWrite(segEB, HIGH);
  digitalWrite(segFB, HIGH);
  digitalWrite(segGB, LOW);
  break;

  case 1:
  digitalWrite(segAB, LOW);
  digitalWrite(segBB, HIGH);
  digitalWrite(segCB, HIGH);
  digitalWrite(segDB, LOW);
  digitalWrite(segEB, LOW);
  digitalWrite(segFB, LOW);
  digitalWrite(segGB, LOW);
  break;

  case 2:
  digitalWrite(segAB, HIGH);
  digitalWrite(segBB, HIGH);
  digitalWrite(segCB, LOW);
  digitalWrite(segDB, HIGH);
  digitalWrite(segEB, HIGH);
  digitalWrite(segFB, LOW);
  digitalWrite(segGB, HIGH);
  break;

  case 3:
  digitalWrite(segAB, HIGH);
  digitalWrite(segBB, HIGH);
  digitalWrite(segCB, HIGH);
  digitalWrite(segDB, HIGH);
  digitalWrite(segEB, LOW);
  digitalWrite(segFB, LOW);
  digitalWrite(segGB, HIGH);
  break;

  case 4:
  digitalWrite(segAB, LOW);
  digitalWrite(segBB, HIGH);
  digitalWrite(segCB, HIGH);
  digitalWrite(segDB, LOW);
  digitalWrite(segEB, LOW);
  digitalWrite(segFB, HIGH);
  digitalWrite(segGB, HIGH);
  break;  

  case 5:
  digitalWrite(segAB, HIGH);
  digitalWrite(segBB, LOW);
  digitalWrite(segCB, HIGH);
  digitalWrite(segDB, HIGH);
  digitalWrite(segEB, LOW);
  digitalWrite(segFB, HIGH);
  digitalWrite(segGB, HIGH);
  break;

  case 6:
  digitalWrite(segAB, HIGH);
  digitalWrite(segBB, LOW);
  digitalWrite(segCB, HIGH);
  digitalWrite(segDB, HIGH);
  digitalWrite(segEB, HIGH);
  digitalWrite(segFB, HIGH);
  digitalWrite(segGB, HIGH);
  break; 

  case 7:
  digitalWrite(segAB, HIGH);
  digitalWrite(segBB, HIGH);
  digitalWrite(segCB, HIGH);
  digitalWrite(segDB, LOW);
  digitalWrite(segEB, LOW);
  digitalWrite(segFB, LOW);
  digitalWrite(segGB, LOW);
  break;

  case 8:
  digitalWrite(segAB, HIGH);
  digitalWrite(segBB, HIGH);
  digitalWrite(segCB, HIGH);
  digitalWrite(segDB, HIGH);
  digitalWrite(segEB, HIGH);
  digitalWrite(segFB, HIGH);
  digitalWrite(segGB, HIGH);
  break;  

  case 9:
  digitalWrite(segAB, HIGH);
  digitalWrite(segBB, HIGH);
  digitalWrite(segCB, HIGH);
  digitalWrite(segDB, HIGH);
  digitalWrite(segEB, LOW);
  digitalWrite(segFB, HIGH);
  digitalWrite(segGB, HIGH);
  break;
  }
  if(COUNT2<10)
  {
    COUNT2++;
    delay(1000);
  }
  if(COUNT2==10)
  {
    COUNT2=0;
    COUNT1++;
  }
  if(COUNT1==10)
  {COUNT1=0;}

}

Latihan: Buat Rangkaian dengan LCD, 1 Buah Pushbutton dan 1 buah LED, dimana ketika pushbutton ditekan LED menyala dan pada LCD tampil teks LED menyala (saat ditekan) dan LED padam (saat dilepas).

Kode Program:

#include <LiquidCrystal.h>
LiquidCrystal lcd (12,11,5,4,3,2);

const int pinLED=9;
const int pinButton=8;

void setup(){
  pinMode(pinLED, OUTPUT);
  pinMode(pinButton, INPUT);
 
  digitalWrite (pinButton, HIGH);
  lcd.begin(16,2);
  lcd.setCursor(0,0);
  lcd.print("Hiii");
  lcd.setCursor(0,1);
  lcd.print("Brother");
  delay(1000);
  lcd.clear();
}

void loop(){
  if(digitalRead(pinButton)==LOW)
  {
    digitalWrite(pinLED,HIGH);
    lcd.setCursor(0,0);
    lcd.print("LED Menyala");
    delay(1000);
    lcd.clear();
  }else{
    digitalWrite(pinLED, LOW);
    lcd.setCursor(1,0);
    lcd.print("LED Padam");
    delay(1000);
    lcd.clear();
  }
}

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel

close