- Требования
- Установка PyFirmata в Arduino с помощью Raspberry Pi
- Код Пояснение
- Затухание светодиода на Arduino с использованием pyFirmata
Хотя Raspberry Pi и Arduino - это два разных оборудования с точки зрения их приложений и структуры, но они оба рассматриваются как две конкурирующие аппаратные платформы с открытым исходным кодом. У них обоих очень сильное сообщество и поддержка. Сегодня мы немного изменим ситуацию и покажем вам, как мы можем воспользоваться ими обоими. Если у вас есть платы Arduino и Raspberry pi, эта статья покажет вам, как использовать Raspberry pi и Python для управления Arduino.
Мы будем использовать прошивку PyFirmata, чтобы давать команды Arduino с помощью скрипта Python Raspberry Pi. PyFirmata - это, в основном, предварительно созданный пакет библиотеки программы python, который можно установить в Arduino, чтобы обеспечить последовательную связь между сценарием python на любом компьютере и Arduino. Этот пакет python может предоставить доступ для чтения и записи любого вывода на Arduino. Итак, здесь мы запустим программу python на Arduino, используя Raspberry pi.
Итак, в этом руководстве мы воспользуемся преимуществами этой библиотеки и будем использовать ее на нашей плате Arduino для управления Arduino с помощью Raspberry Pi.
Требования
- Raspberry Pi с установленной в нем ОС Raspbian
- Arduino Uno или любая другая плата Arduino
- USB-кабель Arduino
- СВЕТОДИОД
В этом уроке я использую внешний монитор с помощью кабеля HDMI для подключения к Raspberry Pi. Если у вас нет монитора, вы можете использовать SSH-клиент (Putty) или VNC-сервер для подключения к Raspberry pi с помощью ноутбука или компьютера. Если вы обнаружите какие-либо трудности, следуйте нашему Руководству по началу работы с Raspberry Pi.
Установка PyFirmata в Arduino с помощью Raspberry Pi
Чтобы загрузить прошивку PyFirmata в Arduino, мы должны установить Arduino IDE в Raspberry Pi. Для установки выполните следующие действия:
Шаг 1: - Подключите Raspberry Pi к Интернету. Откройте командный терминал, введите следующую команду и нажмите Enter.
sudo apt - get - y install arduino python - serial mercurial
Подождите несколько минут, это займет время. Эта команда установит IDE Arduino на ваш Raspberry Pi.
Шаг 2: - Теперь мы установим файлы pyFirmata, используя данный github:
git clone https://github.com/tino/pyFirmata
Затем выполните следующую команду:
cd pyFirmata sudo python setup.py установить
Шаг 3: - Мы установили все необходимые файлы и настройки.
Теперь подключите плату Arduino к Raspberry Pi с помощью USB-кабеля и запустите Arduino IDE, набрав arduino в окне терминала.
Шаг 4: - Затем введите команду lsusb, чтобы проверить, подключен ли Arduino к вашему raspberry pi.
В Arduino IDE перейдите к инструментам и выберите свою плату и последовательный порт.
Шаг 5: - Загрузите прошивку PyFirmata на Arduino, щелкнув Файл -> Примеры -> Firmata -> Стандартные Firmata, а затем нажмите кнопку загрузки. Как показано ниже.
Мы успешно установили прошивку pyFirmata на плату Arduino. Теперь мы можем управлять нашим Arduino с помощью Raspberry Pi.
Для демонстрации мы будем мигать и гаснуть светодиод на Arduino, записывая коды Python в Raspberry Pi.
Код Пояснение
Что касается кодирования, вам следует прочитать документацию pyFirmata для лучшего понимания. Мы будем использовать функции pyFirmata для написания нашего кода. Вы можете найти документацию по pyFirmata, перейдя по ссылке.
Итак, приступим к написанию кода
Откройте свой любимый текстовый редактор на Raspberry Pi и импортируйте библиотеку pyFirmata.
импортировать pyfirmata
Определите контакт на Arduino для подключения светодиода
led_pin = 9
Теперь нам нужно написать имя последовательного порта, к которому подключена плата Arduino, с помощью функции pyfirmata.Arduino (), а затем создать экземпляр, назначив порт в переменной платы .
board = pyfirmata.Arduino ("/ dev / ttyACM0") print "Код выполняется"
В то время как петли, делают водить контактный высокой и низкой использованием board.digital.write () функцию и задержки с использованием поддавки board.pass_time () функцию.
while True: board.digital.write (0) board.pass_time (1) board.digital.write (1) board.pass_time (1))
Наш код готов, сохраните этот код, добавив к имени файла расширение .py .
Откройте командный терминал и введите python blink.py, чтобы запустить код на плате Arduino. Убедитесь, что ваша плата Arduino подключена к плате Raspberry Pi с помощью USB-кабеля.
Теперь вы можете увидеть мигающий светодиод на плате Arduino.
Полный код для мигания светодиода с использованием pyFirmata приведен в конце.
Затухание светодиода на Arduino с использованием pyFirmata
Теперь мы напишем код для затемнения светодиода, чтобы вы лучше познакомились с функциями pyFirmata. Этот код прост, как и предыдущий. Вы должны использовать два для петель, по одному для увеличения яркости и других для уменьшения яркости.
В этом коде мы определили контакты по-другому, например, led = board.get_pin ('d: 9: p'), где d означает цифровой контакт . Это функция библиотеки pyFirmata. Подробнее читайте в документации.
Полный код для Fading LED с использованием pyFirmata приведен в конце.
Теперь вы можете добавить больше датчиков в свою систему и сделать ее более крутой, проверить другие наши проекты Arduino и попробовать собрать их, используя Raspberry pi и скрипт python.