Описание:
В этом уроке мы напишем наш первый скрипт Python для Raspberry Pi.
Для этого мы воспользуемся рекомендованным редактором Thonny Python IDE, подключим светодиод к выводам основного назначения Raspberry Pi при помощи Trema+Expander Hat. Скрипт будет моргать светодиодом. Затем запустим наш скрипт и подключим второй светодиод, и будем моргать им независимо от первого, показав таким образом главное отличие Raspberry от Arduino - многозадачность.
Нам понадобится:
- Raspberry Pi
- Trema+Expander Hat
- Trema-модуль светодиод
- SD карта не менее 8 ГБ
- Периферия (Клавиатура, мышь, дисплей)
- Блок питания для Raspberry
Подключение:
Если Ваша Raspberry не настроена, Вы можете воспользоваться этой инструкцией.
Для удобства подключения мы воспользуемся Trema+Expander Hat.
Установим Trema+Expander Hat на Raspberry Pi (в данном случае это Raspberry Pi 3 model B, но процедура для других Raspberry схожая):
Далее проводами «мама-мама» подключим два светодиода к выводам 4 и 5 на Trema+Expander Hat:
Thonny Python IDE
Для написания скриптов мы будем использовать рекомендованный Raspberry Pi Foundation редактор Thonny Python IDE. Для запуска нажмём на кнопку меню в правом верхнем углу, затем Программирование->Thonny Python IDE:
Откроется редактор, можем приступать к написанию скриптов:
Скрипты:
Вводим следующий скрипт в окно редактора:
import RPi.GPIO as GPIO # подключаем модуль для работы с выводами gpio from time import sleep # подключаем метод ожидания из модуля времени # LEDPIN = 4 # объявляем переменную с номером вывода # к которому мы заранее подключили светодиод GPIO.setmode(GPIO.BCM) # устанавливаем режим нумерации выводов GPIO.setup(LEDPIN, GPIO.OUT) # устанавливаем вывод светодиода в режим выход # while True: # Входим в бесконечный цикл GPIO.output(LEDPIN, GPIO.HIGH) # Устанавливаем уровень логической "1" sleep(.5) # Ждём полсекунды GPIO.output(LEDPIN, GPIO.LOW) # Устанавливаем уровень логического "0" sleep(.5) # Ждём полсекунды
Нажимаем кнопку «Run»: нам предложат сохранить скрипт. Сохраним, например, в папку «Documents», назовём скрипт «blinky»:
После сохранения светодиод подключённый к выводу 4 начёт мигать раз в секунду.
Теперь нажмём кнопку «New» (большой зелёный плюс) в верхней панели редактора, таким образом создадим новый файл. Напишем в нём почти такой скрипт за исключением того, что вывод светодиода будет номером 5 и светодиод будет мигать раз в две секунды:
import RPi.GPIO as GPIO # подключаем модуль для работы с выводами gpio from time import sleep # подключаем метод ожидания из модуля времени # LEDPIN = 5 # объявляем переменную с номером вывода # к которому мы заранее подключили светодиод GPIO.setmode(GPIO.BCM) # устанавливаем режим нумерации выводов GPIO.setup(LEDPIN, GPIO.OUT) # устанавливаем вывод светодиода в режим выход # while True: # Входим в бесконечный цикл GPIO.output(LEDPIN, GPIO.HIGH) # Устанавливаем уровень логической "1" sleep(1) # Ждём секунду GPIO.output(LEDPIN, GPIO.LOW) # Устанавливаем уровень логического "0" sleep(1) # Ждём секунду
Нажимаем «Save», сохраняем скрипт под названием «blinky2», но не запускаем! Вместо кнопки «Run» нажимаем на клавиатуре «CTRL+T». Откроется новое окно терминала и скрипт запустится в нём. Второй светодиод начнёт мигать независимо от первого. Дело в том, что в редакторе Thonny выполняется одна инстанция Python, и для запуска нескольких скриптов одновременно ему необходимо вызвать ещё одну инстанцию Python извне. Завершить выполнение последнего скрипта можно закрытием вновь открывшегося окна.
Ссылки:
- Raspberry: установка и настройка
- Raspberry: настройка удалённой работы
- Wiki: Trema-модуль светодиод
- Trema+Expander Hat
- Raspberry Pi
Обсуждение