Jual Display Iqomah Counting Down dan Jam Digital Tipe Led dan & 7 Segment [Semarang] (Waktu tunggu Sholat berjamaah)

Bismillahirrohmanirrohim

Display Iqomah Counting Down dan Jam digital, yaitu display waktu tunggu Iqomah sebagai solusi untuk menampilkan waktu tunggu sholat berjamaah, dimana dengan display ini membantu kita untuk mengetahui berakhirnya batas waktu

untuk melaksanakan shalat sunnah sebelum sholat berjamaah, sangat cocok untuk dipasang di masjid dan tempat ibadah dan selain itu juga berfungsi sebagai Jam digital display ini sangat terang berukuran 50,5×35,5 cm (beserta bingkainya). garansi 1 tahun sparepart dan life time service, dan yang paling penting display ini saya produksi sendiri jadi tidak perlu khawatir untuk  perawatannya. konsumsi daya kurang dari 15 watt.

FITUR-FITUR:

- 5 MODE WAKTU COUNTER – terdapat 5 buah tombol counter, masing2 counter 1, counter 2, counter 3, counter 4, dan counter 5. Jadi anda dapat menentukan masing2 waktu counter, misalkan counter 1 (untuk waktu subuh) 5 menit, counter 2 (untuk waktu dhuhur) 10 menit, counter 3, counter 4, dan counter 5 sesuai dengan yang anda inginkan maksimal 60 menit untuk masing2 counter.

- Jam digital sebagai penunjuk waktu dengan format, 00:00 sampai 23:59 dengan kedip2 setiap detik

- Bunyi beep setiap perubahan jam

- Bunyi beep 4 kali ketika counting down telah habis

  JAM DIGITAL & IQOMAH COUNTING DOWN MODEL 7SEGMENT = Rp. 800000

IMG_20141004_104115-text IMG_20141006_215635-text

 JAM DIGITAL & IQOMAH COUNTING DOWN MODEL LED = Rp. 700000

iqomah new

Untuk yang berada di wilayah semarang dan sekitarnya bisa COD langsung ke Toko/Rumah. alamat silakan hubungi langsung Thx :)

CP: email/ym :aliexdsg@yahoo.com

Hp/whatsapp : 085727226426

pin BB = 79722F75

mohon untuk sms saja/BBM/Whatsapp ya. thanks :)

Program ATmega8535 ADC, alarm buzzer dan RS232 dengan Bascom AVR

Berikut merupakan contoh sederhana untuk membuat alarm buzzer dari ADC atmega8535 dengan bahasa basic,,,sederhana saja jika suhunya dah mencapai 28 dan lebih tinggi maka buzzer akan berbunyi

Kali ini saya menggunakan bahasa basic dengan bascom avr….silakan dicoba yah teman-teman.

$regfile = "m8535.dat"
$crystal = 11059200
$baud = 9600
Config Adc = Single, Prescaler = Auto, Reference = Avcc
Config Portc = Output    ' = mengeset port c sebagai output
untuk membunyikan buzzer
' misal kan vref (tegangan referensi ADC adalah 5 Volt)
' di mana karakteristik LM35 = 10mV/Celcius
' nilai suhu 5000 mV /  10mV = 500 Celcius, yaitu nilai maksimum bit ADC = 1024 = suhu pada 500 derajat celcius
' maka Suhu ADC = (nilai bit pembacaan ADC) * 500 / (1024 - 1)
Dim A As Word
Dim X As Word
Start Adc
Do
X = Getadc(0) * 500      ' = pembacaan adc
A = X / 1023  ' = mengirim nilai A (pembacaan ADC ke serial)
Print "Temperature = " ; A ; " Celcius"
Waitms 200
If A < 28 Then
 Portc.0 = 1
  Waitms 200
End If
If A => 28 And A <= 40 Then
  Portc.0 = 0
  Waitms 200
End If
If A > 40 Then
  Portc.0 = 1
  Waitms 200
End If
  Loop
  End



ini simulasinya yah

Program 7 segment dengan ATmega16

