Skriv ut

Arduinos kortdatorer skapades 2005 med tanken att fungera som användarvänlig hårdvaruplattform för artister, makers och hobbyister. Tiden flyger – Arduino närmar sig de tjugo.


Ladda ner artikeln här (länk, pdf).

Fler tekniska rapporter finns på etn.se/expert

Arduino hade en mer bare-metal, maskinnära, approach, än andra kortdatorer från den tiden, som gick på Linux. Det sparsamma kodgränssnittet mot hårdvaran var ett vinnande recept. Amatörer började kunna bygga elektroniska prylar som kunde inter­agera med sin fysiska omgivning.

En tidig produkt var Arduino Duemila­nove på Atmels åttabitare AVR, riktad mot studenter inom interaktionsdesign. Hård­varufunktionerna kompletterades med en välavvägd utvecklingsmiljö med stöd för tredjepartsbibliotek.

De tidiga Arduino-korten lämnade ett ­bestående arv. De väckte mångas intresse för både hårdvarudesign och kodning.

Intresset för att hacka elektronik hade minskat när persondatorrevolutionen kom – men Arduino vände den negativa trenden. De nyfikna upptäckte enkelheten. Med en handfull externa komponenter och några rader kod kunde lysdioder blinka och blommor vattnas automatiskt.

Sköldarna (shields, stapelbara plugins) ökade Arduinos attraktionskraft ytterligare. Kretsar och moduler från olika företag paketerades i Arduinosköldar. Det skapades tusentals, från enkla kort för prototyputveckling till accelerometrar och trådlösa moduler.

Korten och sköldarna var inledningsvis riktade mot makers och hobbyister. Ett stort erkännande kom när halvledartillverkare själva började utrusta sina utvecklingskort med Arduino-socklar.

Under årens lopp har Arduino lanserat drygt hundra varianter av sitt ursprungliga kort. Vissa är för specifika ändamål, som ­Lilypad, ett runt litet kort för integrering i e-textilier och bärbart. Några av de äldre korten har försvunnit ur sortimentet och ersatts med nya innovationer och trimmad funktionalitet.

Strategin med öppen källkod uppmuntrade tredjepart att utveckla egna kort baserade på formfaktorn Arduino Uno R3. Det ökade spridningen bland tillverkare och drev fram mycket innovation globalt. Det enda Arduino kräver är en dator och en produktidé. En ny generation entreprenörer trädde fram och inbyggnadsvärldens traditionella utvecklingscykler fick sig en törn.

Oavsett projekt finns någonstans ett passande Arduinokort. Portföljen är indelad i fyra kategorier: Classic, Nano, MKR och Mega i olika formfaktorer och med olika sköldar.

Arduino Classic
Här finns ett urval av de allra första Arduino-korten, några med uppdateringar och nya funktioner men med den legendariska användarvänligheten och designflexibiliteten bevarad.

Arduino UNO R3 (bild 1) baseras på Microchips åttabitare ATmega328p. Den har en välbalanserad blandning av analog och digital IO och tillräckligt med beräkningsresurser för ett brett spektrum av projekt. UNO har traditionellt varit det första Arduino-kort en innovatör kommit i kontakt med. Den har 14 digitala IO-ben (varav sex kan konfigureras som PWM-utgångar), sex analoga ingångar och en kristallklocka på 16 MHz. Den är förprogrammerad med en bootloader som gör det möjligt att programmera via en IDE (utvecklingsmiljö) som går att ladda hem gratis.

Ett färskt tillskott i UNO-familjen är R4 Wi-Fi (bild 2) med samma formfaktor och stiftplacering som R3. Den använder RA4M1, en Cortex-M4-mikrokontroller från Renesas och har 256 kB flash och 32 kB RAM. Wi-Fi och Bluetooth ger ett kraftfullt bidrag till användbarheten och levereras av en SoC från Espressif: ESP32-S3.

Ett exempel på en UNO-kompatibel sköld är Arduino 4 Relays Shield (bild 3). Den har fyra reläer som öppnar för Arduino att ­driva höga effekter. De är parallellkopplade vilket ger en maximal effekt på 60 W (30 V vid 2 A). UNO-kortet står för matningspänningen och drar högst 140 mA med alla fyra reläer påslagna.

Arduino Nano
Nanofamiljen består av tolv högt integrerade 45×18 mm-kort och är ideal för applikationer som kräver både litet fotavtryck och bred funktionalitet – som bärbart, robotar och elektronisk musik.

Ett av medlemmarna är Nano Every. Den är mycket mindre än sina kusiner i ­familjen UNO, men är den som har den kraftfullare styrkretsen, en Microchip ATMega4809 klockad till 20 MHz med 48 kB flashminne. Många Nanokort har sensorer (som miljösensorer, gestsensorer och digitala mikrofoner).

Kortet kan programmeras i MicroPython och stöder maskininlärning. På Nano 33 BLE Sense (bild 4) finns den trådlösa modulen u-blox NINA B306 för Bluetooth LE och Bluetooth 5. Den har en 9-axlig IMU (tröghetsmätare), miljösensorer (temperatur, fuktighet, tryck, omgivningsljus och färg) och en gestsensor.

