• Sky
  • Blueberry
  • Slate
  • Blackcurrant
  • Watermelon
  • Strawberry
  • Orange
  • Banana
  • Apple
  • Emerald
  • Chocolate
  • Charcoal
Sign in to follow this  
Followers 0
  • entries
    10
  • comments
    2
  • views
    5,121

2.2 Светофор на светодиодах

Админ

673 views

В этом уроке мы создадим миниатюрный светофор при помощи LED-индикаторов и Omega. Мы также познакомимся с основами управления GPIO в Omega при помощи программ на языке Python. 

4.jpg

Уровень навыков: начинающий

Необходимое время: 10 минут

Мы будем работать с модулем Python Onion GPIO. Это самый востребованный модуль для любого проекта, где необходимо управление и взаимодействие с другими электросхемами! 
Полный код для проекта «Светофор для начинающих» можно найти на GitHub по этой ссылке

Что потребуется:

  • Onion Omega2 или Omega2+
  • Любая док-станция Onion, которая работает с GPIO: Expansion Dock, Power Dock, Arduino Dock 2, Breadboard Dock
  • 1 макетная плата
  • 3 светодиода (красный, желтый, зеленый)
  • 4 соединительных провода (папа-папа)
  • 3 резистора 200 Ом (примерно)

5.jpg

1. Подготовим все необходимое

Ваш Omega2 должен быть готов к работе. Выполните все действия из инструкции по подключению Omega2, чтобы подключиться к WiFi и обновить последнюю прошивку.  
Для этого проекта необходима работа с командной строкой (терминалом) Omega2.  Для того чтобы больше узнать о работе с командной строкой Omega2, прочитайте эту инструкцию

Соединяем LED

  1. Подключаем LED к макетной плате, при этом катод находится слева, а анод справа. Убедитесь, что красный провод расположен над желтым, а желтый над зеленым.
  2. Подключаем один конец резисторов 200 Ом к шине катодов, а другой конец — к минусовой шине слева на плате.
  3. Подключаем GPIO к LED следующим образом:
  • Красный к GPIO 2
  • Желтый к GPIO 1
  • Зеленый к GPIO 0

6.jpg

2. Устанавливаем Python

Устанавливаем Python, необходимый модуль Python и Git при помощи следующих команд: 

opkg update
opkg install python-light pyOnionGpio git git-http ca-bundle

Данные команды "подкачают" с сервера интерпретатор Python-ligt и другие необходимые пакеты.

3. Скачиваем код проекта 

Код для этого проекта можно найти на GitHub по этой ссылке. Используйте git, чтобы скачать код на свой Omega: перейдите в директорию /root и клонируйте репозиторий GitHub: 

cd /root
git clone https://github.com/OnionIoT/starter-traffic-light.git

Так как код проекта – это всего лишь один файл, то вы можете скачать код напрямую без установки и работы с git:

mkdir /root/starter-traffic-light
cd /root/starter-traffic-light
wget https://raw.githubusercontent.com/OnionIoT/starter-traffic-light/master/main.py

4. Запускаем проект

Введите директорию проекта и запустите файл main.py:

cd starter-traffic-light
python main.py

После этого, вы должны увидеть как меняются цвета!

Подробнее о коде

Мы используем модуль Python Onion GPIO для управления GPIO. Этот модуль наделяет объект удобными функциями, такими как setOutputDirection() и setValue(), что позволяет контролировать GPIO в Omega2 и сэкономить много времени на те задачи, которые остаются, что называется, за кадром.
Для того чтобы подробнее узнать, как работает GPIO, заглянем в файл main.py:

  • Во-первых, были созданы объекты OnionGpio и присвоены GPIO номера. Теперь мы видим три объекта OnionGpio, каждый контролирует один GPIO.
  • Затем, все три GPIO настроены на вывод, значение по умолчанию 0 или OFF. Это осуществляется за счет вызова функции setOutputDirection() для каждого из объектов OnionGpio.
  • После этого в любое время можно изменить значения GPIO, вызвав функцию setValue(). Функция setSignal() задает значение для всех трех GPIO, в зависимости от цвета, который будет показывать миниатюрный светофор.



0 Comments


There are no comments to display.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now