Оглавление:

Светодиодная лента, управляемая веб-сайтом / Wi-Fi, с Raspberry Pi: 9 шагов (с изображениями)
Светодиодная лента, управляемая веб-сайтом / Wi-Fi, с Raspberry Pi: 9 шагов (с изображениями)

Видео: Светодиодная лента, управляемая веб-сайтом / Wi-Fi, с Raspberry Pi: 9 шагов (с изображениями)

Видео: Светодиодная лента, управляемая веб-сайтом / Wi-Fi, с Raspberry Pi: 9 шагов (с изображениями)
Видео: Светодиодный контроллер NodeMCU Kube — соображения по поводу длинных светодиодных лент 2024, Ноябрь
Anonim
Светодиодная лента, управляемая веб-сайтом / Wi-Fi, с Raspberry Pi
Светодиодная лента, управляемая веб-сайтом / Wi-Fi, с Raspberry Pi

Фон:

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

Недавно я работал над обновлением обстановки своего стола и решил, что хорошим дополнением будет некоторое освещение для настроения. Сначала я только что купил светодиодную ленту с питанием от батареи 5 В, управляемую с пульта дистанционного управления, но это был не очень приятный процесс, и у меня возникла идея. У меня было несколько запасных частей, и я пытался придумать, что делать с Raspberry Pi, который мне подарили на Рождество. Во время особенно скучного дня в научном классе я понял, что могу использовать контакты GPIO Raspberry Pi для управления светодиодными индикаторами, если они будут выводить значения RGB.

Мой первоначальный план дизайна заключался в том, чтобы управлять освещением с помощью сенсорного дисплея, установленного на стене или столе, но после некоторых изменений я решил, что проще всего будет управлять им с помощью другого устройства. Хотя я подумывал написать приложение для своего телефона на Java, небольшой веб-сайт казался гораздо более эффективным.

Этот проект открыт для многих улучшений, и хотя мои html + php отрывочны, они справляются со своей задачей

Темы:

Это руководство затронет следующие основные моменты:

  1. Управление GPIO на Raspberry Pi
  2. Размещение веб-сервера Apache на Pi
  3. Использование веб-сервера для управления светодиодной лентой RGB

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

  • 1 x Raspberry Pi (я использовал Pi 2 Model B)
  • Карта MicroSD
  • Что-то для питания вашего Pi (USB-кабель и адаптер переменного тока)
  • 1 USB-адаптер WiFi ИЛИ подключение к сети Ethernet
  • 1 x USB-последовательный кабель -
  • 1 разъем GPIO -
  • 1 небольшой макет -
  • USB на MicroSD -
  • Несколько цветов одножильного провода
  • Вложение
  • 3 транзистора типа NPN (я использовал транзисторы BC547b)
  • Светодиодная лента 1x 5V
  • Провода перемычки "мама-папа" -

Шаг 2: настройка среды Pi

Настройка среды Pi
Настройка среды Pi
Настройка среды Pi
Настройка среды Pi

Я использовал наклонную пластиковую коробку, чтобы закрыть проект, чтобы он не выделялся на моей полке. Я просверлил сбоку отверстие для последовательного USB-кабеля и расположил Pi рядом с макетной платой и Pi Wedge.

Шаг 3: настройка Pi (часть 1)

Настройка Pi (часть 1)
Настройка Pi (часть 1)

Для этого проекта я использовал последнюю версию не-десктопного Raspbian.

Руководство по установке Raspbian можно найти здесь:

(Для вашего компьютера может потребоваться переходник с USB на microSD)

После установки Raspbian на SD-карту вы можете приступить к подключению его к Raspberry Pi и подключить кабель Ethernet или USB-адаптер WiFi к Pi.

Затем установите Tera Term на свой компьютер, что позволит вам взаимодействовать с терминалом Raspberry Pi через ваш компьютер:

Затем подключите последовательный USB-кабель от Pi-клина к ПК. Доступ к нему можно получить через Tera Term. Убедитесь, что скорость передачи последовательного порта установлена на 115200.

Во-первых, Pi отправит запрос на вход, если ОС была правильно установлена.

Имя пользователя и пароль по умолчанию:

Имя пользователя: pi

Пароль: малина

Шаг 4: настройка Pi (часть 2)

Настройка Wi-Fi

В терминале запустите команду

Судо нано / и т. д. / сеть / интерфейсы

Затем вставьте этот код и замените SSID и PSK на имя и пароль вашего маршрутизатора.

авто лоу

iface lo inet loopback iface eth0 inet dhcp allow-hotplug wlan0 auto wlan0 iface wlan0 inet dhcp wpa-ssid "ssid" wpa-psk "password"

Этот файл позволяет Pi подключаться к вашему Wi-Fi.

Затем перезапустите Pi с линией

перезагрузка sudo

Установка веб-сервера

Войдите в систему, а затем установите сервер Apache с помощью

sudo apt-get install apache2 -y

а также

