HIDROPONIK KONTROLER Rachmat

8
Hidroponik 1 HIDROPONIK KONTROLER Ringkasan: Alat ini adalah pengontrol on/off pompa air yg dibedakan lama hidup dan matinya antara siang dan malam hari. Tetapi bila sensor air (elektrode) mendeteksi tidak ada air dalam bak, maka secara otomatis kontrol pompa air tidak bekerja (off). DHT 11, LM 35 berfungsi untuk monitoring saja” Cara kerja sbb: Mikro ini menggunakan Desy mega Sistem ini mengontrol hidup matinya pompa air (melalui Relay 1), berdasarkan waktu yang dibagi menjadi 2 yaitu siang dan malam hari. Rinciannya seperti ini mas, Siang, dimulai dari Jam 6 pagi hingga jam 6 sore (jam 18:00 waktu mikrokontroler). Siang hari pompa hidup (ON) selama 5 menit dan 15 menit mati (OFF), secara bergantian hingga pukul 18:00. Malam, dimulai dari jam 18:01 (jam 6 sore) sampai jam 5:59. pada waktu malam pompa hidup (ON) selama 5 menit dan 25 menit mati (OFF), secara bergantian hingga pukul 5.59 pagi. Elektrode, digunakan untuk mendeteksi ada atau tidaknya air dalam bak, bila air dalam bak kosong (B=K) Relay 2 akan aktif. Pada layar LCD ditampilkan sebagai B= A (bila ADA airnya), dan B=K (bila tidak ada airnya alias KOSONG). Pompa (Relay 1) tidak akan bekerja (OFF) bila bak air kosong. Sensor LM 35, digunakan untuk memonitor suhu air. Pada layar LCD ditampilkan sebagai T=x xC Sensor DHT 11, digunakan untuk memonitor kelembaban udara di sekitar tanaman hidroponik. Pada layar LCD ditampilkan sebagai RH:xx% Penunjuk waktu ditampilkan pada layar LCD sebagai : hh:mm (Jam dan Menit), menggunakan sistem 24 jam. Saat Relay 1 aktif (ON) maka pada LCD akan tampil tulisan sbb: Pump = ON (hidup), sebaliknya bila tidak aktif (OFF) akan ada tulisan Pump = OFF (mati)

description

kontroller hidropinik

