Membuat Sequential Relay Untuk Mesin Pengisian Air Kemasan Dengan Modul SER-2REL

Sequential Relay atau Sequential Timer adalah sistem yang terdiri dari 2 atau lebih relay yang dikontrol untuk dapat bekerja secara berurutan dengan periode waktu yang telah ditentukan. Salah satu contoh aplikasi Sequential Relay adalah untuk otomasi pengisian air kemasan. Pada eksperimen ini, saya akan membuat Sequential Relay untuk mesin pengisian air kemasan dengan menggunakan modul SER-2REL.

Otomasi Pengisian Air Kemasan

Sistem otomasi pengisian air kemasan sederhana hanya membutuhkan pengontrolan motor penggerak konveyor dan pengontrolan solenoid valve. Proses pengisian dilakukan dengan cara sebagai berikut:

  • Motor Konveyor ON, berfungsi menggerakkan gelas kosong ke posisi tepat dibawah valve pengisian. Penempatan posisi gelas menggunakan pewaktuan (tanpa sensor), oleh karenanya penempatan posisi awal gelas harus seragam. Kita anggap, untuk menggerakkan gelas kosong dari posisi awal ke bawah valve pengisian, Motor Konveyor harus ON selama 5 detik.
  • Solenoid Valve ON, berfungsi untuk membuka katup valve pengisian. Kita anggap waktu yang dibutuhkan untuk mengisi gelas adalah 3 detik.

Dari gambaran proses di atas, maka kita dapat membuat urutan kerja kontrol sebagai berikut:

  1. RELAY-1 ON (motor konveyor on)
  2. DELAY 5000 MILIDETIK
  3. RELAY-1 OFF (motor konveyor off)
  4. DELAY 500 MILIDETIK
  5. RELAY-2 ON (solenoid-valve on)
  6. DELAY 3000 MILIDETIK
  7. RELAY-2 OFF (solenoid-valve off)
  8. DELAY 1000 MILIDETIK
  9. END / LOOP

SER-2REL

SER-2REL adalah modul interface serial dengan 2-channel relay. Dengan modul ini, kita dapat mengontrol 2 buah relay menggunakan program komputer melalui port serial RS232 dengan baudrate 2400.

ser2rel_320

SER-2REL memiliki Command-Line Interface yang dapat digunakan untuk mengontrol relay dari layar console (command-prompt). Program CLI ini bernama SER2RC.EXE. Berikut ini adalah tampilan parameter yang disediakan oleh program SER2RC.EXE.

ser2rc

Dengan menggunakan program Command-Line Interface SER2RC.EXE, kita dapat dengan mudah membuat urutan kerja kontrol di atas dengan memberikan parameter-parameter sebagai berikut:

>SER2RC.EXE COM1 A D 5000 Y D 500 B D 3000 Z D 1000

Berikut ini adalah tampilan hasil eksekusi perintah di atas.

ser2rcisian

Looping Menggunakan Batch File

Proses pengisian dapat dilakukan secara berulang dengan cara membuat sebuah file batch sederhana sebagai berikut:

@echo off
:ULANGI
SER2RC.EXE COM1 A D 5000 Y D 500 B D 3000 Z D 1000
GOTO ULANGI

Nah, sangat mudah bukan?

Link produk SER-2REL:

http://teknikelektrolinks.com/ser-2rel/ser-2rel.htm

Selamat belajar dan selamat berkarya.

Tagged with: , , ,
Ditulis dalam Home Industry, Produk, SER-2REL, Timer

Watchdog Timer Testing – FlashForth ATmega328P

Watchdog Timer (WDT) merupakan fitur mikrokontroler AVR yang ampuh untuk mengatasi kondisi HANG pada mikrokontroler. Kondisi HANG pada mikrokontroler dapat disebabkan oleh beberapa faktor antara lain: gangguan secara elektronik (noise) dan bug pada firmware. Dan seperti yang dinyatakan dalam catatan aplikasi ATMEL, The Watchdog Timer

“No piece of software, save the very smallest, is free from bugs.”

Dengan WDT, kita dapat memastikan bahwa CPU akan direset secara otomatis ketika CPU mengalami kondisi HANG.

Bagaimana Caranya?

Caranya adalah dengan mengaktifkan WDT sebelum program memasuki loop utama. Dan program pada loop utama memiliki kewajiban untuk mereset counter WDT, karena jika tidak direset maka counter WDT akan mencapai batas waktunya (TIMEOUT) dan mereset CPU.

