Le Raspberry Pi Zero, alternative à Arduino

Pendant que les créateurs de l'Arduino se battent pour la propriété du nom de marque, Broadcom révolutionne le domaine du micro-contrôleur avec le Pi Zero, une carte mère qui à les capacités d'un ordinateur, mais aussi 40 GPIO pour commander directement des appareils électroniques. Cela à un prix qui est le cinquième de celui de l'Arduino Uno!

Le Pi Zero a pourtant des capacités supérieures à celle d'un ordinateur de bureau de l'année 2000. Comme par example le Gateway Select 1000, un des premiers à être doté d'un processeur à 1 GHz...

Raspberry Pi Zero vs. Gateway Select 1000

Le zero ne sera probablement pas utilisé comme ordinateur de bureau mais plutôt comme contrôleur robotique ou pour la maison. Il est donc utile de le comparer aussi au produit le plus populaire dans le domaine, l'Arduino Uno.

Comparatif du Pi Zero et de l'Arduino Uno:

  Arduino Uno R3 Raspberry Pi Zero
Prix 25 € 5 €
Processeur ATmega328P Broadcom BCM2835
Fréquence 16 MHz 1 GHz (60 fois plus rapide)
Ports 14 digitaux, 6 analogiques 40 GPIO, tous digitaux
Mémoire 32 KO + 2 KB 512 MO (15000 fois plus)
USB 1 1 OTG + 1 alimentation
HDMI Non Oui
Dimensions 68.6 x 53.4 x 10.6 mm 65 x 30 x 5 mm
Voltage en entrée 7-12v 5v
Voltage en sortie 3.3v ou 5v 3.3v
Consommation 20-50 mA 60-500 mA.

Le Pi n'a pas de ports analogiques comme l'Uno mais on peut y connecter des composants analogiques dès lors qu'ils sont dotés d'une interface I2c ou SDI. On peut aussi ajouter une carte d'extension ADC (Analog to Digital Converter).

La consommation peut aussi être réduite comme on va l'expliquer ci-dessous.

Installer l'environnement

Commençons par l'installation du sytème d'exploitation, Raspbian ou un Linux IoT. Comme expliqué sur le site raspberry.org, on copie le système sur une carte SD et il est prêt à démarrer dès qu'on insère la carte SD dans le slot du zero.

On installera ensuite Node.js pour disposer d'un interpréteur JavaScript. Les 10 méga octets du package tiendront facilement dans les 512 MO de mémoire du Zero!

Si l'on veut utiliser le Zero comme contrôleur, la première chose à faire est de réduire la consommation, surtout s'il doit fonctionner avec une pile. Il est possible de la diviser par deux et la mettre au niveau de l'Arduino, en mode veille, en désactivant les composants inutiles pour un contrôleur: voyant lumineux, connecteur HDMI.

Désactivez le HDMI: dans /etc/rc.local, ajoutez cette ligne:

/usr/bin/tvservice -o

Le o pour off. On mettrait -p si on voulait l'activer.

Désactivez le voyant lumineux: dans /boot/config.txt ajoutez ces deux lignes:

dtparam=act_led_trigger=none
dtparam=act_led_activelow=on

Les extensions

Comme on le voit sur l'image ci-dessous, le zero dispose d'un slot SDXC, une sortie HDMI, deux USB micro-B OTG et les 40 GPIO. Pas de prise Ethernet, donc il faudra communiquer autrement avec l'appareil.

Raspberry Pi Zero

Vous aurez sans doute besoin des composants suivants pour relier le Zero au monde extérieur:

On s'inspirera du Kit de démarrage Arduino pour trouver les composants utiles aux expérimentations électroniques ou la liste des composants.

Ressources