Оглавление:

Циклическое переключение светодиода RGB по цветовому спектру с помощью Raspberry Pi 2 и Scratch: 11 шагов
Циклическое переключение светодиода RGB по цветовому спектру с помощью Raspberry Pi 2 и Scratch: 11 шагов

Видео: Циклическое переключение светодиода RGB по цветовому спектру с помощью Raspberry Pi 2 и Scratch: 11 шагов

Видео: Циклическое переключение светодиода RGB по цветовому спектру с помощью Raspberry Pi 2 и Scratch: 11 шагов
Видео: 🚨 RGB светодиод и АРДУИНО: ПРОДВИНУТОЕ УПРАВЛЕНИЕ 2024, Ноябрь
Anonim
Прокрутите светодиод RGB по цветовому спектру, используя Raspberry Pi 2 и Scratch
Прокрутите светодиод RGB по цветовому спектру, используя Raspberry Pi 2 и Scratch

Примечания к обновлению, четверг, 25 февраля 2016 г.: Я улучшил программу Scratch и переработал свой инструктаж.

Привет, ребята, в этом проекте я хотел использовать Scratch для циклического переключения светодиода RGB по цветовому спектру.

Есть множество проектов, делающих это с Arduino, поэтому мне было любопытно посмотреть, смогу ли я получить достойный результат с Raspberry Pi.

Моя первая попытка сделать это руководство было не очень удачным, поэтому я провел немного больше исследований и думаю, что у меня есть что-то, что работает лучше. Когда я просматривал некоторые проекты Arduino, чтобы попытаться понять, где я ошибся в своей исходной программе, я наткнулся на абсолютно отличный скрипт Arduino, с которым я свяжу вас в конце. Мы с моим другом Эндрю весь день преобразовали его в Scratch. Мы сделали все, что в наших силах, и я надеюсь, что вы попробуете.

Этот проект является продолжением моих инструкций по изменению яркости светодиода с помощью кнопок и Scratch, которые вы можете найти здесь:

www.instructables.com/id/PWM-Based-LED-Cont…

Ссылка на оригинальный Arduino Sketch, на котором я основал свою программу Scratch:

www.arduino.cc/en/Tutorial/DimmingLEDs автор Клей Ширки

Шаг 1: Соберите все, что вам понадобится для этого проекта

Собираем вместе то, что вам понадобится для этого проекта
Собираем вместе то, что вам понадобится для этого проекта
Собираем вместе то, что вам понадобится для этого проекта
Собираем вместе то, что вам понадобится для этого проекта
Собираем вместе то, что вам понадобится для этого проекта
Собираем вместе то, что вам понадобится для этого проекта

Компоненты, которые вам понадобятся:

Raspberry Pi с операционной системой Raspian и подключением к Интернету

1 х макет

1 светодиод RGB (общий катод)

3 резистора по 330 Ом (оранжево-оранжево-коричневый)

4 x штекерные / женские макетные кабели

1 x штекерный / штекерный макетный кабель (или небольшой одножильный соединительный кабель, если он у вас есть)

Шаг 2: понимание того, что делают ножки на светодиодах RGB

Понимание того, что делают ножки на светодиодах RGB
Понимание того, что делают ножки на светодиодах RGB

Возьмите свой RGB-светодиод и посмотрите на ножки, вы заметите, что одна ножка длиннее всех остальных. Сориентируйте светодиод так, чтобы эта самая длинная ножка находилась слева.

Контакт 1 используется для того, чтобы светодиод светился КРАСНЫМ.

Контакт 2 - это контакт заземления

Контакт 3 заставляет светодиод светиться ЗЕЛЕНЫМ

Контакт 4 заставляет светодиод светиться СИНИМ

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

Шаг 3. Вставьте резисторы 330 Ом и перемычку заземления в макетную плату

Вставка резисторов 330 Ом и перемычки заземления в макетную плату
Вставка резисторов 330 Ом и перемычки заземления в макетную плату

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

