logo
home Productietechnologie Fabricage-apparatuur
Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Manufacturing Technology >> Productieproces

IoT-omgevingslicht:Zerynth-lamp

Componenten en benodigdheden

Zerynth Shield
× 1
Arduino Due
× 1
STM32 Nucleo ST NUCLEO
× 1
Deeltjesfoton
× 1
UDOO DUAL
× 1
Adafruit NeoPixel
× 1

Apps en online services

Zerynth Studio
Zerynth-app

Over dit project

Draadloze standaarden met laag vermogen in combinatie met goedkope, ultraminiatuur LED's, sensoren en communicatieapparatuur hebben van slimme verlichting een katalysator gemaakt voor het internet der dingen en domotica.

In deze tutorial zullen we zien hoe je een NeoPixel LED-strip via mobiel kunt bedienen met behulp van de Zerytnh-app, die een kleurenkiezer en een menu toont voor de selectie van verschillende vooraf geconfigureerde animaties.

Stap 1:Benodigd materiaal

Het project vereist enkele elementen:

  • Zerynth Studio :een op meerdere platforms en browser gebaseerde Python-ontwikkelomgeving met functies voor cloudsynchronisatie en bestuursbeheer. Het maakt niet uit welk besturingssysteem je gebruikt, Zerynth draait! Gewoon Zerynth downloaden en installeren (http://www.zerynth.com/zerynth-studio/).
  • Zerynth-app: de Zerynth mobiele interface voor slimme objecten en IoT-systemen. Elke mobiele telefoon wordt het display van de objecten en de afstandsbediening. Downloaden:http://www.zerynth.com/zerynth-app/
  • Zerynth-schild (hier beschikbaar:https://store.open-electronics.org/index.php?_route_=Shield_ZERYNTH&search=toi ). Een gebruiksklaar multisensorbord dat slimme functies toevoegt aan uw alledaagse voorwerpen
  • Arduino DUE of ST Nucleo F401RE of ParticlePhoton . of UDOO of Flip&Clip door Mikroelektronika . Welk board je ook gebruikt, Zerynth is compatibel met meerdere boards! Je kunt alle ondersteunde boards hier vinden:http://www.zerynth.com/zerynth-studio/
  • Als je Particle Photon (die een wifi-module aan boord heeft) niet gebruikt, heb je een element nodig dat het bord met internet verbindt, zoals het wifi-schild van Adafruit . U kunt echter elke andere adapter gebruiken die de wifi-chip CC3000 Texas Instruments . monteert (http://www.ti.com/product/cc3000).
  • een strip (of een ring) van NeoPixel LED's van Adafruit (hier beschikbaar https://www.adafruit.com/products/1426)
  • een glazen of 3D-geprinte lamp . De keuze is aan jou.

Stap 2:Montage

  • Gewoon het wifi-schild en het Zerynth-schild meeliften op je Arduino (of ST Nucleo of UDOO). Als je Particle Photon gebruikt, kun je het gewoon meeliften op de speciale connectoren op het Zerynth Shield.
  • Sluit de NeoPixel-LED's aan op de bijbehorende poort op het Zerynth Shield.
  • Plaats alle borden en de LED's in de lamp.

Stap 3:Programmeren

Zerynth gebruiken is heel eenvoudig!

  • verbind en "virtualiseer" je bord (al uitgelegd hier http://bit.ly/Hackster-VIPER-Theremin)
  • maak een nieuw project in Zerynth (al uitgelegd hier http://bit.ly/Hackster-IoT-Notes-Printer). Let op:u moet 3 (+1) bestanden maken:main.py, animatie.py, template.html (en project.md)
  • kopieer de geposte code
  • uplink de code op je bord en je bent klaar!

Na het inschakelen van de lamp zal deze automatisch verbinding maken met het vooraf ingestelde netwerk.

Open vervolgens de Zerynth-app, die op zoek gaat naar Zerynth-objecten die op het netwerk zijn aangesloten, selecteer het object van belang, in dit geval de "Zerytnh-lamp", en u kunt ermee communiceren! In dit geval toont de Zerynth-app een kleurenkiezer en een menu voor de selectie van verschillende vooraf geconfigureerde animaties.

De code is heel eenvoudig en heeft veel opmerkingen. Voor vragen of suggesties kunt u een bericht plaatsen op de Zerynth-communityforums:http://community.zerynth.com/

Stap 4:Maak IoT helderder!

Vond je het leuk? Laten we hardcore worden!

Het Zerynth Shield presenteert een set sensoren en actuatoren, waaronder sensoren voor aanraakdetectie, infrarood LED, microfoon, lichtsensor en temperatuursensor. U kunt beginnen met deze zeer eenvoudige voorbeeldcode om het gewenste gedrag te ontwikkelen. Gebruik het Zerynth-schild om de functionaliteiten van de lamp uit te breiden!

Luigi F. Cerfeda (@L_F_Cerfeda) - Zerynth-team

Code

  • main.py
  • sjabloon.html
  • animatie.py
main.pyPython
############################################### ################################## Zerynth Lamp## Gemaakt door Zerynth Team 2015 CC# Auteurs:G. Baldi , D. Mazzei############################################## ################################### importeer benodigde modulesimport streams from bcm43362 import bcm43362 as wifi_driverfrom wireless import wifiimport animation from toishield import toishield# en importeer de zerynthapp-modulevan zerynthapp importeer zerynthappstreams.serial()# maak verbinding met een wifi-netwerktry:wifi_driver.auto_init() print("Establishing Link...") wifi.link("SSID",wifi.WIFI_WPA2,"password ") print("Ok!") behalve Uitzondering als e:print(e)# sla de template.html op in de boardflash met new_resourcenew_resource("template.html")#### ZerynthApp Setup# ::Javascript naar Python::# de volgende functies worden aangeroepen wanneer knoppen worden ingedruktdef change_color(r, g, b):animatie.setup_color(r, g, b)def change_animation(n):animatie.setup_anim(n)def change_speed(n):animatie .het opzetten van een nim_speed(n)# configureer de Zerynth-app met een naam, een beschrijving en de sjabloon urlvp =zerynthapp.ZerynthApp("Zerynth Lamp", "Try me!", "resource://template.html")# elke keer dat Javascript gebeurtenissen genereert de corresponderende functies heten vp.on("change_color", change_color)vp.on("change_animation", change_animation)vp.on("change_speed", change_speed)# voer de ZerynthApp!vp.run()# uit sinds vp.run start een nieuwe thread, je kunt hier doen wat je wilt! # let's control ledsanimation.start(D6, 24)
template.htmlHTML
         

Zerynth-lamp

Aangedreven door Zerynth (www.zerynth.com)
animation.pyPython
############################################### ################################## Zerynth Lamp## Gemaakt door Zerynth Team 2015 CC# Auteurs:G. Baldi , D. Mazzei############################################## ###################################Lamp animatie functies van neopixel import ledstrips als neoimport threadinglock =threading.Lock() # de Zerynth-kleur :)color =[0x54,0x9a,0x97]anim =0anim_speed =50leds =Nonelayer0 =Nonelayer1 =Nonelayer2 =Nonenpins =0 gestopt=Falsestopcolor =[0xff,0xff,0xff]# maak alle benodigde lagen# laten we definiëren enkele coëfficiënten voor vloeiende animatie (halve sinusgolf)animation_coefficients =[ 0, 0.2588190451, 0.5, 0.7071067812, 0.8660254038, 0.9659258263, 1, 0.9659258263, 0.8660254038, 0.7071067812, 0.5, 0.2588190451]regenboog =[ (0xff,0x00,0 0xff,0x7f,0x00), (0xff,0xff,0x00), (0x00,0xff,0x00), (0x00,0x00,0xff), (0x4b,0x00,0x82), (0x8f,0x00,0xff)]def setup_anim( n):globale laag0,laag1,laag2,anim # vul lagen met hun beginwaarden l ock.acquire() leds.clear() layer2.clear() layer0.clear() layer1.clear() n=n%4 if n==0:layer0[0]=(100,0,0) layer0[ 1]=(100,0,0) laag0[2]=(100,0,0) laag1[0]=(0,100,0) laag1[1]=(0,100,0) laag1[2]=(0,100, 0) elif n==1:voor x in bereik(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 voor x in range(npins):step =x*len(rainbow)/npins rx =(regenboog[int(stap)][0]+regenboog[int(pstep)][0])//4 gx =(regenboog[int(stap)][1]+regenboog[int(pstep)][ 1])//4 bx =(rainbow[int(step)][2]+rainbow[int(pstep)][2])//4 layer0[x]=(rx,gx,bx) pstep=step 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):globale kleur #print(" Color:",r,g,b) color[0]=r color[1]=g color[2]=b# Maak een functie om background animationdef animate_background(delay):global color step=0 while True:if ( anim==3 of anim==0) en niet gestopt:lock.acquire() layer2.setal l(int(color[0]*animation_coefficients[step]/2),int(color[1]*animation_coefficients[step]/2),int(color[2]*animation_coefficients[step]/2)) lock.release () stap +=1 if step>
=len(animation_coefficients):step=0 else: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:indien niet gestopt: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() else: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) # start de achtergrondanimatiethread (animate_background,500) # start de voorgrondanimatiethread (animate_foreground,50) terwijl True:# clear leds leds.clear() # nu, verwerf het slot lock.acquire() # voeg de eerste en tweede laag samen leds.merge(layer0) leds.m erge(layer1) # voeg de achtergrondlaag alleen samen waar leds transparant is (0,0,0) leds.merge(layer2,neo.first_color) # laat het slot los lock.release() # en steek hem aan! leds.on() sleep(50)def stop(r,g,b):globaal gestopt globaal stopcolor stopcolor[0]=r stopcolor[1]=g stopcolor[2]=b gestopt=True def hervatten():globaal gestopt gestopt =False setup_anim(anim)

Schema's


Draagbaar temperatuurstation Light Sequence Creator

Productieproces

  • Productieproces
  • 3d printen
  • Automatisering Besturingssysteem
  • Industriële technologie
    1. Circuits en de snelheid van het licht
    2. Gaslantaarn
    3. Laseraanwijzer
    4. Zaklamp
    5. Halogeenlamp
    6. Caleidoscoop
    7. Verkeerssignaal
    8. Gloeilamp
    9. Raspberry Pi temperatuur- en lichtsensor
    10. Slim verkeerslicht
    11. Digitale lichtsensor
    • Omgevingslichtsensor met fotoweerstand en LED-verlichting!

      Componenten en benodigdheden Arduino UNO Elk bord met een analoge pin, ten minste twee digitale pinnen en ten minste drie gronden zal werken. × 1 Fotoweerstand × 1 LED (generiek) Twee verschillende kleuren. × 2 Weerstand 1k ohm × 1 Weerstand 100 ohm Ik

    • Arduino LIDAR

      Componenten en benodigdheden Arduino UNO × 1 SparkFun ToF-afstandszoekersensor - VL6180 VL53L0X voor lange afstand en VL6180X voor korte afstand. hier gebruikte ik VL6180X × 1 servomotor × 1 Apps en online services Arduino IDE Verwerking

    • IoT voerbak voor huisdieren

      Componenten en benodigdheden Arduino UNO × 1 PIR-bewegingssensor (algemeen) × 1 Espressief ESP8266 ESP-01 × 1 Luidspreker:0,25 W, 8 ohm × 1 SparkFun Servo - Generieke Metal Gear (microformaat) × 1 Apps en online services circuito.io h

    • LED-lampkit:een LED-verlichtingskit bouwen

      Een doe-het-zelf LED-lampenset is het perfecte project om aan te pakken, of het nu voor thuis is of om over elektronica te leren. Deze led-lampensets zijn milieuvriendelijk, energiezuinig en helpen huiseigenaren geld te besparen op hun elektriciteitsrekening. Dankzij die eigenschappen zijn LED-lampe

    taal

    • Wetenschap
    • Klassieke kunst
    • Moderne landbouw
    • Fitness Oefening Tips
    • Automobiel
    • German
    • French
    • Spanish
    • Portuguese
    • Chinese
    • Indonesian
    • Japanese
    • Korean
    • Netherlands
    • Russian
    logo
    Industriële fabricage
    AUTEURSRECHTEN © mfgrobots.com ALLE RECHTEN VOORBEHOUDEN