Raspberry Pi: первое знакомство. Урок 4. Работа с GPIO, мигание светодиодом, Python
Продолжаем серию уроков-инструкций по Raspberry Pi: для начинающих.
Сегодня четвертый урок, на котором мы поработаем с портами GPIO, в частности помигаем светодиодом в разных режимах.
Урок ориентирован на начинающих пользователей и представлен в текстовом и видео-форматах.
Видео четвертого урока:
Также рекомендуем ознакомиться с:
Для урока нам понадобится:
- плата Raspberry Pi;
- кабель питания;
- USB-клавиатура;
- USB-мышь;
- монитор или телевизор с HDMI/RCA/DVI интерфейсом;
- кабель, один конец которого RCA или HDMI, а другой соответствует вашему монитору;
- SD-карта с уже установленной ОС Raspbian (как ее установить);
- светодиод;
- кнопка;
- резистор на 220 Ом
- 3 провода «мама-папа»
- 2 провода «папа-папа».
Программирование Raspberry Pi GPIO на языке Python
Для сегодняшнего урока мы выбрали язык программирования Python.
Python — современный объектно-ориентированный язык. Он наиболее часто используется для программирования GPIO на Raspberry Pi. Python входит в состав операционной системы Raspbian.
Сборка модели
Для работы нам потребуется собрать следующую схему:
Схема подключения светодиода и кнопки к Raspberry Pi
Обратите внимание, что порты GPIO на Raspberry Pi не подписаны, полезно иметь распечатанную распиновку.
Распиновка Raspberry Pi. Схема с ledgerlabs.us
Собранная модель со светодиодом и кнопкой
Управление светодиодом на Raspberry Pi из консоли
Заходим в LXTerminal и набираем:
После этого вместо имени пользователя в начале строки должно отобразиться >>>.
Вводим следующие строки:
import RPi.GPIO as GPIO #импорт библиотеки
GPIO.setmode(GPIO.BOARD) #»включение» GPIO
GPIO.setup(7, GPIO.OUT) #объявление 7-го пина как выход
Затем для включения светодиода можно использовать команду
GPIO.output(7, 1)
А для выключения
GPIO(output(7, 0)
После работы с GPIO желательно выполнить команду
GPIO.cleanup()
Программа для мигания светодиодом на Raspberry Pi
Для автономной работы светодиода нам потребуется написать и запустить программу. Для этого откроем предустановленную программу IDLE 3 и в меню File нажмем New. В открывшемся окне мы можем писать программу.
Напишем:
import RPi.GPIO as GPIO #импорт библиотеки для работы с GPIO
import time #импорт библиотеки для ожидания
GPIO.setmode(GPIO.BOARD) #»запуск» GPIO
GPIO.setup(7, GPIO.OUT) #объявление порта 7 как выход
while True: #бесконечный цикл
____GPIO.output(7, 1) #включение светодиода
____time.sleep(1) #ожидание 1 секунды
____GPIO.output(7, 0) #выключение светодиода
____time.sleep(1) #ожидание 1 секунды
Сохраним программу в папке /home/pi.
Теперь мы можем запустить программу из LXTerminal с помощью команды
sudo python programname.py
Управление светодиодом с помощью кнопки
Поуправляем светодиодом с помощью внешней кнопки: когда кнопка зажата — светодиод горит, когда отжата — не горит.
Для этого подключим кнопку к порту 5.
Для управления нам потребуется следующая программа:
import RPi.GPIO as GPIO #импорт библиотеки GPIO
GPIO.setmode(GPIO.BOARD) #»включение GPIO»
GPIO.setup(7, GPIO.OUT) #объявление порта 7 как выход
GPIO.setup(3, GPIO.IN) #объявление порта 3 как вход
while True: #бесконечный цикл
____if GPIO.input(3) == False: #если кнопка зажата
________GPIO.output(7, 1) #включаем светодиод
____else: #иначе
________GPIO.output(7, 0) #выключаем
Управление светодиодом с клавиатуры
Сделаем еще одну программу. Она будет менять состояние светодиода при получении пустой строки и заканчиваться при получении другой строки.
import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BOARD)
GPIO.setup(7, GPIO.OUT)
while True:
____str = input(«Enter — включение, другое — выход «);
____if str != «»:
________break
____else:
________GPIO.output(7, 1)
____str = input(«Enter — выключение, другое — выход «);
____if str != «»:
________break
____else:
________GPIO.output(7, 0)
GPIO.cleanup()
На этом четвертый урок по Raspberry Pi для начинающих закончен, продолжение следует!
Все уроки курса «Raspberry Pi: первое знакомство»
Где купить Raspberry Pi
Raspberry Pi и наборы с ней можно купить у официальных дилеров и их партнеров и в многочисленных интернет-магазинах. Наиболее привлекательные цены, постоянные спецпредложения и бесплатная доставка на сайтах китайских магазинов AliExpress и DealExtreme. Если нет времени ждать посылку из Китая — рекомендуем интернет-магазин Амперка.
Будьте аккуратны при выборе – в продаже имеются разные модели A, A+, B, B+, Raspberry Pi 2 и Raspberry Pi Zero.
Курс будет пополняться дополнительными уроками. Подпишитесь на нас ВКонтакте или Facebook, чтобы быть в курсе обновлений.
H [DIY для самых маленьких] Подключение светодиода к Raspberry Pi в черновиках Из песочницы
.collapse»>Содержание
Прелюдия
Хабр, здравствуй! Сегодня день радиотехника мы будем подключать светодиод к raspberry pi 3. Также я расскажу о том, как управлять малинкой через ssh. Все под кат!
Начало
- Raspberry pi(Можно любой, но у меня третья малинка)
Два провода мама-папа и один папа-папа
Макетная плата
Светодиод (любой)
Резистор
Подготовка
- Для начала вам понадобится установить операционку на raspberry. У меня будет raspbian.
- Далее, есть два пути.
У вас есть монитор
Нужно подключить raspberry к монитору с помощью hdmi — hdmi провода. Если ваш монитор не поддерживает hdmi, то нужно будет приобрести hdmi-vga конвертер. (200-300руб). После подключения питания к raspberry ждем 5-10 мин(при первой загрузке). Заходим в терминал и пишем
Далее вводим пароль от вашего raspberry(По дефалту «raspberry» без кавычек). Отныне монитор вам больше не понадобится.
У вас нет монитора
Для автономной настройки SSH можно включить, поместив файл с именем ssh без расширения в загрузочный раздел SD карты с другого компьютера. Когда Pi загружается, он ищет файл ssh. Если он найден, SSH будет включен, а файл — удален. Содержание файла не имеет значения; он может содержать текст или вообще ничего.
У вас будет два раздела. Первый, который является меньшим, является загрузочным разделом(boot). Поместите файл в этот.
Основное действие
Чтобы определить где у светодиода катод, а где анод, нужно сравнить длины его «палочек». Та которая длиннее-анод(+), короче-катод(-). Ток течет от плюса к минусу, следовательно, нужно подключить анод к 11 пину, а катод к 9 пину(земля — gnd).
Распиновка raspberry pi 3:
Вот так выглядит подключение проводов к raspberry pi:
Объяснять, как пользоваться макетной платой, и для чего она нужна, я не буду. Это легко гуглится.
Вот так подключаем резистор к макетной плате:
Подключение проводов к raspberry pi:
Соединимся с малинкой (это делается на компьютере):
Вместо RASPBERRY_PI_IP у вас должен быть написан ip вашего распберри.
У меня это вот так:
Итак, мы в малинке.
Немного кода
Создадим файл LED.c:
С помощью vim (или nano) вставляем туда следующий код:
Далее, компилируем наш файл:
Да будет свет!
Запустим наше Творение:
И вот, светодиод загорелся! пора покорять Кремниевую долину. Всем спасибо за просмотр статьи. Буду рад услышать ваши советы и вопросы в комментариях. Удачи!
Мигание светодиодом с помощью Raspberry Pi и программы на Python
Raspberry Pi является компьютером размером с кредитную карту, но одновременно с этим он содержит в своем составе универсальные контакты ввода/вывода (General Purpose Input Output, GPIO), к которым можно подключать различные датчики и периферийные устройства, что делает его отличной платформой для проектов встраиваемой электроники. Также он содержит процессор с архитектурой ARM, отличающийся высокой производительностью, и достаточно большой объем оперативной памяти, что позволяет использовать его даже в таких приложениях как обработка изображений. В настоящее время самым мощным микрокомпьютером этой серии является Raspberry Pi 4 с 8 Гб оперативной памяти, также доступный в версиях с 4 Гб и 2 Гб оперативной памяти.
В данной статье мы рассмотрим самую простую задачу, с которой обычно начинают изучение микроконтроллеров какого-либо типа – задачу мигания светодиодом. Также в данной статье мы рассмотрим основы программирования на Python для платы Raspberry Pi. Прежде чем приступать к реализации данной задачи, убедитесь в том, что вы подготовили аппаратное и программное обеспечение для работы с Raspberry Pi и настроили операционную систему для работы с ней.
Чтобы реализовать задачу мигания светодиодом на Raspberry Pi необходимо подключить светодиод к одному из ее контактов общего назначения (GPIO). В дальнейшем на нашем сайте мы рассмотрим такие аспекты работы с Raspberry Pi как подключение к ней кнопки, использование ШИМ, подключение электродвигателя постоянного тока и шагового двигателя и многие другие задачи.
Внешний вид и распиновка контактов ввода/вывода (GPIO) платы Raspberry Pi показаны на следующих рисунках.
Как показано на представленном рисунке, у платы Raspberry Pi имеется 40 контактов ввода/вывода. Но однако не все эти контакты доступны для программирования. На самом деле для программирования доступны только 26 контактов ввода/вывода (GPIO), которые обозначены на представленном рисунке с GPIO2 до GPIO27.
Эти контакты вы можете программировать по своему усмотрению. Некоторые из этих контактов могут также выполнять специальные функции (последовательный порт, интерфейсы SPI и I2С и т.д.). Если не учитывать контакты, которые могут выполнять специальные функции, то остается 17 программируемых контактов общего назначения, на следующем рисунке они обозначены кружками зеленого цвета.
Каждый из этих 17 контактов может выдерживать ток до 15mA, а суммарный ток от всех контактов ввода/вывода не должен превышать 50mA. Таким образом, если мы задействуем все эти 17 контактов, то в среднем на каждый контакт должен приходиться ток не более 3mA.
Необходимые компоненты
- Плата Raspberry Pi 2 Model B или другая аналогичная (купить на AliExpress).
- Резистор 220 Ом или 1 кОм (купить на AliExpress).
- Светодиод (купить на AliExpress).
- Макетная плата.
- Соединительные провода.
Схема проекта
Схема для мигания светодиодом с помощью Raspberry Pi представлена на следующем рисунке.
Как показано на схеме, мы подключили светодиод между контактами PIN40 (GPIO21) и PIN39 (GROUND). Поскольку, как мы уже рассмотрели ранее, через контакт нельзя пропускать ток более 15mA, то последовательно со светодиодом мы подключили резистор (сопротивлением 220 Ом или 1 кОм).
Написание программы
Данный пункт статьи написан для операционной системы Raspbian, сейчас для современной Raspberry Pi OS (теперь так называется Raspbian) представленные пункты могут немного отличаться по внешнему виду, но их смысл от этого не изменится.
1. Первым делом в меню платы Raspberry Pi (Start Menu) выберите Python 3 как показано на следующем рисунке.
2. После этого запустится Python и вы увидите окно, представленное на следующем рисунке.
3. Затем выберите New File (новый файл) в File Menu (меню для работы с файлами), после этого вы увидите как откроется новое окно.
4. Сохраните этот файл с именем blinky на рабочий стол.
5. После этого напишите код программы (он приведен в конце данной статьи) и запустите программу на выполнение нажав “RUN” в вкладке ‘DEBUG’.
Если в программе нет ошибок, то вы увидите символы “ >>> ”, которые будут обозначать что программа успешно выполнилась. Также вы должны увидеть после этого как светодиод в нашей схеме мигнет 3 раза. Если в программе есть ошибки, то появятся соответствующие сообщения о том, какие ошибки нужно исправить. После исправления ошибок снова запустите программу на выполнение.
Исходный код программы
Конечно, программа мигания светодиодом для платы Raspberry Pi получилась несколько сложнее чем, скажем, аналогичная программа для плата Arduino, но зато с помощью Raspberry Pi можно реализовать такие проекты, какие на Arduino выполнить невозможно. Но для этого сначала необходимо научиться делать базовые вещи, которые умеют делать все современные микроконтроллеры.