Примечание: зачем нам три резистора на один светодиод?

Думайте о светодиодах RGB как о 3 разных светодиодах, объединенных в один. Если бы у нас было 3 отдельных светодиода в цепи, мы бы использовали резистор для каждого из них, и поэтому нам нужен резистор для каждой цветной ветви светодиода RGB.

Шаг 4: добавляем светодиод в нашу схему

Добавление светодиода в нашу схему
Добавление светодиода в нашу схему
Добавление светодиода в нашу схему
Добавление светодиода в нашу схему

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

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

Самая длинная ножка (ножка 2) должна совпадать с черным заземляющим кабелем.

Шаг 5: Присоединение кабелей к макетной плате Часть 1: Подключение заземления

Присоединение кабелей к макетной плате Часть 1: Подключение заземления
Присоединение кабелей к макетной плате Часть 1: Подключение заземления
Присоединение кабелей к макетной плате Часть 1: Подключение заземления
Присоединение кабелей к макетной плате Часть 1: Подключение заземления
Присоединение кабелей к макетной плате Часть 1: Подключение заземления
Присоединение кабелей к макетной плате Часть 1: Подключение заземления

Сначала подключим заземление Raspberry Pi к заземляющей ножке светодиода.

На моей схеме я подключил штекерный / женский кабель от контакта 6 на Raspberry GPIO к шине заземления макета, чтобы подключить заземляющую ножку светодиода к Raspberry Pi.

На справочной карте показано расположение контактов Raspberry Pi GPIO. 40-контактный разъем GPIO справа от изображения предназначен для Raspberry Pi 2, который я использую для этого проекта.

Шаг 6. Присоединение кабелей к макетной плате. Часть 2: Подключение ножки с красным светодиодом

Присоединение кабелей к макетной плате Часть 2: Подключение ножки красного светодиода
Присоединение кабелей к макетной плате Часть 2: Подключение ножки красного светодиода
Присоединение кабелей к макетной плате Часть 2: Подключение ножки красного светодиода
Присоединение кабелей к макетной плате Часть 2: Подключение ножки красного светодиода
Присоединение кабелей к макетной плате Часть 2: Подключение ножки красного светодиода
Присоединение кабелей к макетной плате Часть 2: Подключение ножки красного светодиода

Вставьте штекерный конец кабеля в отверстие чуть выше резистора слева и вставьте штекерный конец кабеля в GPIO17 (контакт 11) на Raspberry Pi.

Справочная карта для контактов GPIO поможет вам выбрать правильный контакт.

Шаг 7. Присоединение кабелей к макетной плате. Часть 3: Подключение ножки с зеленым светодиодом

Присоединение кабелей к макетной плате Часть 3: Подключение ножки зеленого светодиода
Присоединение кабелей к макетной плате Часть 3: Подключение ножки зеленого светодиода
Присоединение кабелей к макетной плате Часть 3: Подключение ножки зеленого светодиода
Присоединение кабелей к макетной плате Часть 3: Подключение ножки зеленого светодиода
Присоединение кабелей к макетной плате Часть 3: Подключение ножки зеленого светодиода
Присоединение кабелей к макетной плате Часть 3: Подключение ножки зеленого светодиода

Вставьте штекерный конец кабеля в отверстие чуть выше резистора посередине и вставьте гнездовой конец кабеля в GPIO18 (контакт 12) на Raspberry Pi.

Справочная карта для контактов GPIO поможет вам выбрать правильный контакт.

Шаг 8: Присоединение кабелей к макетной плате Часть 4: Подключение ножки синего светодиода

Присоединение кабелей к макетной плате Часть 4: Подключение ножки синего светодиода
Присоединение кабелей к макетной плате Часть 4: Подключение ножки синего светодиода
Присоединение кабелей к макетной плате Часть 4: Подключение ножки синего светодиода
Присоединение кабелей к макетной плате Часть 4: Подключение ножки синего светодиода
Присоединение кабелей к макетной плате Часть 4: Подключение ножки синего светодиода
Присоединение кабелей к макетной плате Часть 4: Подключение ножки синего светодиода
Присоединение кабелей к макетной плате Часть 4: Подключение ножки синего светодиода
Присоединение кабелей к макетной плате Часть 4: Подключение ножки синего светодиода

