Semua Tentang Belajar Teknologi Digital Dalam Kehidupan Sehari - Hari

  • IC Timer 555 yang Multifungsi

    IC timer 555 adalah sirkuit terpadu (chip) yang digunakan dalam berbagai pembangkit timer, pulsa dan aplikasi osilator. Komponen ini digunakan secara luas, berkat kemudahan dalam penggunaan, harga rendah dan stabilitas yang baik

  • Ayo Migrasi TV Digital

    Kami bantu anda untuk memahami lebih jelas mengenai migrasi tv digital, apa sebabnya dan bagaimana efek terhadap kehidupan. Jasa teknisi juga tersedia dan siap membantu instalasi - setting perangkat - pengaturan antena dan distribusi televisi digital ke kamar kos / hotel

  • Bermain DOT Matrix - LOVEHURT

    Project Sederhana dengan Dot Matrix dan Attiny2313. Bisa menjadi hadiah buat teman atau pacarmu yang ulang tahun dengan tulisan dan animasi yang dapat dibuat sendiri.

  • JAM DIGITAL 6 DIGIT TANPA MICRO FULL CMOS

    Jika anda pencinta IC TTL datau CMOS maka project jam digital ini akan menunjukkan bahwa tidak ada salahnya balik kembali ke dasar elektronika digital , sebab semuanya BISA dibuat dengan teknologi jadul

  • Node Red - Kontrol Industri 4.0

    Teknologi kontrol sudah melampaui ekspektasi semua orang dan dengan kemajuan dunia elektronika, kini semakin leluasa berkreasi melalui Node Red

Jumat, 08 Desember 2023

Dimmer Arus AC - Mendeteksi Zero Cross Menggunakan ESP8266

 


DISCLAIMER : Bermain dengan listrik PLN 220 volt adalah berbahaya, selalu gunakan sarung tangan kain untuk menghindari terjadinya sengatan listrik


Gambar diatas adalah perubahan sinyal yang ingin kita capai untuk mendeteksi yang dinamakan Zero crossing dari gelombang sinusoidal listrik AC.  Perhatikan gambar rangkaian berikut dan akan saya jelaskan prinsip kerjanya.



  1. Resistor 47K berjumlah 2 buah sebagai pembatas arus sehingga dapat bekerja pada tegangan AC yang dapat ditolelir oleh dioda bridge
  2. Dioda bridge berfungsi untuk menjadi rectifier merubah sinus menjadi full wave rectified AC dimana saat sinus berada di tegangan negatif akan dibalik menjadi positif
  3. Optocoupler yang dipilihkan bisa berjenis 4N25 / PC817 yang kemudian akan mendeteksi ketika sinyal sinus berada disekitar 0 volt yang menyebabkan led internalnya OFF
  4. Resistor pull up 10K akan menyebabkan kondisi logic ZCD = 0 saat LED ON dan ketika LED OFF (pada optocoupler) maka akan menyebabkan pulse pada output ZCD yang menuju microcontroller.


- Interupt pada ESP8266 


ESP 8266 memiliki kecepatan prosesor yang cukup tinggi bila dibandingkan seri arduino, sehingga  portnya kebanyakan dapat digunakan sebagai input interrupt. Jika menggunakan arduino uno berbasis mega328 maka pin interruptnya hanya ada di pin I/O nomer 2. 

Untuk belajar konsep interrupt dapat dibaca pada tulisan saya sebelumnya disini.

Ada yang spesial pada interrupt di ESP8266 dimana function untuk melakukan interrupt harus disediakan di RAM, sehingga jika menggunakan contoh pada arduino akan terjadi overflow dan ram akan error. Untuk itu dibutuhkan penambahan ini :


ICHACE_RAM_ATTR void perintah_zcd()
{

// masukkan perintah eksekusi interupt jika memakai sketch jadul  
    
}

IRAM_ATTR void perintah_zcd()
{

// masukkan perintah eksekusi interupt jika sketch 3.o keatas  
    
}


Jadi script contoh yang lengkap untuk pendeteksi Zero Crossing sebagai berikut:


#define zcd_pin 3 //sesuaikan dengan pin esp kamu


int x = 0;

void setup() {
  Serial.begin(9600);
  pinMode(zcd_pin, INPUT_PULLUP);
  attachInterrupt(zcd_pin, deteksi, FALLING); // attach Interrupt 
  
}

void loop() {

 
}

ICHACE_RAM_ATTR void deteksi()
{
   x++;
   Serial.print("ZCD terdeteksi ke: ");
   Serial.println(x);
 
}

Sambungkan rangkaian pendeteksi ZCD ke pin ESP8266 dan upload script diatas dan lihatlah pada serial monitor kamu.
Share:

Selasa, 05 Desember 2023

