Proses manufaktur
![]() |
| × | 1 | |||
![]() |
| × | 1 |
Musim dingin akan datang, malam menjadi lebih panjang dari siang, dan itu adalah mimpi buruk bagi saya untuk bangun jam 6 pagi di ruangan yang gelap dan dingin. Bagaimana jika ada cara untuk membuat "matahari terbit" buatan untuk membuat ruangan terasa lebih hangat dan menyenangkan?
Ini adalah tugas yang mudah, saya akan membuat bola lampu pintar yang cocok dengan lampu langit-langit saya saat ini. Ini akan mensimulasikan matahari terbit dengan perlahan menerangi ruangan. Jika berhasil, saya akan menghubungkannya dengan ponsel saya untuk menjadikannya jam alarm yang tepat.
Bola lampu
Untuk membuat bohlam pintar, pertama-tama Anda membutuhkan bohlam "bodoh" karena soketnya yang disekrup ke lampu dan menyediakan catu daya. Aku menghancurkannya dengan palu. Prosedur kegembiraan ini melepaskan kaca dari soket aluminium dan setelah menyolder kabel ke soket dan pin di bagian bawah, dasar bohlam lampu pintar sudah siap.
Selanjutnya, Anda memerlukan dukungan untuk semua elektronik. Saya menggunakan papan kinerja dan memotongnya agar sesuai dengan mikrokontroler Arduino Nano, catu daya 5V, dan semua komponen elektronik.
Sirkuit tegangan tinggi
Peringatan keamanan: Anda bekerja dengan tegangan lebih besar dari 50V. Kontak dengan tegangan tinggi dapat mengakibatkan cedera parah atau kematian.
Karena saya menggunakan bola lampu biasa yang ditenagai dari tegangan listrik AC, saya tidak dapat langsung menggunakan mikrokontroler untuk mengontrol daya yang masuk ke bola lampu. Saya membutuhkan TRIAC. Perangkat kecil ini bertindak sebagai relai yang dapat dinyalakan dan dimatikan dengan cukup cepat. Mikrokontroler akan menghidupkan dan mematikan triac untuk mengubah gelombang sinus AC, sehingga meredupkan atau mencerahkan cahaya.
Namun, tegangan AC dikendalikan secara berbeda dari tegangan DC. Gelombang sinus AC perlu dipotong dengan cara yang tepat sehingga triac harus dihidupkan dan dimatikan pada saat yang tepat untuk mencapainya (lihat gambar di bawah). Dengan kata lain, mikrokontroler perlu mengetahui kapan gelombang sinus tegangan listrik memotong nol untuk memotong masing-masing setengah gelombang dengan ukuran yang sama. Jika tidak, lampu akan berkedip.
Untuk mendeteksi persilangan nol tegangan listrik ada optocoupler 4N35 (U1) dengan transistor yang menyala ketika gelombang sinus melintasi nol. Mikrokontroler akan melihatnya sebagai sinyal tinggi pada pin inputnya. Optocoupler memiliki fungsi lain, yaitu mengisolasi tegangan rendah dari rangkaian tegangan listrik.
Optocoupler kedua - MOC3063 (U2) - dengan triac pada output digunakan untuk mengisolasi mikrokontroler dari triac tegangan tinggi (Q2). Pastikan Anda tidak menggunakan optocoupler dengan fitur zero-cross karena hanya aktif saat gelombang sinus melewati nol.
Sirkuit tegangan rendah
Sebagai mikrokontroler, saya menggunakan Arduino Nano. Tujuan utamanya adalah untuk mengontrol triac dan mulai menyalakan lampu ketika waktu yang ditentukan tiba. Untuk menyediakan jam waktu-nyata, terdapat modul jam waktu-nyata akurat DS3231 yang juga menghemat waktu saat listrik padam.
Untuk penyedia 5V untuk chip, saya menggunakan catu daya step-down 5V 700mA murah yang terhubung ke tegangan listrik dari soket bohlam. Solusi yang bagus dan praktis!
Kode
Programnya cukup sederhana. Saat lampu dinyalakan oleh sakelar, lampu akan menerangi ruangan dan meredupkannya perlahan hingga malam sebagai verifikasi bahwa elektronik masih berfungsi. Pada malam hari ia memeriksa jam waktu nyata yang disimpan dalam modul DS3231 dan akhirnya pada pukul 6 pagi ruangan perlahan-lahan menyala hingga "siang hari" penuh sampai lampu dimatikan oleh sakelar.
Lihat kode terlampir di bawah ini, saya pikir itu cukup jelas. Jika bukan, saya adalah pengembang yang buruk!
Apa selanjutnya?
Sekarang saya akan bereksperimen selama beberapa hari atau minggu dan jika itu dapat membangunkan saya di pagi hari, saya akan mengembangkan proyek ini menjadi sesuatu yang lebih cerdas dan tidak terlalu kasar!
Selamat malam!
/*Bola lampu pintar yang menyala saat bangun tidur.Cara kerjanya:1) saat listrik dinyalakan , lampu di nyalakan sebagai cek berfungsi2) perlahan redup sampai mati total3) jam 6 pagi lampu pagi perlahan nyala sampai mati malam4) lampu tidak nyala saat ruangan tidak gelap lagi (photocell)Cara menggunakan:- nyalakan lampu saat akan tidur dan itu akan menerangi kamar ketika Anda bangun di pagi hari, matikan lampu saat meninggalkan kamar untuk mematikannya.- waktu akan dipertahankan karena ke modul DS3231@penulis Jiri Praus (https://twitter.com/jipraus)Kontrol lampu AC yang terinspirasi oleh http://arduinotehniq.blogspot.com/2014/10/ac-light-dimmer-with-arduino.html* /#include// tersedia dari http://www.arduino.cc/playground/Code/#include "RTClib.h"#define TRIAC_PIN 2#define ZERO_CROSS_PIN 3#define LIGHT_SENSOR_PIN A6#define FREQUENCY_STEP 75 // Ini adalah langkah delay-per-brightness dalam mikrodetik untuk 50Hz (ubah nilainya dalam 65 untuk 60Hz)#define CHANGE_DIM_LEVEL_EVERY 1 // ubah level redup setiap N detik, slowness of brightining/dimming#define MAX_DIM_LEVEL 128 // mati# define MIN_DIM_LEVEL 0 // on#define DARK_THRESHOLD 300 // resistensi fotosel ketika dianggap di luar gelap// variabel kontrol triac volatil byte triacCounter =0; // pengatur waktu triac control volatil boolean zeroCrossed =false; // fase AC zero-crossed flag// redup controlbyte dimLevel =MIN_DIM_LEVEL; // saat dihidupkan, lampu menyala dan akan meredup perlahan seperti lampu checkbooleanOn =false;// jam alarmRTC_DS3231 rtc;void setup() { Serial.begin(115200); digitalWrite(TRIAC_PIN, RENDAH); pinMode(TRIAC_PIN, OUTPUT); pinMode(ZERO_CROSS_PIN, INPUT); pinMode(LIGHT_SENSOR_PIN, INPUT); // init jam waktu nyata if (!rtc.begin()) { Serial.println("Tidak dapat menemukan RTC"); sementara(1); } if (rtc.lostPower()) { Serial.println("RTC kehilangan daya, ayo atur waktunya!"); rtc.adjust(DateTime(F(__DATE__), F(__TIME__))); // baris berikut menyetel RTC ke tanggal &waktu sketsa ini dikompilasi } // menginisialisasi interupsi dan timer untuk kontrol triac noInterrupts(); attachInterrupt(digitalPinToInterrupt(ZERO_CROSS_PIN), zeroCrossDetected, RISING); // Pasang Interupt ke Pin 2 (interupt 0) untuk interupsi Zero Cross Detection(); Timer1.initialize(FREQUENCY_STEP); Timer1.attachInterrupt(triacTimerInterrupt, FREQUENCY_STEP);}void loop() { delay(CHANGE_DIM_LEVEL_EVERY * 1000); periksaAlarmClock(); adjustDimLevel(); debugPrint();}void zeroCrossDetected() { zeroCrossed =true; // setel boolean ke true untuk memberi tahu fungsi peredupan kita bahwa telah terjadi persilangan nol triacCounter =0; // mulai menghitung kapan triac harus dibuka digitalWrite(TRIAC_PIN, LOW); // matikan lampu}void triacTimerInterrupt() { if (dimLevel>=MAX_DIM_LEVEL) { // matikan secara permanen digitalWrite(TRIAC_PIN, LOW); } else if (dimLevel <=MIN_DIM_LEVEL) { // secara permanen di digitalWrite(TRIAC_PIN, HIGH); } else if (zeroCross) { if (triacCounter>=dimLevel) { digitalWrite(TRIAC_PIN, HIGH); // buka triac zeroCross =false; // reset zero cross detection sampai setengah vawe berikutnya } else { triacCounter ++; // penambahan waktu penghitung langkah } }}void adjustDimLevel() { if (lightOn &&dimLevel> MIN_DIM_LEVEL) { dimLevel--; } else if (!lightOn &&dimLevel Skema
![]()
Proses manufaktur
Bilangan kompleks berguna untuk analisis rangkaian AC karena menyediakan metode yang mudah digunakan untuk menunjukkan pergeseran fasa secara simbolis antara besaran AC seperti tegangan dan arus. Namun, bagi kebanyakan orang, kesetaraan antara vektor abstrak dan besaran rangkaian nyata bukanlah hal
Prinsip non-sinusoidal, bentuk gelombang berulang yang setara dengan serangkaian gelombang sinus pada frekuensi yang berbeda adalah sifat dasar gelombang pada umumnya dan memiliki nilai praktis yang besar dalam studi rangkaian AC. Artinya, setiap kali kita memiliki bentuk gelombang yang tidak berbe
Analisis SPICE Isolasi Listrik Selain kemampuan untuk dengan mudah mengubah antara tingkat tegangan dan arus yang berbeda dalam rangkaian AC dan DC, transformator juga menyediakan fitur yang sangat berguna yang disebut isolasi , yang merupakan kemampuan untuk menyambungkan satu sirkuit ke sirkuit l
Seperti yang kita lihat dalam beberapa analisis SPICE sebelumnya dalam bab ini, tegangan keluaran dari sebuah transformator bervariasi beberapa dengan hambatan beban yang bervariasi, bahkan dengan masukan tegangan yang konstan. Derajat varians dipengaruhi oleh induktansi belitan primer dan sekunder