Proses manufaktur
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 |
| ||||
|
Standar nirkabel berdaya rendah yang dipadukan dengan LED ultra-miniatur, sensor, dan perangkat komunikasi berbiaya rendah telah menjadikan pencahayaan cerdas sebagai katalis untuk Internet of Things dan otomatisasi rumah.
Dalam tutorial ini kita akan melihat cara mengontrol strip LED NeoPixel melalui ponsel menggunakan Aplikasi Zerytnh, yang menampilkan pemilih warna dan menu untuk pemilihan berbagai animasi yang telah dikonfigurasi sebelumnya.
Langkah 1:Bahan yang Diperlukan
Proyek ini membutuhkan beberapa elemen:
Langkah 2:Merakit
Langkah 3:Pemrograman
Menggunakan Zerynth sangat mudah!
Setelah menyalakan lampu, ini akan secara otomatis terhubung ke jaringan preset.
Kemudian buka saja Aplikasi Zerynth, yang akan mencari objek Zerynth yang terhubung ke jaringan, pilih objek yang diinginkan, dalam hal ini "Lampu Zerytnh", dan Anda dapat berinteraksi dengannya! Dalam hal ini, Aplikasi Zerynth menampilkan pemilih warna dan menu untuk pemilihan berbagai animasi yang telah dikonfigurasi sebelumnya.
Kode ini sangat sederhana dan memiliki banyak komentar. Untuk pertanyaan atau saran, silakan posting di forum komunitas Zerynth:http://community.zerynth.com/
Langkah 4:Jadikan IoT lebih cerah!
Apakah kamu menyukainya? Ayo menjadi hardcore!
Zerynth Shield menghadirkan serangkaian sensor dan aktuator, termasuk sensor untuk deteksi sentuhan, LED inframerah, mikrofon, sensor cahaya, dan sensor suhu. Anda dapat memulai dari kode contoh yang sangat sederhana ini untuk mengembangkan perilaku yang Anda inginkan. Gunakan Zerynth Shield untuk memperluas fungsionalitas Lampu!
Luigi F. Cerfeda (@L_F_Cerfeda) - tim Zerynth
################################################################ ################################ Zerynth Lamp## Dibuat oleh Zerynth Team 2015 CC# Penulis:G. Baldi , D. Mazzei############################################################# ################################# impor modul yang diperlukanimport aliran dari bcm43362 impor bcm43362 sebagai wifi_driverdari impor nirkabel wifiimport animasidari toishield impor toishield# dan impor modul zerynthappdari zerynthapp impor zerynthappstreams.serial()# sambungkan ke jaringan wifi coba:wifi_driver.auto_init() print("Membuat Tautan...") wifi.link("SSID",wifi.WIFI_WPA2,"password ") print("Ok!") kecuali Pengecualian sebagai e:print(e)# simpan template.html di flash board dengan new_resourcenew_resource("template.html")#### ZerynthApp Setup# ::Javascript ke Python ::# fungsi berikut akan dipanggil saat tombol ditekandef change_color(r, g, b):animation.setup_color(r, g, b)def change_animation(n):animation.setup_anim(n)def change_speed(n):animation .setup_a nim_speed(n)# mengonfigurasi aplikasi Zerynth dengan nama, deskripsi, dan template urlvp =zerynthapp.ZerynthApp("Zerynth Lamp", "Coba saya!", "resource://template.html")# setiap kali Javascript membuat event fungsi yang sesuai disebutvp.on("change_color", change_color)vp.on("change_animation", change_animation)vp.on("change_speed", change_speed)# jalankan ZerynthApp!vp.run()# sejak vp.run dimulai utas baru, Anda dapat melakukan apa pun yang Anda inginkan di sini!# mari kendalikan ledsanimation.start(D6, 24)
Zerynth Lamp
Diberdayakan oleh Zerynth (www.zerynth.com)
################################################################ ################################ Zerynth Lamp## Dibuat oleh Zerynth Team 2015 CC# Penulis:G. Baldi , D. Mazzei############################################################# #################################Fungsi animasi lampu dari neopixel import ledstrip sebagai neoimport threadinglock =threading.Lock() # warna Zerynth :)color =[0x54,0x9a,0x97]anim =0anim_speed =50leds =Nonelayer0 =Nonelayer1 =Nonelayer2 =Nonenpins =0 stop=Falsestopcolor =[0xff,0xff,0xff]# buat semua layer yang dibutuhkan# mari kita tentukan beberapa koefisien untuk animasi halus (setengah gelombang sinus)koefisien_animasi =[ 0, 0.2588190451, 0.5, 0.7071067812, 0.8660254038, 0.9659258263, 1, 0.9659258263, 0.8660254038, 0.7071067812, 0.5, 0.2588190451]pelangi =[00,0xff,00x 0xff,0x7f,0x00), (0xff,0xff,0x00), (0x00,0xff,0x00), (0x00,0x00,0xff), (0x4b,0x00,0x82), (0x8f,0x00,0xff)]def setup_anim( n):global layer0,layer1,layer2,anim # mengisi layer dengan nilai awalnya l ock.acquire() leds.clear() layer2.clear() layer0.clear() layer1.clear() n=n%4 jika n==0:layer0[0]=(100,0,0) layer0[ 1]=(100,0,0) layer0[2]=(100,0,0) layer1[0]=(0,100,0) layer1[1]=(0,100,0) layer1[2]=(0,100, 0) elif n==1:untuk x dalam rentang(npins//2):layer0[x]=(100//(2*x+1),0,0) layer1[npins-x-1]=( 0,100//(2*x+1),0) layer2.clear() elif n==2:layer1.clear() pstep=0 untuk x dalam rentang(npin):langkah =x*len(pelangi)/npin rx =(pelangi[int(langkah)][0]+pelangi[int(plangkah)][0])//4 gx =(pelangi[int(langkah)][1]+pelangi[int(plangkah)][ 1])//4 bx =(pelangi[int(langkah)][2]+pelangi[int(plangkah)][2])//4 lapisan0[x]=(rx,gx,bx) pstep=langkah elif n==3:layer0.clear() layer1.clear() anim=n lock.release() def setup_anim_speed(n):global anim_speed anim_speed=n def setup_color(r,g,b):global color #print(" Color:",r,g,b) color[0]=r color[1]=g color[2]=b# Buat fungsi untuk menangani background animationdef animate_background(delay):global color step=0 while True:if ( anim==3 atau anim==0) dan tidak dihentikan:lock.acquire() layer2.setal l(int(color[0]*animation_coefficients[langkah]/2),int(color[1]*animation_coefficients[langkah]/2),int(color[2]*animation_coefficients[langkah]/2)) lock.release () langkah +=1 jika langkah>=len(koefisien_animasi):langkah=0 lain:lock.acquire() layer2.clear(); layer2.setall(stopcolor[0],stopcolor[1],stopcolor[2]) lock.release() sleep(delay+500-5*anim_speed)def animate_foreground(delay):while True:jika tidak dihentikan:lock.acquire () if anim ==0:layer0.lshift() layer1.rshift() elif anim ==1:layer0.rshift() layer1.rshift() elif anim ==2:layer0.rshift() layer1.rshift() elif anim ==3:layer0.lshift() layer1.lshift() lock.release() lain:lock.acquire() layer0.clear() layer1.clear() lock.release() sleep(delay+100-anim_speed )def start(pin,numpins):global leds,layer0,layer1,layer2,npins npins=numpins leds =neo.LedStrip(pin,numpins) layer0 =neo.LedStrip(pin,numpins) layer1 =neo.LedStrip(pin, numpins) layer2 =neo.LedStrip(pin,numpins) setup_anim(0) setup_anim_speed(50) # memulai thread animasi background(animate_background,500) # memulai thread animasi foreground(animate_foreground,50) while True:# clear leds leds.clear() # sekarang, dapatkan kunci lock.acquire() # gabungkan layer pertama dan kedua leds.merge(layer0) leds.m erge(layer1) # gabungkan layer latar belakang hanya jika led transparan (0,0,0) leds.merge(layer2,neo.first_color) # lepaskan kunci lock.release() # dan nyalakan! leds.on() sleep(50)def stop(r,g,b):global stopcolor stopcolor global stopcolor[0]=r stopcolor[1]=g stopcolor[2]=b stop=True def resume():global berhenti berhenti =Salah setup_anim(anim)
Proses manufaktur
Komponen dan persediaan Arduino UNO Setiap board dengan pin analog, setidaknya dua pin digital, dan setidaknya tiga ground akan berfungsi. × 1 Resistor foto × 1 LED (generik) Dua warna berbeda. × 2 Resistor 1k ohm × 1 Resistor 100 ohm Saya menggunakan r
Komponen dan persediaan Arduino UNO × 1 Sensor Pencari Jangkauan ToF SparkFun - VL6180 VL53L0X untuk jarak jauh dan VL6180X untuk jarak dekat. disini saya menggunakan VL6180X × 1 motor servo × 1 Aplikasi dan layanan online Arduino IDE Memproses
Komponen dan persediaan Arduino UNO × 1 Sensor Gerak PIR (generik) × 1 Espressif ESP8266 ESP-01 × 1 Speaker:0,25W, 8 ohm × 1 SparkFun Servo - Gear Logam Generik (Ukuran Mikro) × 1 Aplikasi dan layanan online circuito.io https://www.ci
Kit lampu LED DIY adalah proyek yang sempurna untuk ditangani, baik untuk rumah Anda atau belajar tentang elektronik. Kit lampu LED ini ramah lingkungan, hemat energi, dan membantu pemilik rumah menghemat uang untuk tagihan listrik mereka. Berkat karakteristik tersebut, lampu LED menjadi semakin pop