kali ini saya mw nyoba share project sederhana,,,mbuat 7 segment 4 digit,,,dengan tteknik scanning,,,jadi 4 buah 7 segment dinyalain secara bergantian…itu misal mw pake sub rutinnya, tinggal taroh az di barisan sebelum “void main(void)”, trus dalamnya ente tinggal panggil misal nilai yg pengen ditampilin nilai 1234tulis az “sevsegment(1234);” selamat mencoba yah

itu 7segmennya disambung ke portB

pinB.0 = digit 1
pinB.1 = digit 2
pinB.2 = digit 3
pinB.3 = digit 4
pinB.4 = scanning digit 1
pinB.5 = scanning digit 2
pinB.6 = scanning digit 3
pinB.7 = scanning digit 4

#include <mega16.h>
#include <stdio.h>
#include <delay.h>

void write7segment(unsigned char digit, unsigned char bilangan)
{
 PORTB=((0xF7<<digit)&0xF0)|bilangan;
}

void sevsegment( unsigned int bilangan)
{
  unsigned int tempdata;
  unsigned int digit1,digit2,digit3,digit4;  //array data untuk memilah
  tempdata=bilangan;
  digit1=tempdata%10;                //satuan,
  tempdata/=10;
  digit2=tempdata%10;                //puluhan,
  tempdata/=10;
  digit3=tempdata%10;                //ratusan,
  tempdata/=10;
  digit4=tempdata%10;                //ribuan

  write7segment(1,digit1);    //scanning untuk digit 1/satuan
  delay_ms(1);
  write7segment(2,digit2);   //scanning untuk digit 2/puluhan
  delay_ms(1);
  write7segment(3,digit3);   //scanning untuk digit 3/ratusan
  delay_ms(1);
  write7segment(4,digit4);   //scanning untuk digit 4/ribuan
  delay_ms(1);
}

void main(void)
{
  DDRB=255;
  while(1)
  {
   sevsegment(1234);
  }
}
skematik
ini skema nya ya gan,,,kmrn post skemanya hilang nth kmn

Program 7 segment dan Keypad dengan ATmega8535

ini salah satu file project keypad dengan 7 segment menggunakan bahasa C, yang pernah saya buat monggo untuk dicoba yah,,,makasih dah berkunjung di blog saya.. :)

/*
edited by :aliexdsg
Chip type : ATmega8535
Program type : Application
AVR Core Clock frequency: 12,000000 MHz
Memory model : Small
External RAM size : 0
Data Stack size : 128
*/

#include
#include
#include
#include

#define baris1 PIND.4
#define baris2 PIND.5
#define baris3 PIND.6
#define baris4 PIND.7

char temp=0;
unsigned long int simpan=0;
// Declare your global variables here