Dimmer Arus AC - Merancang dengan Diac dan Triac

 



Pernahkah Anda bertanya-tanya bagaimana kita bisa mengatur kecerahan lampu dengan halus? Jawabannya ada pada perangkat kecil yang sering kita abaikan: Triac dan Diac dalam dimmer.


Triac dan Diac: Kombinasi yang Memungkinkan


Triac adalah semikonduktor yang memungkinkan arus listrik mengalir dalam kedua arah. Ini membuatnya ideal untuk pengatur daya pada sistem AC. Di sisi lain, Diac merupakan semikonduktor yang berfungsi sebagai pencetus / trigger untuk memicu triac ON.


Bagaimana Mereka Bekerja?


Rangkaian dimmer menggunakan diac untuk memicu triac pada titik-titik tertentu dari gelombang sinusoidal pada arus bolak-balik (AC). Saat gelombang melewati titik nol atau zero crossing, diac memberi isyarat pada triac untuk "mengaktifkan" aliran listrik. Triac kemudian menyalurkann aliran listrik ke lampu, memungkinkan kita mengatur kecerahan dengan mengatur momen / delay di mana triac diizinkan untuk mengalirkan listrik.



Dimmer yang menggunakan triac-diac merupakan metode yang digunakan untuk mengatur kecerahan lampu dengan mengubah besar kecilnya energi yang masuk ke lampu. Di bawah ini adalah penjelasan langkah demi langkah cara kerja dimmer tersebut:


Pengenalan Komponen:


Triac: Ini adalah semikonduktor yang dapat mengontrol arus listrik pada kedua arah, baik positif maupun negatif dalam siklus arus bolak-balik (AC). Triac dapat diaktifkan untuk memberikan aliran arus listrik setelah menerima impuls dari komponen pencetus atau trigger.

Diac (Diode for Alternating Current): Diac adalah semikonduktor yang bekerja sebagai pencetus atau trigger untuk mengaktifkan triak pada titik tertentu dari gelombang AC. Ketika tegangan di sekitar diak telah mencapai ambang batas (threshold), diak akan memberi sinyal atau impuls pada triac untuk mengizinkannya untuk mengalirkan arus listrik.


Prinsip Kerja Dimmer Triak-Diac:


  1. Rangkaian dimmer menggunakan diac untuk mendeteksi titik zero crossing atau titik nol dari gelombang sinusoidal pada arus AC. Zero crossing merupakan saat ketika gelombang AC melewati nilai nol di tengah-tengah gelombangnya.
  2. Ketika gelombang AC melewati titik nol, diac mendeteksi momen ini dan memberikan sinyal pada triac untuk diaktifkan.
  3. Setelah triac diaktifkan oleh diak, triak memungkinkan aliran arus listrik ke lampu. Dengan mengatur momen di mana triac diizinkan untuk mengalirkan arus, kita secara efektif mengontrol seberapa lama lampu akan menyala dalam setiap siklus gelombang AC.

Pembuatan Rangkaian Dimmer:


Rangkaian dimmer ini terdiri dari komponen-komponen dasar seperti diac, triac, dan beberapa elemen pengatur yang memungkinkan pengguna untuk mengatur kecerahan lampu sesuai keinginan.

Desain rangkaian dimmer ini memerlukan pemilihan komponen yang tepat sesuai dengan tegangan dan daya yang akan diatur.


Kit dimmer triacs-diacs yang umum dijual di pasaran



Pengaturan Kecerahan:


Dengan menggunakan potensiometer atau komponen pengatur lainnya pada rangkaian, pengguna dapat mengubah momen di mana triak diizinkan untuk mengalirkan arus listrik ke lampu. Hal ini akan mengatur kecerahan lampu dengan merubah proporsi energi yang masuk ke lampu pada setiap siklus gelombang AC.

Dengan memahami prinsip kerja dimmer yang menggunakan triak-diac, kita bisa merancang dan membuat rangkaian yang memungkinkan kontrol yang halus terhadap kecerahan lampu pada sistem listrik AC.

Share:

Dimmer Arus AC - Pengenalan Konsep Zero Crossing


Arus listrik, inti dari hampir semua perangkat elektronik, hadir dalam dua bentuk utama: arus bolak-balik (AC) yang berayun maju-mundur seperti gelombang dan arus searah (DC) yang alirannya konsisten ke satu arah. Perbedaan mendasar di antara keduanya terletak pada konsep zero crossing.

Arus Bolak-Balik (AC): Bayangkan gelombang sinusoidal yang naik dan turun, melintasi titik nol secara teratur. Inilah zero crossing pada AC. Titik di mana arus melintasi nilai nol pada gelombang sinusoidal, membuatnya melaju dari positif ke negatif sebelum kembali lagi ke nol. Konsep yang sederhana, tapi penting, karena memengaruhi banyak aspek aplikasi listrik kita sehari-hari.

