MENYALAKAN LAMPU DENGAN SISTIM WAKTU




Peralatan listrik seperti lampu rumah, dapat kita kontrol atau kendalikan kapan nyala dan kapan padam. Seperti lampu taman, lampu depan rumah atau lampu belakang rumah.kipas angin,komputer,tv semua bisa kita kendalikan melalui alat mikrokontroler dengan sistim waktu, Terkadang kita lupa mematikan. Atau kadang ketika ditinggal pergi sampai malam, lampu belum nyala.
Nah solusinya bisa kita coba nih. Pakai timer. Jadi kita setting ‘timer’ nya jam berapa lampu nyala dan jam berapa lampu padam.
Tambahan Relay untuk memutus dan menyambung jalur /kabel listrik ke lampu (gantinya saklar).

                                                     PCB NYA TERPISAH
                                               Rp 800.000 
                                                               Rp 970.000


Kode di bawah ini hanya satu lampu ,1 relay yang saya gratisin, kalau ingin 4 relay 4 lampu bisa langsung pesan di saya, jadi waktunya bisa kita setting sendiri kapan lampu menyala ON dan kapan lampu mati OFF

Program dibuat dengan BASCOM-AVR. Kalau mau lihat nih programe :

$regfile = “m8535.dat”
$crystal = 16000000
$lib “mcsbyte.lbx”
$lib “ds1307clock.lib”
Config Sda = Portd.7
Config Scl = Portd.6
Const Ds1307w = &HD0
Const Ds1307r = &HD1
Config Clock = User
Ddrd.0 = 1
Portd.0 = 0
Dim Weekday As Byte
Dim J_on As Byte , J_off As Byte
Dim M_on As Byte , M_off As Byte

Config Lcdpin = Pin ,Db7 = Portc.7 , E = Portc.2 , Rs = Portc.0
Config Lcd = 16 * 2
Cursor Off
Cls
Lcd “Kontrol Lampu”
Lowerline
Lcd “Otomatis”
Wait 3
Cls
Lcd “Tgl=”
Lowerline
Lcd “Jam=”
‘——————————————–
‘—- seting jam:menit pada lampu————
J_on = 17
M_on = 00
J_off = 06
M_off = 00
Do
‘—- ambil data jam di RTC
Locate 1 , 6
Lcd Date$
Locate 2 , 6
Lcd Time$
Gosub Getdatetime
If J_on = _hour And M_on = _min Then
Portd.0 = 1
End If
If J_off = _hour And M_off = _min Then
Portd.0 = 1
End If
Waitms 1000
Loop
‘************************** RTC
Getdatetime:
I2cstart
I2cwbyte Ds1307w
I2cwbyte 0
I2cstart
I2cwbyte Ds1307r
I2crbyte _sec , Ack
I2crbyte _min , Ack
I2crbyte _hour , Ack
I2crbyte Weekday , Ack
I2crbyte _day , Ack
I2crbyte _month , Ack
I2crbyte _year , Nack
I2cstop
_sec = Makedec(_sec) : _min = Makedec(_min) : _hour = Makedec(_hour)
_day = Makedec(_day) : _month = Makedec(_month) : _year = Makedec(_year)
Return

Setdate:
_day = Makebcd(_day) : _month = Makebcd(_month) : _year = Makebcd(_year)  I2cstart
I2cwbyte Ds1307w
I2cwbyte 4 7
I2cwbyte _day
I2cwbyte _month
I2cwbyte _year
I2cstop
Return

Settime:
_sec = Makebcd(_sec) : _min = Makebcd(_min) : _hour = Makebcd(_hour)
I2cstart
I2cwbyte Ds1307w
I2cwbyte 0
I2cwbyte _sec
I2cwbyte _min
I2cwbyte _hour
I2cstop
Return




Pada program tersebut lampu hanya 1. Dikontrol oleh relay yang dihubungkan dengan driver relay ke PORTD.0. Jam nyala lampu diset pada jam 17.00 dan jam mati lampu pada jam 06.00. Hasilnya
Sistem ini masih dapat kita kembangkan. Jumlah lampu yang dikontrol dapat ditambah menjadi 4 misalnya. Seting waktu juga dapat dibuat dengan keypad. Nah kalau ada yang tertarik atau berminat, bisa memakai alat ini.Atau pesan di saya langsung sudah jadi 4 lampu dengan sebuah keypad sebagai input angka dan settinganya







Tidak ada komentar:

Posting Komentar

nav { display: block; margin-top: 100px; background: #374147; } .menu { display: block; } .menu li { display: inline-block; position: relative; z-index: 100; } .menu li:first-child { margin-left: 0; } .menu li a { font-weight: 600; text-decoration: none; padding: 20px 15px; display: block; color: #fff; transition: all 0.2s ease-in-out 0s; } .menu li a:hover,.menu li:hover>a { color: #fff; background: #9ca3da; } .menu ul { visibility: hidden; opacity: 0; margin: 0; padding: 0; width: 150px; position: absolute; left: 0px; background: #fff; z-index: 99; transform: translate(0,20px); transition: all 0.2s ease-out; } .menu ul:after { bottom: 100%; left: 20%; border: solid transparent; content: " "; height: 0; width: 0; position: absolute; pointer-events: none; border-color: rgba(255, 255, 255, 0); border-bottom-color: #fff; border-width: 6px; margin-left: -6px; } .menu ul li { display: block; float: none; background: none; margin: 0; padding: 0; } .menu ul li a { font-size: 12px; font-weight: normal; display: block; color: #797979; background: #fff; } .menu ul li a:hover,.menu ul li:hover>a { background: #9ca3da; color: #fff; } .menu li:hover>ul { visibility: visible; opacity: 1; transform: translate(0,0); } .menu ul ul { left: 149px; top: 0px; visibility: hidden; opacity: 0; transform: translate(20px,20px); transition: all 0.2s ease-out; } .menu ul ul:after { left: -6px; top: 10%; border: solid transparent; content: " "; height: 0; width: 0; position: absolute; pointer-events: none; border-color: rgba(255, 255, 255, 0); border-right-color: #fff; border-width: 6px; margin-top: -6px; } .menu li>ul ul:hover { visibility: visible; opacity: 1; transform: translate(0,0); } .responsive-menu { display: none; width: 100%; padding: 20px 15px; background: #374147; color: #fff; text-transform: uppercase; font-weight: 600; } .responsive-menu:hover { background: #374147; color: #fff; text-decoration: none; } a.homer { background: #9ca3da; } @media (min-width: 768px) and (max-width: 979px) { .mainWrap { width: 768px; } .menu ul { top: 37px; } .menu li a { font-size: 12px; } a.homer { background: #374147; } } @media (max-width: 767px) { .mainWrap { width: auto; padding: 50px 20px; } .menu { display: none; } .responsive-menu { display: block; margin-top: 100px; } nav { margin: 0; background: none; } .menu li { display: block; margin: 0; } .menu li a { background: #fff; color: #797979; } .menu li a:hover,.menu li:hover>a { background: #9ca3da; color: #fff; } .menu ul { visibility: hidden; opacity: 0; top: 0; left: 0; width: 100%; transform: initial; } .menu li:hover>ul { visibility: visible; opacity: 1; position: relative; transform: initial; } .menu ul ul { left: 0; transform: initial; } .menu li>ul ul:hover { transform: initial; } } @media (max-width: 480px) { } @media (max-width: 320px) { }