- Mga Kinakailangan
- Pag-install ng PyFirmata sa Arduino gamit ang Raspberry Pi
- Paliwanag sa Code
- Fading LED sa Arduino gamit ang pyFirmata
Kahit na ang Raspberry Pi at Arduino ay dalawang magkakaibang hardware sa mga tuntunin ng kanilang mga application at istraktura, ngunit pareho silang isinasaalang-alang bilang dalawang nakikipagkumpitensya na open source na mga platform ng hardware. Pareho silang may napakalakas na pamayanan at suporta. Ngayon ay bahagyang babaguhin namin ang mga bagay, at ipapakita namin sa iyo kung paano namin masasamantala ang pareho sa kanila. Kung mayroon kang parehong Arduino at Raspberry pi boards, ipapakita sa iyo ng artikulong ito kung paano gamitin ang Raspberry pi at Python upang makontrol ang Arduino.
Gagamitin namin ang PyFirmata firmware upang magbigay ng mga utos sa Arduino gamit ang Raspberry Pi python script. Ang PyFirmata ay karaniwang isang prebuilt library package ng python program na maaaring mai-install sa Arduino upang payagan ang serial komunikasyon sa pagitan ng isang python script sa anumang computer at isang Arduino. Ang python package na ito ay maaaring magbigay ng access upang mabasa at sumulat ng anumang pin sa Arduino. Kaya dito tatakbo ang python program sa Arduino gamit ang Raspberry pi.
Kaya sa tutorial na ito ay aming samantalahin ang library na ito at gagamitin ito sa aming board ng Arduino upang makontrol ang Arduino gamit ang Raspberry Pi.
Mga Kinakailangan
- Raspberry Pi na may naka-install na Raspbian OS dito
- Arduino Uno o anumang iba pang board ng Arduino
- Arduino USB cable
- LED
Sa tutorial na ito gumagamit ako ng Panlabas na Monitor na gumagamit ng HDMI cable upang kumonekta sa Raspberry Pi. Kung wala kang monitor, maaari mong gamitin ang SSH client (Putty) o VNC server upang kumonekta sa Raspberry pi gamit ang Laptop o computer. Kung nakakita ka ng anumang kahirapan pagkatapos sundin ang aming Pagtitig sa Patnubay ng Raspberry Pi.
Pag-install ng PyFirmata sa Arduino gamit ang Raspberry Pi
Upang mai-upload ang PyFirmata firmware sa Arduino, kailangan naming i-install ang Arduino IDE sa Raspberry Pi. Sundin ang mga hakbang na ito upang mai-install:
Hakbang 1: - Ikonekta ang Raspberry Pi sa internet. Buksan ang terminal ng utos at i-type ang sumusunod na utos at pindutin ang enter
sudo apt - get - y install arduino python - serial mercurial
Maghintay ng ilang minuto, magtatagal. Ang utos na ito ay mai-install ang Arduino IDE sa iyong Raspberry Pi.
Hakbang 2: - Ngayon, mag-i-install kami ng mga file na pyFirmata gamit ang ibinigay na github:
git clone https://github.com/tino/pyFirmata
Pagkatapos ay patakbuhin ang sumusunod na utos:
cd pyFirmata sudo python setup.py install
Hakbang 3: - Na-install namin ang lahat ng kinakailangang mga file at pag-setup.
Ngayon, ikonekta ang iyong Arduino board kasama ang Raspberry Pi gamit ang USB cable at ilunsad ang Arduino IDE sa pamamagitan ng pag-type ng arduino sa terminal window.
Hakbang 4: - Pagkatapos i-type ang lsusb utos upang suriin kung ang Arduino ay konektado sa iyong raspberry pi.
Sa Arduino IDE, Pumunta sa mga tool at piliin ang iyong board at Serial Port.
Hakbang 5: - I - upload ang PyFirmata firmware sa Arduino sa pamamagitan ng pag-click sa File -> Mga Halimbawa -> Firmata -> Karaniwang Firmata at pagkatapos ay i-click ang upload button. Tulad ng ipinakita sa ibaba.
Matagumpay naming na-install ang pyFirmata firmware sa Arduino board. Ngayon, makokontrol namin ang aming Arduino gamit ang Raspberry Pi.
Para sa pagpapakita ay magpapikit kami at magpapaputi ng isang LED sa Arduino sa pamamagitan ng pagsulat ng mga python code sa Raspberry Pi.
Paliwanag sa Code
Para sa bahagi ng pag-coding, dapat mong basahin ang dokumentasyon ng pyFirmata para sa mas mahusay na pag-unawa. Gagamitin namin ang mga pagpapaandar na pyFirmata upang isulat ang aming code. Maaari mong makita ang dokumentasyon ng pyFirmata sa pamamagitan ng pagsunod sa link.
Kaya't magsimula tayong magsulat ng code
Buksan ang iyong paboritong text editor sa Raspberry Pi at i- import ang pyFirmata library.
i-import ang pyfirmata
Tukuyin ang pin sa Arduino upang ikonekta ang LED
led_pin = 9
Ngayon, kailangan naming isulat ang pangalan ng serial port kung saan ang board ng Arduino ay konektado gamit ang pyfirmata.Arduino () function at pagkatapos ay gumawa ng isang halimbawa sa pamamagitan ng pagtatalaga ng port sa board variable.
board = pyfirmata.Arduino ("/ dev / ttyACM0") print "Code is running"
Sa habang loop, gumawa ng humantong pin TAAS at mababa gamit ang board.digital.write () function at bigyan pagkaantala gamit ang board.pass_time () function.
habang Totoo: board.digital.write (0) board.pass_time (1) board.digital.write (1) board.pass_time (1)
Handa na ang aming code, i-save ang code na ito sa pamamagitan ng paglalagay ng .py extension sa pangalan ng file.
Buksan ang terminal ng utos at i-type ang python blink.py upang patakbuhin ang code sa Arduino board. Tiyaking nakakonekta ang iyong board ng Arduino sa iyong board na Raspberry Pi gamit ang USB cable.
Ngayon, makikita mo ang Blinking LED sa Arduino board.
Ang kumpletong code para sa blinking LED gamit ang pyFirmata ay ibinibigay sa dulo.
Fading LED sa Arduino gamit ang pyFirmata
Ngayon, magsusulat kami ng code para sa pagkupas ng LED upang mas pamilyar ka sa mga pagpapaandar ng pyFirmata. Ang code na ito ay madali tulad ng nakaraang isa. Kailangan mong gumamit ng dalawa para sa mga loop, isa para sa pagtaas ng ningning at iba pa para sa pagbawas ng ningning.
Sa code na ito, tinukoy namin ang mga pin sa iba't ibang paraan tulad ng led = board.get_pin ('d: 9: p') kung saan ang d ay nangangahulugang digital pin . Ito ay pagpapaandar ng pyFirmata library. Basahin ang dokumentasyon para sa higit pang mga detalye.
Ang kumpletong code para sa Fading LED gamit ang pyFirmata ay ibinibigay sa dulo.
Ngayon, maaari kang magdagdag ng higit pang mga sensor sa iyong system at gawin itong mas cool, suriin ang aming iba pang mga proyekto ng Arduino at subukang buuin ang mga ito gamit ang Raspberry pi at python script.