logo 亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Manufacturing Technology >> 制造工艺

物联网环境光:Zerynth 灯

组件和用品

泽林斯之盾
× 1
Arduino Due
× 1
STM32 Nucleo ST NUCLEO
× 1
粒子光子
× 1
UDOO DUAL
× 1
Adafruit NeoPixel
× 1

应用和在线服务

Zerynth Studio
Zerynth App

关于这个项目

低功耗无线标准与低成本、超微型 LED、传感器和通信设备相结合,使智能照明成为物联网和家庭自动化的催化剂。

在本教程中,我们将看到如何使用 Zerytnh 应用程序通过移动设备控制 NeoPixel LED 灯条,该应用程序显示了一个颜色选择器和一个用于选择各种预配置动画的菜单。

第 1 步:所需材料

该项目需要的元素很少:

  • Zerynth 工作室 :具有云同步和板管理功能的多平台和基于浏览器的 Python 开发环境。无论您使用哪种操作系统,Zerynth 都能运行!只需下载 Zerynth 并安装它 (http://www.zerynth.com/zerynth-studio/)。
  • Zerynth 应用: 用于智能对象和物联网系统的 Zerynth 移动界面。任何手机都将成为对象的显示和遥控器。下载:http://www.zerynth.com/zerynth-app/
  • 泽林斯之盾 (可在此处获取:https://store.open-electronics.org/index.php?_route_=Shield_ZERYNTH&search=toi )。即用型多传感器板,可为您的日常生活物品添加智能功能
  • Arduino DUE 或 ST Nucleo F401RE 或 ParticlePhoton .或 UDOO 或 翻转和剪辑 通过 Mikroelektronika .无论您使用哪种板,Zerynth 都是多板兼容的!您可以在此处找到所有支持的板的详细信息:http://www.zerynth.com/zerynth-studio/
  • 如果您不使用 Particle Photon(板载 wifi 模块),则需要一个将电路板连接到网络的元素,例如 wi-fi 屏蔽 Adafruit .但是,您可以使用安装 wifi 芯片的任何其他适配器 CC3000 Texas Instruments (http://www.ti.com/product/cc3000)。
  • 一条(或一圈)NeoPixel Adafruit 的 LED (可在此处获取 https://www.adafruit.com/products/1426)
  • 一个玻璃或 3D 打印灯 .选择权在您。

第 2 步:组装

  • 只需将 wifi Shield 和 Zerynth Shield 搭载到您的 Arduino(或 ST Nucleo 或 UDOO)上。如果您使用 Particle Photon,只需将其搭载到 Zerynth Shield 上的专用连接器即可。
  • 将 NeoPixel LED 连接到 Zerynth Shield 上的相关端口。
  • 将所有电路板和 LED 放入灯中。

第 3 步:编程

使用 Zerynth 非常简单!

  • 连接并“虚拟化”您的电路板(已在此处解释 http://bit.ly/Hackster-VIPER-Theremin)
  • 在 Zerynth 中创建一个新项目(已在 http://bit.ly/Hackster-IoT-Notes-Printer 中解释)。注意:您需要创建 3(+1)个文件:main.py、animation.py、template.html(和 project.md)
  • 复制发布的代码
  • 将代码上传到您的板上,您就大功告成了!

开灯后会自动连接到预设的网络。

然后只需打开 Zerynth 应用程序,它将搜索连接到网络的 Zerynth 对象,选择感兴趣的对象,在本例中为“Zerytnh 灯”,您就可以与它进行交互了!在本例中,Zerynth 应用程序显示了一个颜色选择器和一个用于选择各种预配置动画的菜单。

代码很简单,有很多注释。如有任何问题或建议,请随时在 Zerynth 社区论坛上发帖:http://community.zerynth.com/

第 4 步:让物联网更光明!

你喜欢它吗?来硬核吧!

Zerynth Shield 提供了一组传感器和执行器,包括用于触摸检测的传感器、红外 LED、麦克风、光传感器和温度传感器。您可以从这个非常简单的示例代码开始开发您喜欢的行为。使用 Zerynth Shield 扩展灯的功能!

Luigi F. Cerfeda (@L_F_Cerfeda) - Zerynth 团队

代码

  • main.py
  • template.html
  • 动画.py
main.pyPython
############################################ ############################### Zerynth 灯## 由 Zerynth 团队 2015 CC# 创建作者:G. Baldi , D. Mazzei########################################## ################################ 导入需要的模块import Streamsfrom bcm43362 import bcm43362 as wifi_driverfrom wireless import wifiimport animationfrom toishield import toishield# 并从 zerynthapp 导入 zerynthapp 模块 import zerynthappstreams.serial()# 连接到 wifi 网络try:wifi_driver.auto_init() print("Establishing Link...") wifi.link("SSID",wifi.WIFI_WPA2,"password ") print("Ok!") 除了 Exception as e:print(e)# 用 new_resourcenew_resource("template.html")#### ZerynthApp Setup# ::Javascript to Python 将 template.html 保存在板子闪存中: :# 按下按钮时会调用以下函数def 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)# 使用名称、描述和模板配置 Zerynth 应用程序 urlvp =zerynthapp.ZerynthApp("Zerynth Lamp", "Try me!", "resource://template.html")# 每次 Javascript 生成事件对应的函数叫做vp.on("change_color", change_color)vp.on("change_animation", change_animation)vp.on("change_speed", change_speed)#运行ZerynthApp!vp.run()#因为vp.run启动一个新线程,你可以在这里做任何你想做的事情!#让我们控制ledsanimation.start(D6, 24)
template.htmlHTML
         

Zerynth Lamp

由 Zerynth (www.zerynth.com) 提供支持
animation.pyPython
############################################ ############################### Zerynth 灯## 由 Zerynth 团队 2015 CC# 创建作者:G. Baldi , D. Mazzei########################################## #################################Lamp 动画函数来自 neopixel 导入 ledstrips as neoimport threadinglock =threading.Lock() # Zerynth 颜色 :)color =[0x54,0x9a,0x97]anim =0anim_speed =50leds =Nonelayer0 =Nonelayer1 =Nonelayer2 =Nonenpins =0stopped=Falsestopcolor =[0xff,0xff,0xff]# 创建所有需要的层#让我们定义一些系数平滑的动画(半正弦波)animation_coefficients =[0,0.2588190451,0.5%,0.7071067812,0.8660254038,0.9659258263,1,0.9659258263,0.8660254038,0.7071067812,0.5%,0.2588190451]彩虹=[(0xff的,0x00,0x00),( 0xff,0x7f,0x00), (0xff,0xff,0x00), (0x00,0xff,0x00), (0x00,0x00,0xff), (0x4b,0x00,0x82), (0x8f,0x00,0xanim(设置)]def n):global layer0,layer1,layer2,anim # 用初始值填充图层 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) layer0[2]=(100,0,0) layer1[0]=(0,100,0) layer1[1]=(0,100,0) layer1[2]=(0,100, 0) elif n==1:for x in range(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 for x in range(npins):step =x*len(rainbow)/npins rx =(rainbow[int(step)][0]+rainbow[int(pstep)][0])//4 gx =(rainbow[int(step)][1]+rainbow[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):global color #print(" color:",r,g,b) color[0]=r color[1]=g color[2]=b# 创建处理背景动画的函数def animate_background(delay):global color step=0 while True:if ( anim==3 or anim==0) 并且没有停止: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 () step +=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:如果没有停止: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) # 启动后台动画线程 thread(animate_background,500) # 启动前台动画线程 thread(animate_foreground,50) while True:# clear leds leds.clear() # 现在,获取锁 lock.acquire() # 合并第一层和第二层 leds.merge(layer0) leds.m erge(layer1) # 仅在 LED 透明的地方合并背景层 (0,0,0) leds.merge(layer2,neo.first_color) # 释放锁 lock.release() # 并点亮它! leds.on() sleep(50)def stop(r,g,b):全局停止全局停止颜色停止颜色[0]=r停止颜色[1]=g停止颜色[2]=b停止=True def resume():全局停止 停止 =假 setup_anim(anim)

示意图


便携式温度站 光序列创建器

制造工艺

  • 制造工艺
  • 3D打印
  • 自动化控制系统
  • 工业技术
    1. 电路和光速
    2. 煤气灯
    3. 激光指示器
    4. 手电筒
    5. 卤素灯
    6. 万花筒
    7. 半导体激光器
    8. 交通信号
    9. 灯泡
    10. Raspberry Pi 温度和光传感器
    11. 智能交通灯
    12. 数字光传感器

    • 使用光敏电阻和 LED 灯的环境光传感器!

      组件和用品 Arduino UNO 任何带有模拟引脚、至少两个数字引脚和至少三个接地的电路板都可以使用。 × 1 光敏电阻 × 1 LED(通用) 两种不同的颜色。 × 2 电阻 1k ohm × 1 电阻 100 ohm 我使用了 220 欧姆的电阻,但我认为 100 欧姆会更好。 × 2 跳线(通用) × 1 面包板(通用) × 1 应用和在线服务 Arduino IDE Arduino 网页编辑器

    • Arduino LIDAR

      组件和用品 Arduino UNO × 1 SparkFun ToF 测距仪传感器 - VL6180 VL53L0X 适用于远程,VL6180X 适用于短程。这里我用的是 VL6180X × 1 伺服电机 × 1 应用和在线服务 Arduino IDE 处理 关于这个项目 关于 LiDAR 的一些事情 激光雷达(Light Detection and Ranging)是一种光学遥感系统,可以通过用光照射目标来测量目标的距离。激光雷达技术正在机器人技术

    • 物联网宠物喂食器

      组件和用品 Arduino UNO × 1 PIR 运动传感器(通用) × 1 乐鑫 ESP8266 ESP-01 × 1 扬声器:0.25W,8 ohms × 1 SparkFun 伺服 - 通用合金装备(微型) × 1 应用和在线服务 circuito.io https://www.circuito.io/app?selectedComponentsIds=11021&selectedComponentsIds =9442&selectedComponents

    • LED 灯套件:如何构建 LED 灯套件

      DIY LED 灯套件是解决问题的完美项目,无论是在家中还是学习电子产品。这些 LED 灯套件环保、节能,可帮助房主节省电费。由于这些特性,LED 灯变得越来越流行。 LED 灯无法自行启动。它需要一个电路来完成这项工作。 构建 LED 套件很容易学习。阅读本文后,您将了解电路的功能如何工作并为您的 LED 灯供电。此外,本指南为您提供了通过焊接将它们组合在一起的必要步骤。本文还让您深入了解不同类型的 LED 灯套件。 那么让我们来看看吧! DIY LED 灯套件 需要的工具: 该 LED 灯套件包含以下组件: 10ohm R2 金属膜电阻 x1 200K

    语言

    • 数码家电网
    • 弱电通
    • 万盛学电脑网
    • 查字典网
    • 中国灯具商贸网
    • 收藏品网
    • German
    • French
    • Spanish
    • Portuguese
    • Chinese
    • Indonesian
    • Japanese
    • Korean
    • Netherlands
    • Russian
    logo
    亿迅智能制造网
    版权© mfgrobots.com 版权所有