Arus Searah (DC): Sebaliknya, dalam arus searah, tidak ada konsep zero crossing. Arusnya mengalir dalam satu arah saja tanpa gelombang atau fluktuasi nilai nol. Meskipun sederhana, DC memiliki peran yang krusial dalam teknologi baterai, perangkat portabel, dan sistem elektronik yang memerlukan aliran arus stabil.


Bagaimana Perbedaan Ini Mempengaruhi Kita?


Pada dasarnya, perbedaan zero crossing antara AC dan DC memengaruhi cara kita memanfaatkannya dalam teknologi sehari-hari. Pengaturan daya, sistem pengendalian, bahkan kecerahan lampu dapat dikendalikan dengan memanfaatkan momen zero crossing pada arus bolak-balik.



Contohnya, dalam pengaturan daya lampu dengan dimmer, zero crossing pada AC menjadi krusial. Ketika kita memotong aliran listrik pada titik-titik tertentu dari gelombang sinusoidal, itu bisa mengatur kecerahan lampu dengan halus.

Kemudian, dalam dunia arus searah, konsistensi aliran arusnya memainkan peran penting dalam perangkat yang memerlukan stabilitas. Baterai, peralatan portabel, dan beberapa sistem elektronik mengandalkan arus searah untuk operasi yang andal.

Perbedaan sederhana antara zero crossing pada AC dan ketiadaannya dalam DC membawa implikasi besar dalam desain sistem, penggunaan, dan efisiensi energi. Memahami kedua konsep ini membantu kita mengaplikasikan teknologi dengan lebih cerdas dan efektif.




Zero crossing pada listrik AC adalah saat sinyal listrik melintasi titik nol pada grafik gelombang sinusoidal. Pada tegangan atau arus AC, gelombang sinusoidal naik dari nilai nol, mencapai puncak positifnya, turun kembali ke nol, lalu melanjutkan ke nilai negatif sebelum kembali lagi ke nol. Titik di mana gelombang ini melewati nilai nol disebut zero crossing.

Zero crossing memiliki kegunaan penting dalam berbagai aplikasi listrik, terutama dalam elektronika daya dan pengendalian daya. Beberapa manfaatnya termasuk:


  • Pengaturan Pemutusan: Dalam sistem pengendalian daya, zero crossing sering digunakan untuk memutus atau menghubungkan sirkuit pada titik-titik tertentu pada gelombang sinusoidal untuk mengontrol peralihan atau pengaturan daya.
  • Dimmer dan Kontrol Lampu: Untuk mengatur kecerahan lampu pada sistem dimmer, zero crossing digunakan untuk mengetahui kapan harus memotong atau mengatur daya yang masuk ke lampu.
  • Pengendalian Motor: Dalam pengendalian motor, zero crossing bisa digunakan untuk memulai atau menghentikan rotasi motor pada titik-titik tertentu dari gelombang listrik.
  • Pengurangan Interferensi: Dalam beberapa aplikasi, zero crossing digunakan untuk mengurangi interferensi elektromagnetik antara peralatan elektronik.


Share:

Kamis, 09 November 2023

Cara Chat GPT Membantu Kodingan Kamu - Edisi Subscribe Topic MQTT Web Socket

 



Chat GPT versi gratis 3.5 memang memiliki keterbatasan, "coba bandingkan dengan versi 4 yang berbayar", kata teman saya. Tidak langsung bisa dipakai dan akan memungkinkan sekali terjadi kesalahan konsep maupun koding dari jawaban yang  diberikan. Namun setidaknya sudah membuka pikiran lah kata teman saya yang ahli coding sejak kuliah. Lhaa ada teman lain yang kapok mecoba chatgpt karena malah membikin  tambah pusing karena jawabannya gak pernah sesuai. Ingat chatGPT itu memperoleh jawaban dari hasil training berulang-ulang dari konteks yang diberikan oleh coder nya maupun hasil interaksi dengan pengguna. Jadi tunggu beberapa tahun lagi maka sepertinya semakin menjadi benar apa yang dijawab oleh chatGPT.


Baca dulu : ChatGPT dan Publish MQTT melalui websocket


Seperti pada response chatGPT atas  pertanyaan saya tentang coding subscribe MQTT dibawah ini, dan perhatikan muncul error pada console di web browser.


<!DOCTYPE html>
<html>
<head>
    <title>MQTT WebSocket Subscriber</title>
