Meestal zijn Arduino bedoeld als 'zelfstandig' werkend projectjes met Drukknoppen, Leds, Display, etc. Tijdens het ontwikkelen en debuggen gebuiken we dan de IDE monitor functie. Maar wanneer het project met een echt device moet communiseren via RS232, RS485 of RS422, is enkel de USB interface niet meer toerijkend.
Voor RS485 en RS422 is het IC max485 in te zetten en voor RS232 de MAX232. Deze laatste heeft nogal wat extra componenten nodig ivm de onboard op te wekken plus en min 12v spanning. Er zijn kleine printjes van nog geen 1,5 vierkante Centimeter waar alles in SMD techniek op zit. Bij Alie zijn deze nog geen 25 cnt/stuk. Ideaal....
MAAR het zijn ook lastige componenten: De MAX IC's willen nogal eens spontaan een Latchdown krijgen als de RX pin (tijdens het opstarten?) zwevend is... De oplossing hiervoor is de voeding via een laagohmig weerstandje (bv. 100E) en een condensator (10uF) aan te bieden.
Ook kan de TX aan de TTL zijde in conflict komen met 'dubbel' gebruik van de betreffende io pin (als output) of de USB interface. Een diode tussen de Arduino (K) en de MAX232 (A) werkt prima.
Als in het project de seriele data BINAIR is, heb je in de testfase niet zo veel aan de IDE-monitor. Gelukkig kun je deze omzijlen door de USB interface aan te sturen met een TTY programmatje.
- Met stty -F /dev/ttyUSB0 speed 9600 wordt de baudrate en poort geselecteerd.
- Met echo -en '\0x00\x01\x02\x03\xFF' > /dev/ttyUSB0 wordt binaire data naar de Arduino verzonden.
- Met behulp van miniterm.py /dev/ttyUSB0 9600 kan de data komend van de Arduino zichtbaar gemaakt worden.