Dess maskininlärningsplattform heter Edge Impulse. Den kan exempelvis användas i bärbara produkter som regerar på rörelse, eller för att implementera gest- och röstigenkänning.

Arduino MKR-familjen
Arduino MKR-familjen är en plattform för trådlös kommunikation via LPWAN-protokoll som LoRa, Sigfox och NB-IoT. Alla kort i MKR-familjen har samma formfaktor, 61,5×25 mm, och använder SAMD21 – en strömsnål Cortex M0 från Microchip.

Ett av korten är MKR NB 1500 (bild 5), avsett för smalbandig IoT över mobilnät via LTE Cat M1/NB1. Det är batteridrivet och idealt för applikationer i glesbygd med begränsad täckning.

MKR-familjen stöds av en rad sköldar och bärarkort för exempelvis GNSS, Ethernet, motorstyrning och RGB LED-matriser.

Arduino Pro för proffs
När ryktet om Arduinos tillförlitlighet och flexibilitet spritts var det bara en tidsfråga innan det började dyka upp produktionsfärdiga kort för industriella och kommersiella system. Arduino Pro-familjen betydde att sådana system kunde driftsättas snabbt. I Pro-sortimentet finns kodstöd för industriella anslutningar som äldre fältbuss- och Modbus-enheter. Det finns tre Arduino Pro-produktfamiljer – Portenta, Nicla och Opta – som stöds av olika sköldar och bärarkort

Arduino Portenta
Portenta är en familj högpresterande, industriklassade kort. Processorerna har asymmetriska dubbelkärnor som kan köra maskinnära realtid parallellt med högnivåkod för protokollstackar, maskininlärning och interpreterade språk som MicroPython och JavaScript.

I Portenta H7 (bild 6) samarbetar en Cortex-M7 på 480 MHz och en Cortex-M4 på 240 MHz via RPC (remote procedure calls) i en ST-processor. Kärnorna delar broderligt på periferienheterna och kan köra Arduinokod (”sketches”) i Mbed OS. Portenta H7 stöder TensorFlow Lite för maskininlärning på en av kärnorna vilket kan implementera datorseende. Chipet har även en GPU, Chrom-ART, som kan driva en extern bildskärm och har dedikerad kodning och avkodning av JPEG.

Den stöder simultan dual-mode AP/STA-WiFi i upp till 65 Mbps, liksom Bluetooth Classic och LE. Seriella buss- och nätverksgränssnitt som UART, SPI, I²C och Ethernet är tillgängliga via MKR-kontakten eller den nya 80-stiftskontakten Arduino Industrial.

Arduino Nicla
Den industriella strömsnåla familjen Nicla (bild 7) är Arduinos minsta kort – 22,86×22,86 mm. Niclakort använder sensorer av industriell kvalitet och används som en kompakt, batteridriven edge-plattform för maskininlärning.

Här finns Nicla Sense ME där M och E står för movement respektive environment – ­rörelse och miljö.

Det bygger på en Cortex M4-baserad Bluetooh-SoC på 64 MHz från Nordic Semiconductor (nRF52832). Sensorerna är från Bosch: BHI260AP är en självlärande smart sensor med integrerad accelerometer och gyroskop, BMP390 är en digital trycksensor, BMM150 är en geomagnetisk sensor och BME688 är en AI-förstärkt digital gas-, tryck-, temperatur- och fuktighetssensor.

Nicla Sense ME passar industriella tillämpningar som prediktivt underhåll och tillståndsövervakning.

Arduino Opta
Opta är en PLC (programmerbar styrenhet) som kan monteras på DIN-skena och är utformad för industri- och fastighetsautomation. Den finns i tre varianter, alla baserade på en assymmetrisk dubbelkärna (Cortex-M7 och -M4) från STMicoelectronics.

Opta har fyra reläer som växlar 2,3 kW vardera. Utöver Arduinos standard-IDE, kan den programmeras i Arduino PLC IDE som stöder de fem programspråken i automationsstandarden IEC 61131-3.

Via ett integrerat säkerhetselement kan Opta göra säkrade X.509-kompatibla OTA-uppdateringar av sin firmware.

Opta Wi-Fi PLC (bild 8) har Ethernet, RS485 i halvduplex och Wi-Fi/Bluetooth LE.

Arduino-plattformar för utveckling och anslutning

Det finns inget som är enklare att programmera än ett Arduinokort. Antingen använder du den nedladdningsbara IDE:n för Windows, Mac och Linux, eller så använder du Arduino Web Editor i webbläsaren. Ett Arduino-program, en så kallad sketch, är i grund och botten C-kod som använder kodbibliotek varav de grundläggande är inbyggda i Arduino IDE och övriga typiskt tillhandahålls av tredjepartstillverkare av sköldar.

Plattformen Arduino IoT Cloud (bild 9) är ett perfekt val för att ansluta och konfigurera enheter i grupp på ett säkrat sätt, och för att lagra, analysera och presentera deras sen­sordata, oavsett projekt – från IoT-styrd blomvattning till installationer i industriell skala.