1. Livres & vidéos
  2. Arduino
  3. Arduino Uno Q
Extrait - Arduino Apprivoisez l'électronique et le codage avec les langages Arduino et MicroPython (4e édition)
Extraits du livre
Arduino Apprivoisez l'électronique et le codage avec les langages Arduino et MicroPython (4e édition) Revenir à la page d'achat du livre

Arduino Uno Q

Introduction

À peine trois semaines après l’achèvement de ce livre, Qualcomm annonce, lors d’une conférence de presse, avoir fait l’acquisition d’Arduino. Ils en profitent aussi pour nous présenter l’Arduino UNO Q (l’initiale de Qualcomm), la nouvelle carte issue de leur union.

Mais comme nous pouvions certainement nous y attendre, les conditions d’utilisations ont rapidement évolué. Qualcomm prévoit d’exploiter à son profit les données des utilisateurs et le travail de la communauté.

images/RelectLF01.png

Pensez-vous que Qualcomm vampirise Arduino ?

Devons-nous nous sentir trahis par ce changement de stratégie de la part d’Arduino ?

Peut-on encore considérer l’Arduino comme open source ?

Est-ce la mort de notre chère petite carte ou simplement une péripétie dans l’histoire déjà mouvementée de l’Arduino ?

À vous de vous renseigner et de vous faire une opinion sur la question...

Quoi qu’il en soit, ce nouvel Arduino Uno Q est vraiment très intéressant. L’auteur a donc tenu à rajouter ce chapitre (issu d’un article paru sur son blog : arduiblog.com) juste avant l’impression du livre. Il ne s’agit donc pas d’un contenu exclusif mais plutôt d’un chapitre "bonus".

Caractéristiques techniques

Tout en conservant les dimensions réduites de ce format (68,85 x 53,34 mm), l’Arduino Uno Q possède à la fois un microcontrôleur (comme tous les autres modèles d’Arduino) et un microprocesseur (comme les ordinateurs monocarte de type Raspberry Pi).

images/RelectLF02.png

L’Arduino Uno Q

1. Microcontrôleur

Le microcontrôleur (situé sous la carte) permet de gérer en temps réel les entrées/sorties, 2 des 4 LED RGB, la matrice de LED et le connecteur Qwiic (pour brancher les Modulino).

images/RelectLF03.png

Microcontrôleur STM32U585

Microcontrôleur

STMicroelectronics STM32U585

Fréquence

160 MHz

SRAM

786 Ko

FLASH

2 Mo

Entrées/sorties numériques

47 (22 Uno + 25 JMISC)

Entrées analogiques

6

Résolution des entrées analogiques

8, 10, 12 ou 14 bits

Sorties analogiques virtuelles (PWM)

6

Sortie analogique (DAC)

2

Tension (par défaut) des entrées/sorties

3,3 V

LED RGB (gérées par le microcontrôleur)

2

Matrice de LED

8×13 (LED bleues)

Connecteur QWIIC

1

2. Microprocesseur

L’Arduino Uno Q possède aussi un microprocesseur et un système d’exploitation Linux Debian (avec l’environnement de bureau Xfce). Vous pouvez donc modifier sa configuration, installer de nouveaux programmes, naviguer sur Internet et bien sûr communiquer directement avec le microcontrôleur. 

images/RelectLF04.png

Microprocesseur Qualcomm Dragonwing QRB2210

Microprocesseur

Qualcomm Dragonwing QRB2210 Quad-core Arm Cortex-A53

Fréquence

2.0 GHz

RAM

2 ou 4 Go (suivant le modèle)

Module de stockage eMMC

