- Изисквания
- Инсталиране на PyFirmata в Arduino с помощта на Raspberry Pi
- Обяснение на кода
- Избледняващ светодиод на Arduino с помощта на pyFirmata
Въпреки че Raspberry Pi и Arduino са два различни хардуера по отношение на техните приложения и структура, но и двамата се считат за две конкурентни хардуерни платформи с отворен код. И двамата имат много силна общност и подкрепа. Днес леко ще променим нещата и ще ви покажем как можем да се възползваме и от двете. Ако имате едновременно Arduino и Raspberry pi дъски, тази статия ще ви покаже как да използвате Raspberry pi и Python за управление на Arduino.
Ще използваме фърмуера на PyFirmata, за да даваме команди на Arduino, използвайки скрипт за питон на 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
- LED
В този урок използвам външен монитор с помощта на 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 инсталиране на arduino python - сериен живачен
Изчакайте няколко минути, ще отнеме време. Тази команда ще инсталира Arduino IDE във вашия 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 е свързан с вашия малинов пи.
В Arduino IDE отидете на инструменти и изберете вашата платка и сериен порт.
Стъпка 5: - Качете фърмуера на PyFirmata на Arduino, като щракнете върху Файл -> Примери -> Firmata -> Стандартни Firmata и след това щракнете върху бутона за качване. Както е показано по-долу.
Успешно инсталирахме фърмуера на pyFirmata в платката Arduino. Сега можем да контролираме нашия Arduino с помощта на Raspberry Pi.
За демонстрация ще премигнем и ще избледним светодиод на Arduino, като напишем питон кодове в Raspberry Pi.
Обяснение на кода
За кодиране на част, трябва да прочетете документацията на pyFirmata за по-добро разбиране. Ще използваме функциите на pyFirmata, за да напишем нашия код. Можете да намерите документацията на pyFirmata, като следвате връзката.
Така че нека започнем да пишем кода
Отворете любимия си текстов редактор на Raspberry Pi и импортирайте библиотеката pyFirmata.
внос на пифирмата
Определете щифт на Arduino, за да свържете светодиода
led_pin = 9
Сега трябва да напишем име на сериен порт, към който е свързана платката Arduino, използвайки функцията pyfirmata.Arduino () и след това да направим екземпляр, като присвоим порт в променлива на борда .
board = pyfirmata.Arduino ("/ dev / ttyACM0") print "Кодът работи"
В цикъл while направете led pin HIGH и low с помощта на функцията 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 скрипт.