</head>
<body>
    <h1>MQTT WebSocket Subscriber</h1>

    <label for="topic">Topic:</label>
    <input type="text" id="topic" placeholder="Enter the topic to subscribe to">
    
    <button id="subscribeButton">Subscribe to Topic</button>

    <div id="messageDisplay">
        <!-- Received messages will be displayed here -->
    </div>

    <script src="https://cdnjs.cloudflare.com/ajax/libs/paho-mqtt/1.0.1/mqttws31.min.js"></script>
    <script>
        var client = null; // MQTT client
        
        // Function to handle the button click
        function subscribeToTopic() {
            var topicInput = document.getElementById("topic");
            var topic = topicInput.value;

            if (!client) {
                client = new Paho.MQTT.Client("broker.hivemq.com", Number(8000), "clientId");

                // Set up the connection options
                var options = {
                    useSSL: false, // Set to true if your broker supports secure WebSocket connections
                    onSuccess: onConnect,
                    onFailure: onFailure,
                };

                // Set up the message handler
                client.onMessageArrived = onMessageArrived;
                
                // Connect to the MQTT broker via WebSocket
                client.connect(options);
            }

            // Subscribe to the specified MQTT topic
            client.subscribe(topic);
        }

        // Called when the connection is successful
        function onConnect() {
            console.log("Connected to the MQTT broker");
        }

        // Called when the connection fails
        function onFailure(message) {
            console.log("Connection failed: " + message.errorMessage);
        }

        // Called when a message is received
        function onMessageArrived(message) {
            var messageDisplay = document.getElementById("messageDisplay");
            messageDisplay.innerHTML += "Received message: " + message.payloadString + "<br>";
        }

        // Attach the click event to the button
        var subscribeButton = document.getElementById("subscribeButton");
        subscribeButton.addEventListener("click", subscribeToTopic);
    </script>
</body>
</html>

Console menampilkan hasil error berikut :


Ternyata subscribe ke topik gagal karena terjadi kesalahan berupa koneksi ke broker belum terjadi. Bagaimana bisa subscribe kalau konek aja belum ? Jadi saya harus memperbaiki dengan mengeluarkan proses connect ke luar dari function " subscribeToTopic() " dan menempatkan diawal <script>.


        if (!client) {
            client = new Paho.MQTT.Client("broker.hivemq.com", Number(8000), "clientId-12323");

                // Set up the connection options
           var options = {
                    useSSL: false, // Set to true if your broker supports secure WebSocket connections
                    onSuccess: onConnect,
                    onFailure: onFailure,
                };
		        // Set up the message handler
                client.onMessageArrived = onMessageArrived;
                
                // Connect to the MQTT broker via WebSocket
                client.connect(options);
            }



Dan benar saja pesan dapat dikirimkan dari client mqtt explorer dari PC saya menuju web browser melalui websocket port 8000.




Selanjutnya saya tinggal mengabungkan script sub dan pub sebelumnya untuk membuat aplikasi "e-voting" yang lebih menarik "UI" nya dan siap didemokan.




Chat GPT memang keren broooo....asal bisa menggiringnya saja ya...
Share:

Kontak Penulis



12179018.png (60×60)
+628155737755

Mail : ahocool@gmail.com

Site View

Categories

555 (8) 7 segmen (3) adc (4) amplifier (2) analog (19) android (12) antares (9) arduino (26) artikel (11) attiny (3) attiny2313 (19) audio (5) baterai (5) blog (1) bluetooth (1) chatgpt (2) cmos (2) crypto (2) dasar (46) digital (11) dimmer (5) display (3) esp8266 (26) euro2020 (13) gcc (1) iklan (1) infrared (2) Input Output (3) iot (60) jam (7) jualan (12) kereta api (1) keyboard (1) keypad (3) kios pulsa (2) kit (6) komponen (17) komputer (3) komunikasi (1) kontrol (8) lain-lain (8) lcd (2) led (14) led matrix (6) line tracer (1) lm35 (1) lora (8) MATV (1) memory (1) metal detector (4) microcontroller (70) micropython (6) mikrokontroler (1) mikrokontroller (14) mikrotik (5) modbus (9) mqtt (3) ninmedia (5) ntp (1) paket belajar (19) palang pintu otomatis (1) parabola (88) pcb (2) power (1) praktek (2) project (33) proyek (1) python (7) radio (28) raspberry pi (4) remote (1) revisi (1) rfid (1) robot (1) rpm (2) rs232 (1) script break down (3) sdcard (3) sensor (2) sharing (3) signage (1) sinyal (1) sms (6) software (18) solar (1) solusi (1) tachometer (2) technology (1) teknologi (2) telegram (2) telepon (9) televisi (167) television (28) transistor (2) troubleshoot (3) tulisan (93) tutorial (108) tv digital (6) tvri (2) vu meter (2) vumeter (2) wav player (3) wayang (1) wifi (3)

Arsip Blog

Diskusi


kaskus
Forum Hobby Elektronika