Archivi tag: arm

Arduino UNO Q: guida introduttiva (caratteristiche, pinout, esempi)

Sono passati circa quattro mesi dall’acquisizione di Arduino da parte di Qualcomm e dall’arrivo sul mercato di Arduino UNO Q. In questo periodo diversi lettori mi hanno scritto chiedendomi una presentazione più approfondita della scheda e un primo tutorial d’uso.
Va detto che negli ultimi anni Arduino ha fatto un grande passo avanti sulla qualità della documentazione: sul sito ufficiale trovate già molte informazioni e riferimenti utili. Come faccio spesso, però, durante i miei test e soprattutto quando devo preparare materiali per la didattica, preferisco raccogliere, riorganizzare e riformulare i contenuti provenienti da Arduino.cc e dalla documentazione tecnica, così da trasformarli in un percorso più chiaro, progressivo e “a misura di studente”.

Il formato di Arduino UNO Q resta quello “storico” della famiglia UNO, quindi compatibile come ingombri e disposizione generale, ma l’hardware introduce funzionalità insolite per questa categoria di schede. L’elemento distintivo è la presenza di due mondi in uno: da un lato un microcontrollore, dall’altro un microcomputer capace di eseguire Linux. I due sottosistemi sono pensati per dialogare con facilità, aprendo scenari interessanti per progetti IoT e applicazioni più evolute.

Specifiche tecniche

Arduino UNO Q unisce un microcontrollore STM32U585 e un microcomputer Linux basato su Qualcomm Dragonwing QRB2210, mantenendo l’impronta e il layout tipico delle schede Arduino.

Qualcomm Dragonwing™ QRB2210:

  • CPU quad-core Arm® Cortex®-A53 fino a 2,0 GHz
  • GPU Adreno per accelerazione grafica 3D
  • Doppio ISP (13 MP + 13 MP oppure 25 MP) fino a 30 fps

MCU STM32U585 Arm® Cortex®-M33 a 32 bit:

  • Core Arm® Cortex®-M33 fino a 160 MHz
  • 2 MB di memoria Flash
  • 786 kB di SRAM
  • FPU (unità di calcolo in virgola mobile)

Programmare la scheda Arduino UNO Q

Dal punto di vista della programmazione, UNO Q può essere usata come un Arduino tradizionale per gestire i GPIO tramite Arduino IDE, oppure si può sfruttare Arduino App Lab per lavorare in modo integrato sia sul microcontrollore sia sul microcomputer.

La parte MCU si sviluppa in C/C++ (come su molte altre schede Arduino), mentre sulla parte Linux è possibile creare ed eseguire script e programmi in Python.

Anche se la programmazione “a doppio binario” è una delle novità più interessanti, nulla vieta di usare la scheda in modo più semplice: solo MCU (come un Arduino classico) oppure solo Linux (come una single-board computer in stile Raspberry Pi).

In pratica, i possibili approcci sono:

  • Arduino classico: utilizzo del solo MCU;
  • App Lab integrato: ambiente unico con sketch C/C++ (MCU) e programmi Python (Linux/MPU);
  • Linux standalone: uso della scheda come computer Linux, con accesso diretto (ad esempio via SSH) o con periferiche collegate.


Continua a leggere

Lego NXT: il ritorno

E’ da qualche tempo che non lavoro sul Lego NXT mindstorms, la mia concentrazione era rivolta esclusivamente ai ragazzi dalla terza superiore in su con cui svolgo un programma di automazione ed elettronica. Da qualche tempo mi sono trovato a dover mostrare a ragazzi di terza media e prima superiore come è possibile insegnare informatica con l’NXT e quindi ho costruito alcuni prototipi da mostrare e far costruire. Inoltre avendo uno studio “open” dove le scrivanie dei figli si intersecano con quella del padre inevitabilmente le richieste familiari  di far robotica aumentano. La più piccola di 10 anni ha incominciato a far ricerche su internet e fra i molti video trovati mi ha mostrato questa splendida mano robotica realizzata con Lego.
Per piccoli passi incomincerò con qualcosa di più semplice 🙂 divertendoci a far gironzolare per casa automi di ogni forma.