- Požadavky
- Instalace PyFirmata v Arduinu pomocí Raspberry Pi
- Vysvětlení kódu
- Blednutí LED na Arduinu pomocí pyFirmata
Raspberry Pi a Arduino jsou sice dva různé hardware, pokud jde o jejich aplikace a strukturu, ale oba jsou považovány za dvě konkurenční otevřené hardwarové platformy. Oba mají velmi silnou komunitu a podporu. Dnes trochu změníme věci a ukážeme vám, jak můžeme obě výhody využít. Pokud máte desky Arduino i Raspberry pi, tento článek vám ukáže, jak používat Raspberry pi a Python k ovládání Arduina.
Budeme používat PyFirmata firmware dát příkazy k Arduino pomocí Raspberry Pi python skript. PyFirmata je v podstatě předem připravený balíček knihovny pythonového programu, který lze nainstalovat do Arduina, aby umožňoval sériovou komunikaci mezi skriptem python na jakémkoli počítači a Arduino. Tento balíček pythonu umožňuje přístup ke čtení a zápisu libovolného kolíku na Arduinu. Zde tedy spustíme program python na Arduinu pomocí Raspberry pi.
V tomto tutoriálu tedy využijeme výhody této knihovny a použijeme ji na naší desce Arduino k ovládání Arduina pomocí Raspberry Pi.
Požadavky
- Raspberry Pi s nainstalovaným Raspbian OS
- Arduino Uno nebo jakákoli jiná deska Arduino
- Kabel USB Arduino
- VEDENÝ
V tomto tutoriálu používám externí monitor pomocí kabelu HDMI pro připojení k Raspberry Pi. Pokud nemáte monitor, můžete se připojit k Raspberry pi pomocí notebooku nebo počítače pomocí klienta SSH (Putty) nebo serveru VNC. Pokud narazíte na potíže, postupujte podle našeho průvodce Začínáme s Raspberry Pi.
Instalace PyFirmata v Arduinu pomocí Raspberry Pi
Chcete-li nahrát firmware PyFirmata do Arduina, musíme nainstalovat Arduino IDE do Raspberry Pi. Při instalaci postupujte takto:
Krok 1: - Připojte Raspberry Pi k internetu. Otevřete příkazový terminál a zadejte následující příkaz a stiskněte klávesu Enter
sudo apt - get - y nainstalovat arduino python - sériový rtuť
Počkejte několik minut, bude to chvíli trvat. Tento příkaz nainstaluje IDE Arduino do vašeho Raspberry Pi.
Krok 2: - Nyní nainstalujeme soubory pyFirmata pomocí daného github:
git clone https://github.com/tino/pyFirmata
Potom spusťte následující příkaz:
cd pyFirmata sudo python setup.py install
Krok 3: - Nainstalovali jsme všechny požadované soubory a nastavení.
Nyní připojte desku Arduino k Raspberry Pi pomocí kabelu USB a spusťte Arduino IDE zadáním arduino v okně terminálu.
Krok 4: - Poté zadejte příkaz lsusb a zkontrolujte, zda je Arduino propojeno s vaší malinovou pi.
V Arduino IDE přejděte na nástroje a vyberte si desku a sériový port.
Krok 5: - Nahrajte firmware PyFirmata na Arduino kliknutím na Soubor -> Příklady -> Firmata -> Standardní Firmata a poté klikněte na tlačítko nahrát. Jak je ukázáno níže.
Úspěšně jsme nainstalovali firmware pyFirmata na desku Arduino. Nyní můžeme naše Arduino ovládat pomocí Raspberry Pi.
Pro demonstraci budeme blikat a vyblednout LED na Arduinu zápisem pythonových kódů do Raspberry Pi.
Vysvětlení kódu
Pro kódovací část byste si měli přečíst dokumentaci pyFirmata pro lepší pochopení. K napsání našeho kódu použijeme funkce pyFirmata. Dokumentaci pyFirmata najdete kliknutím na odkaz.
Pojďme tedy začít psát kód
Otevřete svůj oblíbený textový editor na Raspberry Pi a importujte knihovnu pyFirmata.
importovat pyfirmata
Definujte pin na Arduinu pro připojení LED
led_pin = 9
Nyní musíme pomocí funkce pyfirmata.Arduino () napsat název sériového portu, ke kterému je deska Arduino připojena, a poté vytvořit instanci přiřazením portu v proměnné desky .
board = pyfirmata.Arduino ("/ dev / ttyACM0") tisk "Kód běží"
Ve smyčce while proveďte LED pin HIGH a low pomocí funkce board.digital.write () a uveďte zpoždění pomocí funkce board.pass_time () .
while True: board.digital.write (0) board.pass_time (1) board.digital.write (1) board.pass_time (1)
Náš kód je připraven, uložte jej vložením přípony .py do názvu souboru.
Otevřete příkazový terminál a zadejte python blink.py pro spuštění kódu na desce Arduino. Ujistěte se, že je vaše deska Arduino připojena k vaší desce Raspberry Pi pomocí kabelu USB.
Nyní můžete na desce Arduino vidět blikající LED.
Na konci je uveden kompletní kód pro blikání LED pomocí pyFirmata.
Blednutí LED na Arduinu pomocí pyFirmata
Nyní napíšeme kód pro vyblednutí LED, abychom vás lépe seznámili s funkcemi pyFirmata. Tento kód je snadný jako předchozí. Budete muset použít dvě pro smyčky, jeden pro zvýšení jasu a druhý pro jas pokles.
V tomto kódu jsme definovali piny různými způsoby, jako je led = board.get_pin ('d: 9: p'), kde d znamená digitální pin . Toto je funkce knihovny pyFirmata. Další podrobnosti najdete v dokumentaci.
Na konci je uveden kompletní kód pro Fading LED pomocí pyFirmata.
Nyní můžete do svého systému přidat více senzorů a vylepšit ho, zkontrolovat naše další projekty Arduino a zkusit je vytvořit pomocí skriptu Raspberry pi a python.