16 ou 32 Go (suivant...

Le successeur de l’Arduino Yún ?

L’idée d’ajouter un microprocesseur et un système d’exploitation Linux à une carte Arduino au format Uno n’est pas tout à fait nouvelle. L’Arduino Yún faisait déjà ça en 2013.

images/RelectLF12.png

L’Arduino Yún

Son microprocesseur Atheros AR9331 (400 MHz et 64 Mo de Ram) avec un système d’exploitation Linux (OpenWRT) utilisait aussi une bibliothèque nommée "Bridge" pour communiquer avec son microcontrôleur ATmega32U4 (le même que l’Arduino Leonardo) et il bénéficiait également d’une connexion Wi-Fi.

De plus, il possédait des éléments qui auraient pu être utiles sur l’Arduino Uno Q : un lecteur de carte microSD, une prise USB A (pour brancher par exemple une clé USB) et un port Ethernet.

L’Arduino Yún permettait d’expérimenter la création d’un petit serveur web ou d’échanger des données avec différentes plateformes (Twitter, Facebook, etc.).

Même s’il ne manquait pas d’atouts, il n’a pas séduit suffisamment d’utilisateurs. Le Raspberry Pi était plus performant, plus polyvalent, coûtait moins cher et possédait déjà une grosse communauté. De plus, sa gestion de la communication entre microprocesseur...

Ordinateur autonome

Le système d’exploitation Linux Debian permet d’utiliser l’Arduino Uno Q en tant qu’ordinateur autonome (la version avec 4 Go de RAM et 32 Go de stockage est recommandée pour cet usage).

Puisque tout passe par la prise USB-C, vous devez ajouter un adaptateur multiport qui vous permettra d’obtenir les sorties dont vous avez besoin pour brancher vos périphériques (HDMI, VGA, USB, lecteur de cartes SD ou micro SD, entrée ou sortie audio jack, Ethernet, etc.).

Bien sûr, le type nombre de ports varie suivant les modèles mais en général l’une des prises USB est réservée à l’alimentation. Repérez-la et branchez-y une alimentation (de type Raspberry Pi) de 5 V et d’au moins 3 A.

images/RelectLF13.png

Utilisation de l’Arduino Uno Q en tant qu’ordinateur

1. Configuration du système d’exploitation

Lors du premier démarrage, l’Arduino nous demande de choisir le mot de passe (nom d’utilisateur par défaut : "arduino").

Attention, il y a un petit piège : pour l’instant, le clavier est en QWERTY et il n’est pas possible à ce stade de le changer, donc pensez à inverser les "A" et les "Q", les "W" et les "Z", etc.

Nous arrivons ensuite sur le bureau, l’Arduino App Lab se lance automatiquement. la configuration s’effectue...

L’Arduino App Lab

C’est une autre nouveauté qui accompagne l’Arduino Uno Q. Voilà la description qu’en fait le site officiel d’Arduino : « Un environnement de travail qui permet de combiner des sketchs Arduino, des scripts Python et des applications Linux conteneurisées dans le même flux de travail ».

Vous pouvez bien sûr utiliser directement l’application App Lab sur l’Arduino Uno Q (en mode ordinateur autonome). Mais également l’installer sur un autre ordinateur en connectant la carte par USB (comme n’importe quel Arduino) ou Wi-Fi après l’avoir configuré en mode ordinateur autonome (pour l’instant, cela ne fonctionne pas par Ethernet).

 Téléchargez et installez l’Arduino App Lab que vous trouverez à l’adresse suivante : https://docs.arduino.cc/software/app-lab/

 Lancez l’application et attendez environ une trentaine de secondes que l’Arduino soit détecté en USB (et un petit peu plus en Wi-Fi).

images/RelectLF19.png

Connexion de l’Arduino Uno Q à l’ordinateur (USB ou Wi-Fi)

En Wi-Fi, le mot de passe de l’Arduino sera nécessaire (mais pas en USB). Vous arrivez ensuite sur l’écran d’accueil de l’Arduino App Lab.

images/RelectLF20.png

Écran d’accueil de l’Arduino App Lab

De nombreux exemples sont proposés. Ils montrent comment créer des applications composées :

  • d’un fichier Python exécuté par le Microprocesseur,

  • d’un sketch Arduino exécuté sur le microcontrôleur,

  • ou les deux à la fois qui communiquent ensemble (par le Routeur Bridge).

 Pour comprendre comment cela fonctionne, choisissez un programme simple comme Blink LED. Le fichier README regroupe les informations utiles.

L’état de la LED (allumée ou éteinte) est géré par un script Python qui envoie ensuite l’information au microcontrôleur de l’Arduino par le Routeur Bridge (le pont qui permet la communication entre le microprocesseur et le microcontrôleur).

images/RelectLF21.png

Le programme Blink LED

 Le code Python utilisé est accessible...

Flasher une nouvelle image

Après avoir testé de nombreuses modifications, vous pourriez avoir envie de réinstaller le système Linux origine (pour repartir sur nouvelles bases) ou peut-être de tester des images alternatives crées par la communauté.

Bien sûr, les données contenues dans la carte seront supprimées alors n’oubliez pas de les sauvegarder avant de flasher l’image.

 Allez à l’adresse suivante pour télécharger la dernière version de l’Arduino Flasher CLI : https://www.arduino.cc/en/software/#flasher-tool

images/RelectLF25.png

Téléchargement de l’Arduino Flasher CLI

 Décompressez le contenu du fichier zip dans un répertoire (de préférence à la racine de votre disque dur).

 Ouvrez le répertoire, sélectionnez-le (clic gauche à côté des icônes), maintenez ensuite la touche [CTRL] appuyée, faites un clic droit sur le fichier arduino-flasher-cli.exe et choisissez Ouvrir dans le Terminal.

 Tapez la commande suivante pour télécharger l’image du système Linux Debian pour Arduino Uno Q (bien sûr, appuyez ensuite sur la touche [Entrée]) :

./arduino-flasher-cli download latest 

 Reliez le connecteur USB_BOOT à la masse (GND) avec un câble ou un cavalier et branchez l’Arduino à l’ordinateur....

L’IDE Arduino

L’Arduino Uno Q également peut être programmé comme une carte Arduino classique.

 Ouvrez l’IDE Arduino (acceptez toutes les mises à jour qu’il vous propose) et reliez le câble USB de l’Arduino à l’ordinateur.

 Allez dans Outils - Carte et sélectionnez Arduino Uno Q (s’il n’est pas déjà sélectionné automatiquement).

 Si l’Arduino Uno Q n’est pas reconnu par l’IDE (attendez quand même une vingtaine de secondes), vous devez l’installer en cliquant sur l’icône représentant une carte Arduino dans la barre latérale (ou en allant dans Outils - Carte : - Gestionnaire de cartes...). Tapez "arduino Q" dans la barre de recherche, sélectionnez Arduino UNO Q Boards et cliquez sur Installer.

images/RelectLF29.png

Installation de la carte Arduino UNO Q

Une fois l’Arduino détecté, vous pouvez téléverser votre sketch. Voilà par exemple un code qui allume en rouge, vert, bleu et blanc la LED RGB n°4 avant de l’éteindre.

// Q_Blink_LED_4 
void setup() { 
   // Les 3 LED sont des sorties 
   pinMode(LED4_R, OUTPUT); 
   pinMode(LED4_G, OUTPUT); 
   pinMode(LED4_B, OUTPUT); 
   // Les 3 LED sont eteintes 
   extinction(); 
} ...