Pripojenie Arduina k Orange Pi Zero

Zápisník experimentátora

Hierarchy: Orange Pi

V predchádzajúcom článku o Orange Pi Zero sme si ukázali ovládanie GPIO pinov pomocou knižnice WiringOP. Na jednoduché činnosti vám táto knižnica poslúži dobre, ale pri komplikovanejších projektoch by ste sa potrápili, kým by ste všetko odladili. Ak máte k dispozícii Arduino, môžete ho pripojiť do USB portu a využívať jeho možnosti. Pre Arduino boli napísané knižnice pre každý integrovaný obvod, na ktorý si spomeniete. Ostáva vám preto iba vyriešenie jediného problému. Ako s Arduinom komunikovať.

Použité súčiastky

Budeme potrebovať tieto komponenty:

  • Arduino Uno - Môžete použiť ľubovoľné Arduino.
  • Orange Pi Zero (link) - Používam verziu s 512 MB RAM.
  • SD karta - Je potrebné používať SD kartu Class 10. Stačí vám veľkosť 8 - 16 GB. Na SD karte musí byť nainštalovaný operačný systém Armbian. Ja som použil verziu Armbian 5.31, Debian Jessie 3.4.113.
  • Zdroj s koncovkou micro USB - Doma určite budete mať nabíjačku pre mobilný telefón. Na napájanie Orange Pi Zero nepotrebujete kupovať špeciálnu. Len si treba skontrolovať, či je schopná dodať 1,5 - 2 A.
  • Ethernet kábel alebo Wi-Fi - Toto závisí od toho, ako ste si Orange Pi Zero nastavili. Pokiaľ vám neprekáža, že musí byť pripojené k routeru cez Ethernet kábel, je to najjednoduchší spôsob. Ak ste si nastavili Wi-Fi, môžete mať svoje Orange Pi Zero umiestnené kdekoľvek v byte.

Na obrázku vidíte v ľavom dolnom rohu USB port. Do neho pripojte ľubovoľné Arduino. Arduino sa automaticky objaví v zozname sériových portov. Môžete si to overiť príkazom ls /dev/ttyA*. Ak máte v Arduine program, ktorý komunikuje po sériovom porte, môžete si overiť, či Arduino niečo posiela pomocou príkazu cat /dev/ttyACM0. Ak máte všetko dobre zapojené, mali by ste vidieť to isté, čo je na nasledujúcom obrázku.

Node.js

Na ďalšiu komunikáciu s Arduinom budeme využívať Node.js. Všetky potrebné informácie o využívaní Node.js na Orange Pi Zero sme si vysvetlili v predchádzajúcich článkoch.

Inštalácia

Využijeme zdrojové kódy, ktoré som napísal k predchádzajúcim článkom. Najprv si z GitHub naklonujte adresár arduinoslovakia príkazom git clone https://github.com/roboulbricht/arduinoslovakia.

Potom sa presuňte príkazom cd arduinoslovakia/node.js/arduinoserialtest2/node do adresára so zdrojovým kódom pre Node.js a nainštalujte balíčky príkazom npm install. Pre ARM platformu síce balíčky nie sú pripravené, ale Orange Pi Zero si ich skompiluje priamo zo zdrojových textov balíčka serialport.

Potom môžete otestovať zoznam sériových portov príkazom node list.js. Naše Arduino sa objaví na porte /dev/ttyACM0. Okrem tohoto portu vidíte aj ďalšie tri porty, ale tie nás teraz nezaujímajú. Tieto porty sú vyvedené na 26-kolíkovú lištu.

Napokon príkazom node index.js spustite program, ktorý vám ponúkne na výber sériový port a potom bude vypisovať na konzolu obsah, ktorý odosiela Arduino.

Môžete si napísať vlastný program pre Arduino aj Node.js, pomocou ktorého budete Arduino ovládať. Môj príklad pre Node.js bol len nevizuálny, ale rovnako dobre môžete v Node.js napísať webserver, cez ktorý budete ovládať Arduino a Orange Pi Zero cez svoj prehliadač Internetu. Tento návod bol napísaný pre Orange Pi Zero, ale rovnako dobre bude fungovať na každom modeli Orange Pi.

Zdrojové kódy

Zdrojové kódy sa nachádzajú na serveri GitHub.


20.10.2017


Menu