Raspberry Pi:Аппаратные средства/Распиновка GPIO/UART
Содержание | Введение | Продукты | Операционная система | Настройка | Основы Linux | Аппаратные средства | Неисправности | Типовые проблемы | Часто возникающие вопросы | Библиотеки | Примеры |
UART — Universal Asynchronous Receiver/Transmitter (т.е. «Универсальный асинхронный приемопередатчик»)
На Raspberry Pi имеется 2 UART-контакта — на 8-ом и 10-ом физических контактах. При помощи UART удобно, к примеру, взаимосоединять Raspberry Pi и Arduino (или ATmega, прошитую через бутлоадер). Но, создавая подобное соединение, нужно быть осторожнее с логическими уровнями, т.к. Pi питается от 3,3 вольт, а Arduino – от 5 вольт. Если просто соединить эти платы друг с другом, над ними может внезапно заклубиться волшебный синий дымок...
Лично я предпочитаю цепь c макетной платой (бридбордом), к которой подключена, во-первых, Arduino ATmega 328, прошитая через бутлоадер, и во-вторых, регулятор напряжения — благодаря ему ардуиновские 5 вольт трансформируются в 3,3 вольт для Raspberry Pi. Чипу Atmega достаточно 3,3-вольтового питания и кварцевого резонатора на 16 МГц, а Raspberry Pi, в свою очередь, превращается в клона Arduino, но с 3,3-вольтовой логикой.
Если библиотека WiringPi2-Python на вашей Pi уже установлена, то нижеследующий фрагмент кода ниже откроет UART-соединение (со скоростью 9600 бод) и покажет на устройстве вывода фразу «hello world!»:
import wiringpi2 as wiringpi
wiringpi.wiringPiSetup()
serial = wiringpi.serialOpen('/dev/ttyAMA0',9600)
wiringpi.serialPuts(serial,'hello world!')
- Использует два GPIO-контакта.