Tentang proyek ini
Ide
Jadi saya bukan penggemar bangun setelah saya memutuskan untuk tertidur. Terkadang saya hanya ingin membaca sebelum tidur dan membutuhkan lampu untuk dinyalakan. Jadi saya memutuskan untuk membuat manipulator saklar lampu ini.
Saya menyadari ini memiliki beberapa implikasi lain:
- Anak-anak yang terlalu pendek untuk mencapai saklar
- Orang dengan keterbatasan gerak
Proyek
Proyek ini sebagian besar didasarkan pada papan RF 433 MHz yang berbicara satu sama lain. Terkadang ini bisa menjadi prestasi yang luar biasa. Jika kode tidak bekerja dengan baik untuk Anda, coba ubah nilai ini di Slave_servo.ino:
const unsigned int upperThreshold =70; //nilai ambang atas const unsigned int lowerThreshold =50; //nilai ambang batas bawah
- Master_Remote.ino menjalankan Arduino dengan pemancar
- Slave_Servo.ino menggunakan Arduino yang sama dengan receiver
Pengkabelan
Pengkabelan untuk ini cukup sederhana, cukup gunakan gambar di tautan ini, dan gambar di bawah "Skema".
Catatan
- Tombolnya bekerja pada Arduino yang sama dengan pemancar, dan servo pada Arduino yang sama dengan penerima.
Pemasangan di Dinding
Adapun pemasangan servo ke dinding, Anda akan memerlukan akses ke printer 3D. Dudukan servo telah dimodelkan di OpenSCAD, Anda mungkin harus mengubah di mana lubang itu berada. Saya telah menyertakan file OpenSCAD, sehingga parameter lubang dapat dimodifikasi. Anda akan ingin mencetak mhacks_lightswitchv4.stl sebagai permulaan.
Setelah dicetak, kencangkan servo dan rekatkan dudukan pada sakelar (ini dapat dilakukan dengan sesuatu yang sederhana seperti strip perintah, atau jika Anda benar-benar yakin menyukainya, lem super (saya tidak merekomendasikan ini).
Tugas Akhir
Ini adalah tugas akhir (saya mengirimkan ini untuk hackathon online yang disebut Mhacks).
Untuk membuat pengaturan lebih permanen, Anda mungkin ingin mencetak kasing Arduino. Kasus ini bekerja dengan sangat baik. Anda dapat memasangnya serta papan tempat memotong roti ke dinding menggunakan strip perintah.
Perkembangan Masa Depan - Gunakan papan berbasis ESP8266 untuk mengontrol servo, bukan 2 Arduino
- Buat penutup sakelar lampu yang menyematkan servo dengan lebih fasih
- Kembangkan kode Alexa sedemikian rupa sehingga dapat dikontrol dengan suara
Kode
- Slave_Servo.ino
- Master_Remote.ino
Slave_Servo.inoArduino
#define rfReceivePin A0 //RF Receiver pin =Analog pin 0 #define ledPin 13 //Onboard LED =digital pin 13 #include Servo servo; data int yang tidak ditandatangani =0; // variabel yang digunakan untuk menyimpan data yang diterima const unsigned int upperThreshold =70; //nilai ambang atas const unsigned int lowerThreshold =50; //nilai ambang batas bawah void setup(){ pinMode(ledPin, OUTPUT); Serial.begin(9600); servo.attach (9); } void loop(){ data=analogRead(rfReceivePin); //mendengarkan data pada pin Analog 0 if(datalowerThreshold){ digitalWrite(ledPin, HIGH); //Jika sinyal TINGGI diterima, nyalakan LED Serial.println(data); servo.menulis(90); } }
Master_Remote.inoArduino
#define rfTransmitPin 4 //RF Transmitter pin =digital pin 4 #define buttonPin 2 #define led 13 void setup() { // letakkan kode setup Anda di sini, untuk dijalankan sekali:pinMode(rfTransmitPin, OUTPUT); pinMode(tombolPin, INPUT); pinMode (dipimpin, OUTPUT); Serial.begin(9600);}int buttonState =0; void loop() { // letakkan kode utama Anda di sini, untuk dijalankan berulang kali:buttonState =digitalRead(buttonPin); if (buttonState ==HIGH) { // nyalakan LED:digitalWrite(rfTransmitPin, HIGH); digitalWrite (dipimpin, TINGGI); Serial.println("kirim"); penundaan (10); } else { // matikan LED:digitalWrite(rfTransmitPin, LOW); digitalWrite (dipimpin, RENDAH); Serial.println("tidak"); }}
Suku cadang dan penutup khusus
mhacks_lightswitch_hpXQkie6X4.scad Kasus Arduino
File CAD di thingiverse.com Skema