logo
home Технология производства Производственное оборудование
Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Производственный процесс

Окружающий свет Интернета вещей:лампа Zerynth

Компоненты и расходные материалы

Zerynth Shield
× 1
Arduino Due
× 1
STM32 Nucleo ST NUCLEO
× 1
Фотон с частицами
× 1
UDOO DUAL
× 1
Adafruit NeoPixel
× 1

Приложения и онлайн-сервисы

Zerynth Studio
Приложение Zerynth

Об этом проекте

Стандарты беспроводной связи с низким энергопотреблением в сочетании с дешевыми сверхминиатюрными светодиодами, датчиками и устройствами связи сделали интеллектуальное освещение катализатором Интернета вещей и домашней автоматизации.

В этом уроке мы увидим, как управлять светодиодной лентой NeoPixel через мобильное устройство с помощью приложения Zerytnh, которое показывает палитру цветов и меню для выбора различных предварительно настроенных анимаций.

Шаг 1. Необходимые материалы

Для проекта требуется несколько элементов:

  • Zerynth Studio :многоплатформенная среда разработки Python на основе браузера с функциями облачной синхронизации и управления досками. Независимо от того, какую ОС вы используете, Zerynth работает! Просто скачайте Zerynth и установите его (http://www.zerynth.com/zerynth-studio/).
  • Приложение Zerynth: мобильный интерфейс Zerynth для смарт-объектов и систем IoT. Любой мобильный телефон станет дисплеем объектов и пультом дистанционного управления. Загрузить: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 или Перевернуть и вырезать от Микроэлектроника . Независимо от того, какую плату вы используете, Zerynth совместим с несколькими платами! Вы можете найти все сведения о поддерживаемых платах здесь:http://www.zerynth.com/zerynth-studio/
  • Если вы не используете Particle Photon (у которого есть встроенный модуль Wi-Fi), вам понадобится элемент, который соединяет плату с Интернетом, например щит Wi-Fi . из Adafruit . Однако вы можете использовать любой другой адаптер, в который устанавливается чип Wi-Fi CC3000 Texas Instruments . (http://www.ti.com/product/cc3000).
  • полоска (или кольцо) NeoPixel Светодиоды от Adafruit (доступно здесь https://www.adafruit.com/products/1426)
  • стеклянная или напечатанная на 3D-принтере лампа . Выбор за вами.

Шаг 2. Сборка

  • Просто установите Wi-Fi Shield и Zerynth Shield на свой Arduino (или ST Nucleo, или UDOO). Если вы используете Particle Photon, просто подключите его к специальным разъемам на Zerynth Shield.
  • Подключите светодиоды NeoPixel к соответствующему порту на Zerynth Shield.
  • Вставьте все платы и светодиоды в лампу.

Шаг 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 Lamp», и вы сможете взаимодействовать с ним! В этом случае приложение Zerynth показывает палитру цветов и меню для выбора различных предварительно настроенных анимаций.

Код очень простой и имеет много комментариев. Если у вас возникнут какие-либо вопросы или предложения, не стесняйтесь публиковать сообщения на форумах сообщества Zerynth:http://community.zerynth.com/

Шаг 4. Сделайте Интернет вещей ярче!

Тебе понравилось это? Приступим к хардкору!

Zerynth Shield представляет собой набор датчиков и исполнительных механизмов, включая датчики для обнаружения касания, инфракрасный светодиод, микрофон, датчик освещенности и датчик температуры. Вы можете начать с этого очень простого примера кода, чтобы разработать поведение, которое вам больше нравится. Используйте Zerynth Shield, чтобы расширить функциональные возможности лампы!

Луиджи Ф. Серфеда (@L_F_Cerfeda) - команда Zerynth

Код

  • main.py
  • template.html
  • animation.py
main.py Python
 ########################################################################################## ################################# Лампа Zerynth ## Создано Zerynth Team 2015 CC # Авторы:Г. Балди , Д. Маццеи ############################################################################### ################################# импортировать необходимые модули импортировать потоки из bcm43362 импортировать bcm43362 как wifi_driver из беспроводного импорта wifiимпорт анимации из toishield import toishield # и импортировать модуль zerynthapp из zerynthapp import zerynthappstreams.serial () # подключиться к сети Wi-Fi ") print (" Ok! ") за исключением Exception as e:print (e) # сохраните template.html во флэш-памяти доски с помощью new_resourcenew_resource (" template.html ") #### ZerynthApp Setup # ::Javascript для Python::# следующие функции будут вызываться при нажатии кнопок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", "Попробуйте меня!", "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.html HTML
          

Лампа Zerynth

На платформе Zerynth (www.zerynth.com)
animation.py Python
 ########################################################################################## ################################# Лампа Zerynth ## Создано Zerynth Team 2015 CC # Авторы:Г. Балди , Д. Маццеи ############################################################################### ################################# Функции анимации лампы из neopixel import ledstrips как neoimport threadinglock =threading.Lock () # цвет Zerynth :) color =[0x54,0x9a, 0x97] anim =0anim_speed =50leds =Nonelayer0 =Nonelayer1 =Nonelayer2 =Nonenpins =0 Stop =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, 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 # заливка слоев их начальными значениями 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:для x в диапазоне (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 для x в диапазоне (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 или anim ==0) и не останавливаться:lock.acquire () layer2.setal l (int (цвет [0] * animation_coefficients [шаг] / 2), int (color [1] * animation_coefficients [шаг] / 2), int (color [2] * animation_coefficients [шаг] / 2)] lock.release () step + =1, если 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) # запустить поток потока фоновой анимации (animate_background, 500) # запустить поток потока анимации переднего плана (animate_foreground, 50) while True:# очистить светодиоды leds.clear () # теперь получаем блокировку lock.acquire () # объединяем первый и второй слои leds.merge (layer0) leds.m erge (layer1) # объединяем фоновый слой только там, где светодиоды прозрачны (0,0,0) leds.merge (layer2, neo.first_color) # снимаем блокировку lock.release () # и зажигаем! leds.on () sleep (50) def stop (r, g, b):глобальная остановка global stopcolor stopcolor [0] =r stopcolor [1] =g stopcolor [2] =b stop =True def resume ():global Остановлен остановлен =Ложь setup_anim (anim) 

Схема


Портативная температурная станция Создатель световой последовательности

Производственный процесс

  • Производственный процесс
  • 3D печать
  • Система управления автоматикой
  • Промышленные технологии
    1. Цепи и скорость света
    2. Газовый фонарь
    3. Лазерная указка
    4. Фонарик
    5. Галогенная лампа
    6. Сигнал трафика
    7. Лампочка
    8. Датчик температуры и освещенности Raspberry Pi
    9. Умный светофор
    10. Цифровой датчик освещенности
    • Датчик внешней освещенности с фоторезистором и светодиодной подсветкой!

      Компоненты и расходные материалы Arduino UNO Подойдет любая плата с аналоговым выводом, как минимум двумя цифровыми выводами и как минимум тремя заземлениями. × 1 Фоторезистор × 1 LED (общий) Два разных цвета. × 2

    • ЛИДАР Arduino

      Компоненты и расходные материалы Arduino UNO × 1 Датчик дальномера SparkFun ToF - VL6180 VL53L0X для большого диапазона и VL6180X для малого диапазона. здесь я использовал VL6180X × 1 серводвигатель × 1 Прило

    • Кормушка для домашних животных IoT

      Компоненты и расходные материалы Arduino UNO × 1 Датчик движения PIR (общий) × 1 Espressif ESP8266 ESP-01 × 1 Динамик:0,25 Вт, 8 Ом × 1 SparkFun Servo - Generic Metal Gear (Micr

    • Комплект светодиодной лампы:сборка комплекта светодиодной лампы

      Набор светодиодных ламп своими руками — идеальный проект для дома, будь то для дома или для изучения электроники. Эти комплекты светодиодных ламп являются экологически чистыми, энергоэффективными и помогают домовладельцам экономить деньги на счетах за электроэнергию. Благодаря этим характеристикам с

    язык

    • Классическое искусство
    • Личные финансы
    • German
    • French
    • Spanish
    • Portuguese
    • Chinese
    • Indonesian
    • Japanese
    • Korean
    • Netherlands
    • Russian
    logo
    Промышленное производство
    АВТОРСКОЕ ПРАВО © mfgrobots.com ВСЕ ПРАВА ЗАЩИЩЕНЫ