Transcript of HIDROPONIK KONTROLER Rachmat

  • Hidroponik 1

    HIDROPONIK KONTROLER

    Ringkasan:

    Alat ini adalah pengontrol on/off pompa air yg dibedakan lama hidup dan matinya antara

    siang dan malam hari. Tetapi bila sensor air (elektrode) mendeteksi tidak ada air dalam

    bak, maka secara otomatis kontrol pompa air tidak bekerja (off). DHT 11, LM 35 berfungsi

    untuk monitoring saja

    Cara kerja sbb:

    Mikro ini menggunakan Desy mega

    Sistem ini mengontrol hidup matinya pompa air (melalui Relay 1), berdasarkan waktu yang

    dibagi menjadi 2 yaitu siang dan malam hari. Rinciannya seperti ini mas,

    Siang, dimulai dari Jam 6 pagi hingga jam 6 sore (jam 18:00 waktu mikrokontroler). Siang hari pompa hidup (ON) selama 5 menit dan 15 menit mati (OFF), secara bergantian hingga pukul 18:00. Malam, dimulai dari jam 18:01 (jam 6 sore) sampai jam 5:59. pada waktu malam pompa

    hidup (ON) selama 5 menit dan 25 menit mati (OFF), secara bergantian hingga pukul 5.59

    pagi.

    Elektrode, digunakan untuk mendeteksi ada atau tidaknya air dalam bak, bila air dalam bak

    kosong (B=K) Relay 2 akan aktif. Pada layar LCD ditampilkan sebagai B= A (bila ADA airnya),

    dan B=K (bila tidak ada airnya alias KOSONG). Pompa (Relay 1) tidak akan bekerja (OFF) bila

    bak air kosong.

    Sensor LM 35, digunakan untuk memonitor suhu air. Pada layar LCD ditampilkan sebagai T=x xC

    Sensor DHT 11, digunakan untuk memonitor kelembaban udara di sekitar tanaman

    hidroponik. Pada layar LCD ditampilkan sebagai RH:xx%

    Penunjuk waktu ditampilkan pada layar LCD sebagai : hh:mm (Jam dan Menit), menggunakan

    sistem 24 jam.

    Saat Relay 1 aktif (ON) maka pada LCD akan tampil tulisan sbb: Pump = ON (hidup),

    sebaliknya bila tidak aktif (OFF) akan ada tulisan Pump = OFF (mati)

  • Hidroponik 2

    Urutan tampilan:

    Tampilan awal (20 detik).

    Contoh Tampilan : (pompa aktif)

    Contoh Tampilan: (pompa tidak aktif)

    Contoh tampilan pompa tidak aktif karena air dalam bak kosong (walaupun menurut jadwal

    relay 1 seharusnya Aktif menghidupkan pompa):

    T=xxC RH=xx% B=A/K

    hh:mm Pump=ON/OFF

    RTC DHT 11 LM 35

    ELEKTRODE

    RELAY 1 RELAY 2

    HIDROPONIK

    KONTROLER

    T=29C RH=78% B=A

    07:02 Pump=ON

    T=30C RH=89% B=A

    19:16 Pump=OFF

  • Hidroponik 3

    Skematik

    R14.7K

    Y2

    16MHZ

    U1

    ATMega16

    9

    181920

    29

    30

    31

    40

    12345678 21

    22232425262728

    10

    11

    12

    13

    14151617

    39383736353433

    32

    RST

    (OC1B)PD4(OCB1A)PD5

    (ICP1)PD6

    (TOSC2)PC7

    AVCC

    GN

    D

    PA0(ADC0)

    PB0(XCK/T0)PB1(T1)PB2(INT2/AIN0)PB3(OC0/AIN1)PB4(SS)PB5(MOSI)PB6(MISO)PB7(SCK) (OC2)PD7

    (SCL)PC0(SDA)PC1

    PC2PC3PC4PC5

    (TOSC1)PC6

    VC

    CG

    ND

    XTAL2

    XTAL1

    (RXD)PD0(TXD)PD1

    (INT0)PD2(INT1)PD3

    PA1(ADC1)PA2(ADC2)PA3(ADC3)PA4(ADC4)PA5(ADC5)PA6(ADC6)PA7(ADC7)

    AREFF

    5 V

    PD.7

    LM35

    1 2

    3

    VS+ VOUT

    GN

    D

    C510nF

    D15

    1A

    JP6

    12

    PB.1

    VCC

    VCC

    U2

    DS13074

    7

    5 12

    6

    3

    8G

    NDSQW/OUT

    SDA X1X2

    SCLK

    VBAT

    VC

    C

    R1547

    D15

    1A

    VCC

    VCC

    VCC

    C51uF

    VR1

    50K

    13

    2

    PB.2

    PA.0 (ADC0)

    Y2

    32,768 KHz

    HIDROPONIK

    A4

    1 1Tuesday , February 10, 2015

    Title

    Size Document Number Rev

    Date: Sheet of

    C322pF

    DHT11

    RESET

    R3

    3K

    R2

    3K

    R2

    1K

    Q12N2222A

    3

    2

    1

    R2

    1KPB.0

    PD.6

    VCC

    5V

    JP4

    12

    VCC

    3V

    BATTERY

    VCC

    K4

    RELAY 1

    35

    412

    LCD 2x16

    1 (

    GN

    D)

    2 (

    VC

    C)

    3 (

    VE

    E)

    4 (

    RS

    )5

    (R

    W)

    6 (

    E)

    7 (

    D0

    )8

    (D

    1)

    9 (

    D2

    )1

    0 (

    D3

    )1

    1 (

    D4

    )1

    2 (

    D5

    )1

    3 (

    D6

    )1

    4 (

    D7

    )1

    5 (

    A)

    16

    (K

    )

    C422pF

    Q12N2222A

    3

    2

    1

    K4

    RELAY 2

    35

    412

    T=28C RH=75% B:K

    20:02 Pump=OFF

  • Hidroponik 4

    '----------------------------------------------------- ' HIDROPONIK ' SENSOR KELEMBABAN, TEMPERATURE + RTC ' Chip : ATmega16 ' Clock : 16 MHz ' 9-2-2015 ' '----------------------------------------------------- $regfile = "m16def.dat" $crystal = 16000000 Dim Suhu As Byte , Humi As Byte , Cnt As Byte , Hasil As Byte Dim A As Integer , Geser As Byte , B As Byte Dim Suhu_lm35 As Single , Volt As Word , Data_adc As Word Dim Cntl As Byte , Cnth As Byte Dim Suhu1 As Word , Suhu2 As Word , K As Byte Dim Bak As String * 1 , Pump As String * 4 Declare Sub Read_sensor_rh() Declare Sub Read_sensor_temp() Declare Sub Calc_th() '----- Config Sda = Portd.7 Config Scl = Portd.6 Const Ds1307w = &HD0 ' Const Ds1307r = &HD1 Config Clock = User Dim Weekday As Byte Config Adc = Single , Prescaler = Auto , Reference = Avcc Ddrd.0 = 0 Portd.0 = 1 Ddrd.1 = 1 Portd.1 = 0 Ddrb.1 = 1 Ddrb.2 = 1 '--------------- 'jam : menit : detik 'Time$ = "13:38:10" 'bulan-tanggal-tahun 'Date$ = "2-10-15" '------- konfigurasi LCD Config Lcdpin = Pin , Rs = Portc.0 , E = Portc.2 , Db4 = Portc.4 , Config Lcdpin = Pin , Db5 = Portc.5 , Db6 = Portc.6 , Db7 = Portc.7 Config Lcd = 16 * 2 Cursor Off Cls Lcd " HIDROPONIK " Lowerline Lcd " KONTROLER " Wait 20 Cls

  • Hidroponik 5

    Start Adc Do Gosub Getdatetime Read_sensor_temp Read_sensor_rh If Pind.0 = 0 Then Bak = "K" Portb.2 = 1 'RL2 ON Elseif Pind.0 = 1 Then Bak = "A" Portb.2 = 0 'RL2 OFF End If '----kontrol siang If _hour >= 6 And _hour < 18 Then If _min >= 0 And _min < 5 Then Portb.1 = 1 'RL1 ON Pump = "ON " Elseif _min >= 5 And _min < 20 Then Portb.1 = 0 'RL1 OFF Pump = "OFF" Elseif _min >= 20 And _min < 25 Then Portb.1 = 1 'RL1 ON Pump = "ON " Elseif _min >= 25 And _min < 40 Then Portb.1 = 0 'RL1 OFF Pump = "OFF" Elseif _min >= 40 And _min < 45 Then Portb.1 = 1 'RL1 ON Pump = "ON " Elseif _min >= 45 Then Portb.1 = 0 'RL1 OFF Pump = "OFF" End If '----kontrol malam Elseif _hour >= 18 Or _hour < 6 Then If _min >= 0 And _min < 5 Then Portb.1 = 1 'RL1 ON Pump = "ON " Elseif _min >= 5 And _min < 30 Then Portb.1 = 0 'RL1 OFF Pump = "OFF" Elseif _min >= 30 And _min < 35 Then Portb.1 = 1 'RL1 ON Pump = "ON " Elseif _min >= 35 Then Portb.1 = 0 'RL1 OFF Pump = "OFF" End If End If Locate 1 , 1 Lcd "T=" ; Suhu1 ; "C RH=" ; Humi ; "% B:" ; Bak Locate 2 , 1 Lcd _hour ; ":" ; _min ; " Pump=" ; Pump Wait 1 Loop

  • Hidroponik 6

    '==================Baca sensor LM35==== Sub Read_sensor_temp() Data_adc = Getadc(0) Volt = Data_adc * 5 Suhu1 = Volt / 10 End Sub '==================Baca sensor DHT11==== Sub Read_sensor_rh() Suhu = 0 Humi = 0 Cnt = 0 Ddrb.0 = 1 Waitms 250 Portb.0 = 0 Waitms 18 Portb.0 = 1 Waitus 40 Ddrb.0 = 0 Cntl = 0 Cnth = 0 '//tunggu response dari DHT11 Bitwait Pinb.0 , Reset While Cntl < 100 $asm Nop $end Asm Incr Cntl If Pinb.0 = 1 Then Exit While Wend Cnt = 0 While Cnth < 100 $asm Nop $end Asm Incr Cnth If Pinb.0 = 0 Then Exit While Wend 'humi=calc_TH(); Gosub Calc_th Humi = Hasil 'kosong=calc_TH(); Gosub Calc_th 'suhu=calc_TH(); Gosub Calc_th Suhu = Hasil 'Kosong = Calc_th(); Gosub Calc_th End Sub Sub Calc_th()

  • Hidroponik 7

    Cnt = 0 Hasil = 0 For A = 8 To 1 Step -1 While Cnt < 100 Waitus 1 Incr Cnt If Pinb.0 = 1 Then Exit While Wend Cnt = 0 While Cnt < 100 Waitus 1 Incr Cnt If Pinb.0 = 0 Then Exit While Wend If Cnt > 20 Then '//HIGH B = A - 1 Geser = 1 Shift Geser , Left , B Hasil = Hasil + Geser End If Cnt = 0 Next End Sub '************************** 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

  • Hidroponik 8

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