void write7segment(unsigned char digit, unsigned char bilangan)
{
 PORTB=((0xF7<
}

void sevsegment( unsigned int bilangan)
{
  unsigned int tempdata;
  unsigned int digit1,digit2,digit3,digit4;  //array data untuk memilah
  tempdata=bilangan;
  digit1=tempdata%10;                //satuan,
  tempdata/=10;
  digit2=tempdata%10;                //puluhan,
  tempdata/=10;
  digit3=tempdata%10;                //ratusan,
  tempdata/=10;
  digit4=tempdata%10;                //ribuan
  write7segment(1,digit1);    //scanning untuk digit 1/satuan
  delay_ms(1);
  write7segment(2,digit2);   //scanning untuk digit 2/puluhan
  delay_ms(1);
  write7segment(3,digit3);   //scanning untuk digit 3/ratusan
  delay_ms(1);
  write7segment(4,digit4);   //scanning untuk digit 4/ribuan
  delay_ms(1);
}

unsigned char scan_keypad()
{
 char nilai;
//scan kolom 1
 PORTD=0b11111110;
 if(!baris1){ while(!baris1);nilai=1;}
 if(!baris2){ while(!baris2);nilai=4;}
 if(!baris3){ while(!baris3);nilai=7;}
 if(!baris4){ while(!baris4);nilai='*';}
//scan kolom 2
 PORTD=0b11111101;
 if(!baris1){ while(!baris1);nilai=2;}
 if(!baris2){ while(!baris2);nilai=5;}
 if(!baris3){ while(!baris3);nilai=8;}
 if(!baris4){ while(!baris4);nilai=10;}
 //scan kolom 3
 PORTD=0b11111011;
 if(!baris1){ while(!baris1);nilai=3;}
 if(!baris2){ while(!baris2);nilai=6;}
 if(!baris3){ while(!baris3);nilai=9;}
 if(!baris4){ while(!baris4);nilai='_';}
 return nilai;
}

void main(void)
{
 //init
 DDRB=0xFF;                 //   PORTB OUTPUT 7 SEGMENT
 DDRC=0xFF;                 //   PORTC OUTPUT
 PORTD=0xFF;                //   PORTD INPUT KEYPAD
 DDRD=0x0F;                 //
 ACSR=0x80;                 //
 //routines

 while(1)
 {
   temp=scan_keypad();
   if ((temp!='*') && (temp!='_') && (temp!='') && (simpan999))
       {
        if (temp==10) {simpan*=10;} else
            {
             simpan=simpan-((simpan/1000)*1000);
             simpan=(simpan*10)+temp;
            }

       }

   if (temp=='*') {simpan=0;temp=0;}
   sevsegment(simpan);
 }
}

Skema rangkaiannya yah

*nb : tombol ‘*’ saya gunakan untuk mereset angka

Program Menampilkan text ke LCD dengan AVR ATmega8535 menggunakan bahasa Assembler AVR Studio

berikut adalah contoh program menampilkan text ke LCD 16×2 menggunakan bahasa Assembler

karena bahasa assembler adalah bahasa yang paling pas untuk pemula mikrokontroller agar kita bisa benar2 paham akan isi mikrokontroller yang kita pelajari…mungkin sudah banyak contohnya juga di internet,,,yah pengen sharing az…moga ntr banyak waktu untuk share proyek2 mikrokontroller yang telah saya buat,,,,

dengan konfigurasi port PORT D sebagai port tampilan ke LCD

MIkro    //   LCD Port

PORTD,0   ;DATA0

PORTD,1    ;DATA1

PORTD,2    ;DATA2

PORTD,3    ;DATA3

PORTD,5    ;R/W

PORTD,7   ;RS

PORTD,6    ;E


.include"C:\Program Files\Atmel\AVR Tools\AvrAssembler2\Appnotes\m8535def.inc"
.equ timer_value=0xffca
.equ timer_value100=0xfbaf

.org 0x0000
rjmp main

main:
LDI R16,LOW(RAMEND)
OUT SPL,R16
LDI R16,HIGH(RAMEND)
OUT SPH,R16

LDI R16,0XFF
LDI R19,0X00

OUT DDRB,R16
OUT DDRC,R16
OUT DDRD,R16

OUT PORTA,R16

OUT PORTB,R19
OUT PORTC,R19
OUT PORTD,R19

RCALL INIT_LCD

START:
LDI R17,0X01

RCALL KIRIM_PERINTAH

LDI ZL,LOW(2*SUHU)
LDI ZH,HIGH(2*SUHU)

RCALL BARIS1
RCALL KIRIMPESAN_LCD

LDI ZL,LOW(2*MY)
LDI ZH,HIGH(2*MY)

RCALL BARIS2
RCALL KIRIMPESAN_LCD

END:
RJMP END

;===========================
;KIRIM PESAN LCD
;===========================

KIRIMPESAN_LCD:
CLR R1

LOOPKIRIMPESAN_LCD:
LPM
MOV R17,R0
CPI R17,0
BRNE KIRIM_LCD
RET

KIRIM_LCD:
RCALL KIRIM_KARAKTER
ADIW ZL,1
RJMP LOOPKIRIMPESAN_LCD

;=================================
; INISIALISASI LCD
;=================================

INIT_LCD:
CBI PORTD,5 ;R/W
SBI PORTD,7 ;RS
CBI PORTD,6 ;E
LDI R20,8

LOOPDELAY:
RCALL DELAY5
DEC R20
CPI R20,0
BRNE LOOPDELAY

LDI R17,0X30
RCALL KIRIM_PERINTAH
RCALL DELAY5

LDI R17,0X30
RCALL KIRIM_PERINTAH
RCALL DELAY100US

LDI R17,0X30
RCALL KIRIM_PERINTAH

LDI R17,0X20
RCALL KIRIM_PERINTAH

LDI R17,0X28
RCALL KIRIM_PERINTAH

LDI R17,0X08
RCALL KIRIM_PERINTAH

LDI R17,0X01
RCALL KIRIM_PERINTAH

LDI R17,0X0E
RCALL KIRIM_PERINTAH

LDI R17,0X06
RCALL KIRIM_PERINTAH
SBI PORTB,3
RET

KIRIM_PERINTAH:
CBI PORTD,7
CBI PORTD,5
RCALL KIRIM_DATALCD
SWAP R17
RCALL KIRIM_DATALCD
RCALL DELAY5
RET

KIRIM_KARAKTER:
SBI PORTD,7
CBI PORTD,5
RCALL KIRIM_DATALCD
SWAP R17
RCALL KIRIM_DATALCD
RCALL DELAY5
RET

KIRIM_DATALCD:
SBI PORTD,6
OUT PORTC,R17
CBI PORTD,6
RET

;==========================
;PINDAH BARIS 2
;==========================

BARIS2:
LDI R17,0XC0
RCALL KIRIM_PERINTAH
RET

;==========================
;PINDAH BARIS 1
;==========================

BARIS1:
LDI R17,0X02
RCALL KIRIM_PERINTAH
RET

;==========================
; GESER DISPLAY KANAN
;==========================

GESERDISPLAY_KANAN:
LDI R17,0X1F
RCALL KIRIM_PERINTAH
RET

;==========================
; GESER DISPLAY KIRI
;==========================

GESERDISPLAY_KIRI:
LDI R17,0X18
RCALL KIRIM_PERINTAH
RET

;===========================
;GESER KURSOR KIRI
;===========================

GESERKURSOR_KIRI:
LDI R17,0X10
RCALL KIRIM_PERINTAH
RET

;===============================
;GESER KURSOR KANAN
;===============================

GESERKURSOR_KANAN:
LDI R17,0X14
RCALL KIRIM_PERINTAH
RET

;=============================
;DELAY 5MS
;=============================

DELAY5:
ldi r16,0b00000100
out timsk,r16
ldi r16,high(timer_value)
out tcnt1h,r16
ldi r16,low(timer_value)
out tcnt1l,r16
ldi r16,0b00000101
out tccr1b,r16

looptimer:
in r17,tifr
sbrs r17,tov1
rjmp looptimer
ldi r16,0b00000100
out tifr,r16
ret

;===========================
;DELAY 100uS
;===========================

DELAY100US:
ldi r16,0b00000100
out timsk,r16
ldi r16,high(timer_value100)
out tcnt1h,r16
ldi r16,low(timer_value100)
out tcnt1l,r16
ldi r16,0b00000001 ;(tanpa prescaler)
out tccr1b,r16

looptimer3:
in r17,tifr
sbrs r17,tov1
rjmp looptimer3
ldi r16,0b00000100
out tifr,r16
ret

SUHU:
.DB "SUHU",0

MY:
.DB "17C",0

Jam Digital 7 segment dengan ATmega8 dan RTC DS1307

Sudah lama sekali tidak berkreasi di blog ini…sekarang pengen coba share gimana membuat sebuah jam digital

akan saya paparkan skematik dan kode nya disini,,,silakan dicoba ya teman semua

setting xtall = 1 Mhz Internal,,, jadi ga perlu pakai xtall, dengan kata lain ketika kita beli ic Atmega8 yg masih baru yg belum diapa-apakan,,, bisa langsung diberi program ini, tanpa perlu setting fusebit nya. atau kalau ingin pakai Xtall dikasih xtall 1Mhz dan setting eksternal crystall oscillator. 

code

#include <mega8.h>
#asm
.equ __i2c_port=0x18 ;portc
.equ __sda_bit=5
.equ __scl_bit=4
#endasm
#include <i2c.h>
#include <delay.h>
#include <ds1307.h>
#include <math.h>
/*
7 segment
a = 6
b = 4
c = 0
d = 1
e = 2
f = 5
g = 3

*/
char status=0;
unsigned char jam,menit,detik,segment;

void init_dev(void)
{
 DDRC=0b11111100;
 DDRD=0XFF;
 i2c_init();
 rtc_init(0,1,0);
}

void write7segment(unsigned char digit, unsigned char bilangan)
{

 switch (bilangan)
 {
 case 0 : { PORTD=~(0b1110111); }; break;
 case 1 : { PORTD=~(0b0010001); }; break;
 case 2 : { PORTD=~(0b1011110); }; break;
 case 3 : { PORTD=~(0b1011011); }; break;
 case 4 : { PORTD=~(0b0111001); }; break;
 case 5 : { PORTD=~(0b1101011); }; break;
 case 6 : { PORTD=~(0b1101111); }; break;
 case 7 : { PORTD=~(0b1010001); }; break;
 case 8 : { PORTD=~(0b1111111); }; break;
 case 9 : { PORTD=~(0b1111011); }; break;
 };

 switch (digit)
 {
 case 0 : { PORTC=((0b1110)<<2); }; break;
 case 1 : { PORTC=((0b1101)<<2); }; break;
 case 2 : { PORTC=((0b1011)<<2); }; break;
 case 3 : { PORTC=((0b0111)<<2); }; break;
 };

}
void sevsegmentjam( void )
{
 unsigned int tempdata;
 unsigned int digit1,digit2,digit3,digit4,digit5,digit6;

 tempdata=menit;
 digit3=tempdata%10;
 write7segment(0,digit3);
 delay_ms(5);

 tempdata/=10;
 digit4=tempdata%10;
 write7segment(1,digit4);
 delay_ms(5);

 tempdata=jam;
 digit5=tempdata%10;
 write7segment(2,digit5);
 delay_ms(5);

tempdata/=10;
 digit6=tempdata%10;
 write7segment(3,digit6);
 delay_ms(5);
}

&nbsp;

void sevsegmentjamset( char dig )
{
 unsigned int tempdata;
 unsigned int digit1,digit2,digit3,digit4,digit5,digit6;

 tempdata=menit;
 digit3=tempdata%10;
 tempdata/=10;
 digit4=tempdata%10;

 tempdata=jam;
 digit5=tempdata%10;
 tempdata/=10;
 digit6=tempdata%10;

 if (dig==0)
 {
 write7segment(0,digit3);
 delay_ms(5);
 write7segment(1,digit4);
 delay_ms(5);
 }
 if (dig==1)
 {
 write7segment(2,digit5);
 delay_ms(5);
 write7segment(3,digit6);
 delay_ms(5);
 }

}

void read_key(void)
{
 if (PINC.0==0)
 {
 while (PINC.0==0);
 status++;
 if (status==3)
 {
 init_dev();
 rtc_set_time(jam,menit,0);
 status=0;
 }
 }
 if (PINC.1==0)
 {
 while (PINC.1==0);
 if (status==1)
 {
 menit++;
 if (menit==60) menit=0;
 }
 if (status==2)
 {
 jam++;
 if (jam==24) jam=0;
 }
 }
}

void main (void)
{
 unsigned long int j;
 init_dev();
 //rtc_set_time(13,30,00);
 while(1)
 {
 while(status==0)
 {
 rtc_get_time(&jam,&menit,&detik);
 if (status==0)
 {
 for (j=0;j<1000;j++)
 {
 if (status==0) read_key();
 if (status==0) sevsegmentjam();
 }
 }
 };
 while(status!=0)
 {
 if (status==1)
 {
 read_key();
 sevsegmentjamset(0);
 }
 if (status==2)
 {
 read_key();
 sevsegmentjamset(1);
 }

 }
 }
}

ini file projectnya
http://www.ziddu.com/download/19513172/clock.zip.htm


ini foto asli alatnya,,,,mungkin temen2 bisa berkreasi sendiri rangkaian yang diinginkan

 

itu button yg nyambung ke PINC.0 berfungsi untuk pindah2 mode set menit dan jam, dan yang terhubung ke PINC.1 berfungsi merubah angka menit dan jam, dan setelah merubah angka menit dan jam tekan button yg terhubung ke PINC.0 lagi maka jam akan tersimpan dan kembali ke mode normal :)