Вставьте штекерный конец кабеля в отверстие чуть выше резистора справа и вставьте гнездовой конец кабеля в GPIO27 (контакт 13) на Raspberry Pi.

Справочная карта для контактов GPIO поможет вам выбрать правильный контакт.

Шаг 9: Программирование с нуля: проверка схемы

Программирование с нуля: проверка схемы
Программирование с нуля: проверка схемы
Программирование с нуля: проверка схемы
Программирование с нуля: проверка схемы
Программирование с нуля: проверка схемы
Программирование с нуля: проверка схемы

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

Проверка светодиодов контролируется 3 парами клавиш

Управление A и Z КРАСНЫЙ, A включает красный цвет, Z выключает красный

S и X управляют ЗЕЛЕНЫМ, S включает зеленый цвет, X выключает зеленый

D и C управляют СИНИМ, D включает синий цвет, C выключает синий

Установка вывода на высокий уровень приводит к включению светодиода, установка на низкий уровень выключает светодиод.

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

Шаг 10: Программирование с нуля: что я хотел сделать со светодиодом RGB

Программирование с нуля: что я хотел сделать со светодиодом RGB
Программирование с нуля: что я хотел сделать со светодиодом RGB

Программирование на Scratch - приятный опыт. Он имеет интерфейс щелчка и перетаскивания и довольно интуитивно понятен. Хотя он был в первую очередь создан, чтобы познакомить детей с программированием, я на самом деле думаю, что это довольно полезная среда программирования, поскольку я думаю, что это показано в коде, который управляет светодиодом в моем проекте.

Итак, вот чего я хотел:

Изменение цвета будет происходить в три этапа:

На первом этапе мы начинаем с красного на максимуме, а зеленого и синего на очень маленьком уровне.

Затем мы начали уменьшать яркость красного на -1 и увеличивать яркость зеленого на 1.

Мы использовали счетчик циклов, чтобы ограничить количество таких случаев.

Когда счетчик цикла достиг 255, мы начали вторую фазу.

На втором этапе зеленый цвет будет максимальным, красный и синий - низким.

Мы уменьшаем яркость зеленого на -1, увеличивая яркость синего на 1.

Наш счетчик циклов для второй фазы был установлен на 509.

Как только он достигнет 509, мы начнем фазу 3.

На третьем этапе синий цвет имеет максимальную яркость, а зеленый и красный - низкий уровень.

Мы начинаем снижать яркость синего на -1, увеличивая яркость красного на 1.

Как только счетчик цикла достигнет 763, цикл начнется заново с фазы 1.

У нас есть три переменные redVal, greenVal и blueVal для хранения значений уровня яркости каждого цвета, и эти значения затем отправляются на правильные выводы GPIO для питания ножек светодиодов для установки значения яркости каждого цвета, что, в свою очередь, дает нам цветовой микс, который мы хотим.

И это моя попытка циклически перебрать цветовую гамму с помощью RGB-светодиода и Scratch.

Если у вас есть Arduino и вы запускаете скетч, который я связал, который вдохновил меня на написание версии Scratch, вы увидите, что цвет не мерцает совсем. Я не совсем уверен, почему версия Scratch так сильно мерцает. Я подозреваю, что Arduino лучше справляется с ШИМ, но если вы заметите в моем коде что-то, что нужно улучшить, я был бы очень благодарен, если бы вы нашли время рассказать мне.

Спасибо, что прочитали мои инструкции, и я надеюсь, что у вас отличный день!

Шаг 11: снимок экрана программы Scratch

Снимок экрана программы Scratch
Снимок экрана программы Scratch

Если вы хотите попробовать себя в программировании, вот внимательно посмотрите на макет.

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