Jadi, dengan cara seperti ini, jika sewaktu-waktu terjadi kondisi HANG pada loop utama, maka counter WDT akan mencapai batasnya dan WDT akan secara otomatis mereset CPU.

Berikut adalah contoh pemrograman sederhana versi AVR-GCC

   #include <avr/wdt.h>

   int main(void)
   {
      wdt_enable(WDTO_2S); //aktifkan WDT 2 detik

      // loop utama
      while(1) 
      {
         _delay_ms(100);
         wdt_reset();  //pastikan counter WDT direset
      }
   }

FlashForth

Pada eksperimen ini, saya melakukan pengujian fungsi WDT menggunakan program Forth. Saya menggunakan sistem operasi FlashForth yang saya sematkan dalam AVR ATmega328P.

FlashForth menyediakan kata wd+ untuk mengaktifkan WDT dan kata cwd untuk mereset counter WDT.

Langsung saja, berikut ini adalah kode program pengujian fungsi WDT dalam bahasa FlashForth.

\ Testing Watchdog Timer
\ FlashForth ATmega328P
\ Chandra MDE - Teknik Elektro Links

variable QUIT
false QUIT c!

: get-ready
   cr
   ." Testing AVR Watchdog Timer Functionality" cr cr
   ." WDT is set to 2 seconds." cr
   ." You have to press ENTER within less than 2 seconds," cr
   ." otherwise WDT will reset the controller." cr
   ." Press Q + ENTER to quit test." cr cr
   ." Press ENTER when you are ready..." 
   key drop cr
;

: wdt-test
   get-ready
   ." WDT Test is starting." cr
   7 wd+ \ wdt enable

   begin
     key?
     if
       key 81 = \ Q = Quit test
       if 
         true QUIT c!
       else 
         ." Key is pressed --> WDT reset" cr
         cwd
       then
     then
     QUIT c@
   until
   ." WDT Test end." cr cr
;


Menjalankan Program wdt-test.fs

ffwdt

Program pengujian yang saya buat ini terdiri dari 2 fungsi yakni: get-ready dan wdt-test.

Fungsi get-ready berfungsi menampilkan judul dan instruksi/prosedur testing. Intruksi/prosedur pengujian yang ditampilkan adalah sebagai berikut:

   Testing AVR Watchdog Timer Functionality

   WDT is set to 2 seconds.
   You have to press ENTER within less than 2 seconds,
   otherwise WDT will reset the controller.
   Press Q + ENTER to quit test.

   Press ENTER when you are ready...

Fungsi wdt-test akan mengaktifkan WDT dengan timeout 2 detik

   7 wd+

Dalam perulangan begin .. until, WDT akan direset jika tombol ENTER ditekan. Peresetan WDT dilakukan dengan perintah

   cwd

Jika ENTER tidak ditekan dalam 2 detik, maka WDT akan secara otomatis mereset CPU.

Dari hasil pengujian (screenshot), WDT sukses direset ketika kita menekan ENTER sebelum masa timeout WDT berakhir (2 detik). Mikrokontroler pun sukses direset oleh WDT ketika kita tidak menekan ENTER hingga melebihi batas waktu WDT (2 detik). Dan jika kita menekan tombol Q+ENTER, maka program akan berakhir.

Dengan demikian, dapat disimpulkan bahwa fungsi-fungsi WDT pada FlashForth bekerja dengan baik.

Selamat belajar dan selamat berkarya.

Tagged with: , , ,
Ditulis dalam AVR, Forth

Contoh Pemrograman WebSocket Client Menggunakan Pelles C dan noPoll (OpenSource WebSocket Toolkit)

WebSocket adalah protokol komunikasi yang menyediakan saluran komunikasi full-duplex melalui koneksi TCP. WebSocket dirancang untuk diimplementasikan pada aplikasi web-server dan web-browser, tapi dapat juga digunakan pada aplikasi client/server pada umumnya.

WebSocket memfasilitasi pertukaran data (real-time) antara web-browser dan web-server. Dengan WebSocket, server dapat mengirimkan data ke client (browser) tanpa secara independen tanpa adanya permintaan dari browser.

Tulisan ini secara singkat akan membahas tentang contoh (eksperimen) pemrograman WebSocket pada sisi client menggunakan bahasa C dengan menggunakan library opensource noPoll. Kompiler C yang saya gunakan dalam eksperimen ini adalah Pelles C.

Eksperimen ini sangat sederhana. Program akan melakukan koneksi ke webserver wss://echo.websocket.org dan jika berhasil, maka program akan mengirimkan sebuah data string dan kemudian membaca echo yang dikirimkan oleh webserver.

Nah, kita mulai pembahasan singkat ini dengan noPoll.

noPoll – OpenSource WebSocket Toolkit

noPoll adalah implementasi WebSocket yang ditulis dalam bahasa C (ANSI) untuk membangun aplikasi (solusi) WebSocket atau mendukung aplikasi berbasis TCP yang sudah berjalan. noPoll mendukung koneksi WebSocket (ws://) dan TLS WebSocket (wss://) dengan model pemrograman message based (handler notified) atau stream oriented access.

Selengkapnya mengenai noPoll dapat Anda baca di halaman situsnya dengan alamat:

http://www.aspl.es/nopoll/

Lisensi noPoll mengijinkan kita untuk menggunakannya secara bebas, bahkan untuk aplikasi komersial.

Instalasi noPoll

Pertama-tama, download installer noPoll sesuai dengan sistem operasi Windows yang digunakan (32/64-bit). Pilih salah satu dari link-link berikut ini.

noPoll-win32

noPoll-win64

Setelah download selesai, instalasi dapat dilakukan dengan mengeksekusi file installer.

nopoll1

Setelah instalasi selesai, copy file libnopoll.lib yang berada pada noPollW32/lib ke folder library Pelles C.

libnopoll

Project nopoll_test

nopoll_test adalah proyek Win32-Console-Program dengan sebuah file kode program main.c. Karena proyek menggunakan header dan library asing (nopoll.h dan libnopoll.lib), maka perlu dilakukan sedikit konfigurasi pada Project Options seperti ditunjukkan oleh gambar berikut ini.

nopoll_h nopoll_test

Listing Program

#include <stdio.h>
#include <string.h>
#include <nopoll.h>

noPollCtx *ctx;
noPollConn *conn;

int main(int argc, char *argv[])
{
 char buff[100];
 char *s;
 int n;

 printf ("\nTesting Library WebSocket noPoll\n");
 printf ("Chandra MDE - Teknik Elektro Links\n");
 printf ("----------------------------------\n\n");

 printf ("Connecting to wss://echo.websocket.org:80 ... ");
 ctx = nopoll_ctx_new();
 conn = nopoll_conn_new(ctx, "echo.websocket.org", "80", NULL, "/", NULL, NULL);
 nopoll_conn_wait_until_connection_ready(conn, 5);

 if (nopoll_conn_is_ok(conn))
 {
   printf ("Connected.\n");

   if (argc<2)
   {
     s = (char *)calloc(39, sizeof(char));
     strcpy(s, "*** TELINKS-USBINOV-TELINKS-USBINOV ***");
   }
   else
   {
     s = (char *)calloc(strlen(argv[1]), sizeof(char));
     strcpy (s, argv[1]);
   }

   printf ("Send string:\n \"%s\", %d chars\n", s, strlen(s));
   nopoll_conn_send_text (conn, s, strlen(s));

   printf ("\nWait a second...\n\n");
   _sleep(1);

   printf ("Read string from wss://echo.websocket.org ...\n");
   n = -1;
   while (n==-1)
     n = nopoll_conn_read(conn, buff, 100, nopoll_true, 100);
   printf ("Receive string:\n \"%s\", %d chars\n\n", buff, strlen(buff));

   nopoll_conn_close(conn);
   free(s);
 }
 else
   printf ("Connection fail.\n");

 return EXIT_SUCCESS;
}

Program mengharapkan adanya sebuah parameter teks yang akan dikirim ke web-server. Jika parameter kosong (tidak diberikan), maka program akan mengirimkan teks default yakni “*** TELINKS-USBINOV-TELINKS-USBINOV ***“.

Contoh penggunaan program dengan paramter adalah sebagai berikut:

e:\cli\>nopoll_test "Testing echo."

Screenshot

nopoll_shot

Untuk menjalankan program, diperlukan beberapa library dinamik antara lain:

  • libnopoll.dll
  • libeay32.dll
  • ssleay32.dll
  • libgcc_s_dw2-1.dll

Tiga library dinamik terdapat pada direktori /bin dari folder instalasi noPoll. Untuk library libgcc_s_dw2-1.dll dapat Anda download dari internet.

Btw, saya juga mencoba program yang sama pada platform Linux, hasilnya adalah sebagai berikut:

nopoll_test_linux

Untuk kompilasi program pada platform linux, ubah fungsi _sleep(1); menjadi sleep(1) dan lakukan langkah kompilasi dengan perintah sebagai berikut:

$ gcc -I/usr/local/include/nopoll -lnopoll -o nopoll_test main.c

Penutup

Sebagai pemula yang sedang belajar pemrograman WebSocket, saya senang dengan hasil eksperimen ini. Setidaknya sekarang kita memiliki toolkit pemrograman yang dapat kita gunakan untuk membangun aplikasi WebSocket menggunakan bahasa C. Dan yang tak kalah penting adalah: multi-platform.

Nah, sekian dulu. Terima kasih sudah membaca, semoga bermanfaat.

Selamat berkarya.

Tagged with: , ,
Ditulis dalam C/C++

digital.h – Makro Praktis Ala Arduino Buatan Ihsan Kehribar

Postingan ini adalah reblog dari blog saya Linux Forte – Linux For Teknik Elektro. Selamat membaca dan semoga bermanfaat.

Pada tulisan sebelumnya: Mencicipi LittleWire – Firmware Multifungsi Untuk ATtiny85, saya mencoba beberapa program yakni blink dan adc. Program blink yang mewakili fungsi GPIO menggunakan library digital.h yang berisi beberapa definisi macro praktis yang sangat menarik untuk dipelajari dan tentunya bisa digunakan pada program kita sendiri.

digital.h menurut pembuatnya adalah termasuk COFFEEWARE – kita bebas menggunakannya asal kredit terhadap pembuatnya tetap kita sebutkan dan bilamana nanti bertemu dengan Ihsan, sudilah kiranya kita mentraktirnya minum kopi. 🙂

Nah, berikut adalah listing program digital.h:

/*
* ----------------------------------------------------------------------------
* “THE COFFEEWARE LICENSE” (Revision 1):
* <ihsan@kehribar.me> wrote this file. As long as you retain this notice you
* can do whatever you want with this stuff. If we meet some day, and you think
* this stuff is worth it, you can buy me a coffee in return.
* -----------------------------------------------------------------------------
*/

#ifndef DIGITAL
#define DIGITAL

#include <avr/io.h>

/*-----------------------------------------------------------------------------
/ Useful symbolic definitions.
/----------------------------------------------------------------------------*/
#define HIGH 1
#define LOW 0
#define OUTPUT 1
#define INPUT 0
#define ENABLE 1
#define DISABLE 0

/*-----------------------------------------------------------------------------
/ Definition: Writes high/low to a digital output pin.
/ Example: 
/
/	digitalWrite(A,6,LOW);
/	digitalWrite(A,7,HIGH);
/----------------------------------------------------------------------------*/
#define digitalWrite(port,pin,state) state ? (PORT ## port |= (1<<pin)) : (PORT ## port &= ~(1<<pin))  

/*-----------------------------------------------------------------------------
/ Definition: Sets the mode of a digital pin as input/output.
/ Example:
/
/ 	pinMode(A,6,OUTPUT);
/	pinMode(A,6,INPUT);
/----------------------------------------------------------------------------*/
#define pinMode(port,pin,state) state ? (DDR ## port |= (1<<pin)) : (DDR ## port &= ~(1<<pin))

/*-----------------------------------------------------------------------------
/ Definition: Reads the value of a digital input pin.
/ Returns: Zero for low, nonzero for high.
/ Example: If PORTA6 high, set pin PORTA7 high; else low.
/
/	if(digitalRead(A,6))
/ 		digitalWrite(A,7,HIGH);
/	else
/		digitalWrite(A,7,LOW);
/----------------------------------------------------------------------------*/
#define digitalRead(port,pin) (PIN ## port & (1<<pin))

/*-----------------------------------------------------------------------------
/ Definition: Toggles the state of a digital output pin.
/ Example:
/
/	togglePin(A,6);
/----------------------------------------------------------------------------*/
#define togglePin(port,pin) (PIN ## port |= (1<<pin))

/*-----------------------------------------------------------------------------
/ Definition: Enables/disables the internal pullup resistor for a digital
/	input pin.
/ Example:
/
/	internalPullup(A,6,ENABLE);
/	internalPullup(A,6,DISABLE);
/----------------------------------------------------------------------------*/
#define internalPullup(port,pin,state) state ? (PORT ## port |= (1<<pin)) : (PORT ## port &= ~(1<<pin))

#endif

Definisi Macro digital.h

digital.h memiliki 5 buah macro, yakni:

  • digitalWrite(port, pin, state)
    #define digitalWrite(port,pin,state) state ? (PORT ## port |= (1<<pin)) : (PORT ## port &= ~(1<<pin))
  • pinMode(port, pin, state)
    #define pinMode(port,pin,state) state ? (DDR ## port |= (1<<pin)) : (DDR ## port &= ~(1<<pin))
  • digitalRead(port, pin)
    #define digitalRead(port,pin) (PIN ## port & (1<<pin))
  • togglePin(port, pin)
    #define togglePin(port,pin) (PIN ## port |= (1<<pin))
  • internalPullup(port, pin, state)
    #define internalPullup(port,pin,state) state ? (PORT ## port |= (1<<pin)) : (PORT ## port &= ~(1<<pin))

Karena saya tidak memiliki pemahaman yang baik dengan makro bahasa C, maka dari macro-macro inilah saya mendapat pengetahuan bahwasanya kita bisa menggabungkan “string” sebagai berikut:

PORT ## port

Pada definisi di atas, jika port bernilai B, maka PORT ## port akan dikenali sebagai PORTB. Jadi berasa katrok banget, perlu belajar lebih banyak. 😀

Contoh Penggunaan

Untuk menguji digital.h, saya buatkan program sederhana dengan rangkaian sistem seperti gambar berikut ini.

ledbutton

Program akan menyalakan LED Merah secara berkedip-kedip dengan durasi nyala/mati 500ms. LED Merah adalah LED yang terdapat pada board Digispark ATtiny85 yang terhubung ke P1. Durasi nyala/mati LED Merah akan berubah menjadi 100ms jika TOMBOL ditekan. Kondisi TOMBOL akan terus-menerus dibaca oleh mikrokontroler.

ledbutton

Selain perubahan durasi nyala/mati, penekanan TOMBOL akan menyalakan LED Hijau yang terhubung ke P4 – LED ini akan terus menyala selama TOMBOL ditekan.

Berikut adalah kode programnya (digitaltest.c):

/*
 * digitaltest.c
 * Chandra MDE
 * chandra@teknikelektrolinks.com
 * http://linux.teknikelektrolinks.com
 */

#define F_CPU 16500000L
#include <util/delay.h>
#include "digital.h" //by ihsan kehribar

#define LED_MERAH   1
#define LED_HIJAU   4
#define TOMBOL      0

int main() 
{
    pinMode(B, TOMBOL, INPUT);
    internalPullup(B, TOMBOL, ENABLE);
    pinMode(B, LED_MERAH, OUTPUT);
    pinMode(B, LED_HIJAU, OUTPUT);

    while(1) 
    {
        togglePin(B, LED_MERAH);

        if (digitalRead(B, 0))
        {
            digitalWrite(B, LED_HIJAU, LOW);
            _delay_ms(500);
        }
        else
        {
            digitalWrite(B, LED_HIJAU, HIGH);
            _delay_ms(100);
        }
    }

    return 0;
}

Sangat praktis… dan mirip Arduino, bukan? 😀

Nah, sekian tulisan saya dan terima kasih Ihsan Kehribar untuk digital.h – nya.

Selamat belajar dan selamat berkarya.

Tagged with: , ,
Ditulis dalam ATtiny45/85

Display Nomor Antrian 3-Digit Dengan Koneksi Wi-Fi

Setelah sukses bereksperimen mengontrol relay dengan modul Wi-Fi menggunakan modul ESP-01 dan WeMos D1, kali ini saya mencoba membuat display untuk menampilkan 3-digit angka menggunakan modul LED Matrix P10 yang dapat diakses atau dikontrol melalui jaringan Wi-Fi. Sistem ini saya bangun menggunakan board Arduino UNO, modul Wi-Fi ESP-01 dan LED dot-matrix P10.

Penampil angka 3-digit ini dapat diaplikasikan untuk menampilkan nomor antrian pada sistem antrian atau aplikasi lain yang membutuhkan tampilan angka atau tulisan singkat seperti GO dan STOP. Dengan adanya fitur pengontrolan display melalui koneksi Wi-Fi, maka tidak dibutuhkan lagi kabel data yang menghubungkan setiap unit display dengan unit kontroler. Berikut adalah foto eksperimen sistem display nomor antrian dengan koneksi Wi-Fi.

Mengontrol Display Nomor Antrian Menggunakan Tablet Android (Wi-Fi)

Mengontrol Display Nomor Antrian Menggunakan Tablet Android (Wi-Fi)

Sistem display nomor antrian dengan koneksi Wi-Fi ini saya bangun menggunakan komponen-komponen sebagai berikut:

  • Arduino UNO
  • ESP-01
  • LED Matrix P10

Arduino UNO bertugas sebagai kontroler utama yang mengontrol tampilan LED P10 dan berkomunikasi dengan modul ESP-01.

Modul ESP-01 bertugas sebagai jembatan Wi-Fi-to-Serial yang dilengkapi dengan fungsi-fungsi untuk pengontrolan display nomor antrian secara remote. Fungsi-fungsi tersebut meliputi:

  • up – menaikkan nilai counter (+1)
  • 2up – menaikkan nilai counter (+2)
  • 3up – menaikkan nilai counter (+3)
  • 5up – menaikkan nilai counter (+5)
  • 10up – menaikkan nilai counter (+10)
  • dn – menurunkan nilai counter (-1)
  • 2dn – menurunkan nilai counter (-2)
  • 3dn – menurunkan nilai counter (-3)
  • 5dn – menurunkan nilai counter (-5)
  • 10dn – menurunkan nilai counter (-10)
  • rst – mereset nilai counter (counter = 0)
  • rc – membaca nilai counter
  • n br – mengeset brightness dengan n adalah (1-255)
  • n1 n2 n3 wc – mengeset nilai counter dengan n1=ratusan, n2=puluhan, n3=satuan
  • hide – mematikan display
  • show – mengaktifkan display
  • n blink – blink display sebanyak n kali

Fungsi-fungsi di atas masih dalam pengembangan lebih lanjut dan dapat disesuaikan dengan permintaan user.

Berikut adalah cuplikan program modul ESP-01.

wifip10fs

Pengontrolan Display Nomor Antrian

Berikut saya berikan 2 buah video demo pengontrolan display nomor antrian melalui koneksi Wi-Fi menggunakan komputer/laptop dan menggunakan tablet android.

Jika Anda membutuhkan sistem kontrol dan monitoring dengan koneksi Wi-Fi, silakan menghubungi kami melalui SMS/WA ke 081231784018.

Semoga bermanfaat dan selamat berkarya.

Tagged with: , ,
Ditulis dalam ESP-01, ESP8266, IoT (Internet of Things), P10 Dot Matrix Display
Kategori

Bergabunglah dengan 2.503 pengikut lainnya

Hot Links




Display Counter 3-Digit Dengan Koneksi Wi-Fi
Display Nomor Antrian WiFi Android
Mengontrol Relay Via USB/Serial dan Wi-Fi
USB Relay USB-2REL
USB Relay USB-4REL
Water Level Control WLC-02
Serial Relay SER-4REL
NEO STARDUINO SMS ALARM

Alarm SMS Berbasis NEO STARDUINO

1 PC – 6 Unit USB-2REL

Testing 6 USB-2REL Pada 1 Komputer

Standard Pengujian USB-2REL

Pengujian USB-2REL Sebelum Dikirim

LPT-4REL on Knoppix 7.0.5

Testing LPT-4REL on Knoppix Linux

T101 Inkubator Telur

T101 Inkubator Penetas Telur

KONTROL PERALATAN LISTRIK VIA PORT LPT KOMPUTER

Demo Kontrol Kontaktor via Port LPT

STARDUINO meets ANDROID

Demo Kontrol Bluetooth Relay Android

STARDUINO SMS RELAY

Kontrol Relay Via SMS Dengan Starduino

STARDUINO WEB RELAY

Demo Kontrol Relay Via Web/Internet

JustBASIC USB-2REL Control

Demo Kontrol USB-2REL + JustBASIC

STARDUINO + GPS + LCD

Demo Starduino GPS Dengan LCD

USB-2REL EXTREME TEST

Demo Kontrol On/Off Lampu USB-2REL

THERMOSTAT T101 IN ACTION

Demo Thermostat T101 Pada SV=37.5°C

WATER LEVEL CONTROL WLC-02

Demo Kontrol Level Air Tandon WLC-02

HUMIDITY CONTROLLER H103

Demo Kontrol Kelembaban H103 (DHT11)