sudo apt-get install php libapache2-mod-php -y

Чтобы узнать IP-адрес вашего Pi, выполните команду

имя хоста -I

Используйте свой обзор для доступа к отображаемому IP-адресу, чтобы проверить, работает ли он.

Например, в Google Chrome я бы набрал 192.168.1.72 в адресную строку.

Документацию, которой вы должны следовать, можно найти по адресу

Также необходимо установить библиотеку PiGPIO, которая позволяет вам контролировать данные, отправляемые через контакты GPIO.

sudo apt-get install build-essential unzip wget

а также

wget https://abyz.me.uk/rpi/pigpio/pigpio.zip && unzip pigpio.zip && cd PIGPIO && sudo make install

Шаг 5: Написание кода

Перейдите в / var / www / html со строкой

cd / var / www / html

В каталоге будет html-файл по умолчанию, который вам нужно будет отредактировать.

sudo nano index.html

Внутри Nano удалите все, что уже есть, и замените его следующим кодом.

(Tera Term может быть немного напуган с копированием и вставкой, но обычно после того, как вы скопировали текст, alt + v должен выполнить эту работу)

функция readRGB (цвет) {если (цвет.length == 0) {document.getElementById ("txtHint"). innerHTML = ""; возвращение; } else {var xmlhttp = new XMLHttpRequest (); xmlhttp.onreadystatechange = function () {if (this.readyState == 4 && this.status == 400) {document.getElementById ("txtHint"). innerHTML = this.responseText; }}; temp = encodeURIComponent (цвет); xmlhttp.open ("ПОЛУЧИТЬ", "action_page.php? q =" + temp, true); xmlhttp.send (); }} Выберите цвет:

Затем сохраните его как main.html вместо index.html.

Приведенный выше код действует как кнопка, которую вы нажимаете, и как код, который отправляет выбранный вами цвет в другой файл.

Далее запускаем команду

судо нано

и вставить

$ r $ g $ b ;

exec ("свиньи п 17 $ г"); exec ("свиньи p 22 $ r"); exec ("свиньи p 22 $ b"); ?>

и сохраните его как action_page.php

Этот код получает значение RGB и устанавливает значения ШИМ на светодиодной ленте.

Шаг 6: Проектирование схемы

Схемотехника
Схемотехника

Теперь, когда все программное обеспечение настроено, пора приступить к работе с оборудованием.

Целью схемы является отправка сигналов ШИМ (широтно-импульсной модуляции) от Pi на светодиодную матрицу.

Светодиодная лента имеет четыре контакта: красный, зеленый, синий и питание (в моем случае 5 вольт).

Каждый вывод ШИМ управляет одним из трех цветов через транзистор, который действует как переключатель.

Каждый транзистор имеет три контакта: коллектор, базу и эмиттер.

Сигнал PWM контролирует рабочий цикл (как долго переключатель включается и выключается).

Рабочий цикл приводит к тому, что свет становится темнее или ярче.

Поскольку свет включается и выключается так быстро, люди воспринимают его как сплошной свет с разной яркостью.

ПРИМЕЧАНИЕ. На схеме символы светодиодов представляют массив светодиодов и токоограничивающие резисторы внутри провода.

Шаг 7: намазывать хлеб маслом… Доска

Намазывая хлеб маслом… Доска
Намазывая хлеб маслом… Доска

При подключении убедитесь, что Pi выключен.

Поместите клин Pi с одним рядом контактов на любую половину макета и подключите его к Pi с помощью ленточного кабеля. Я использовал провод с твердым сердечником, чтобы уменьшить беспорядок на макетной плате и убедиться, что ничто случайно не отключится.

Поместите транзисторы в верхнюю половину макета (столбец A) и подключите матрицу светодиодов в нижней половине (строки H, I или J).

Подключите отрицательную шину питания к контакту GND на клине, а положительную шину - к контакту 5V.

Подключите положительную шину питания к контакту блока питания светодиодной матрицы.

Для каждого транзистора подключите вывод эмиттера к отрицательной шине питания и подключите вывод коллектора к отдельным рядам, соответствующим выводам светодиодной матрицы (я использовал строку 1 как 5 В, а 2, 3 и 4 как зеленый, красный и синий, в столбце f). Затем подключите четыре перемычки «папа-мама» от макета к светодиодной ленте.

Наконец, подключите зеленый вывод базы транзистора к выводу 17 на клине, красную базу транзистора к выводу 22 и синюю базу транзистора к выводу 24.

Шаг 8: тестирование

Тестирование
Тестирование

В веб-браузере перейдите к IP-адресу Pi и после него напишите /main.html

Выберите цвет и поразитесь «чудесам современной техники»!

Шаг 9. Свяжитесь со мной, если у вас есть вопросы / отзывы

Если у вас есть какие-либо вопросы или предложения, не стесняйтесь оставлять комментарии или писать мне здесь, и я постараюсь ответить как можно скорее.

Удачи!

Рекомендуемые: