Fonctionnalités très appréciables dans l’IDE Arduino

Adieu l’équipe!

J’avais envie d’écrire un petit article pour saluer les évolutions de l’IDE Arduino.

Par rapports aux débuts, il y a eu à mes yeux deux avancées majeures: le gestionnaire de cartes et le gestionnaire de librairies.

Le gestionnaire de cartes

Aujourd’hui, l’IDE Arduino est utilisable avec de nombreux microcontrôleurs, par forcément Atmel.

Parmi les cartes notables que j’ai pu utiliser, il y a la Teensy 3.x et l’ESP8266.

Evidemment, le protocole d’upload des programmes vers l’un ou l’autre des microcontrôleurs est différent, et l’IDE doit savoir comment communiquer.

Pour cela, on a le menu Outils>Types de cartes, et on peut sélectionner la bonne. Mais quid des cartes non listées dans ce menu?

Et bien c’est pas compliqué.

Avant tout, il faut éventuellement ajouter la source du package pour obtenir le driver de cette carte, dans les préférences de l’IDE:

arduino-esp-preferences

Puis on va dans Outils>Types de cartes>Gestionnaire de cartes et nous avons à disposition une liste de cartes pour lesquelles on peut installer le driver, et paf! il n’y a plus qu’à la sélectionner dans le menu pour la programmer. Sympa! (bon, pas de pot, la Teensy n’apparait pas dans cette liste, il faut installer Teensyduino, un complément disponible sur le site du constructeur). Donc plutôt pratique le gestionnaire de cartes.

arduino-esp-boards

Le gestionnaire de librairies

Alors là c’est encore mieux! Tu as dégoté un nouveau composant et tu n’as pas le cœur à te farcir la datasheet pour comprendre comment discuter avec lui? Comme je te comprends… Prenons à tout hasard le DHT22, qui est un capteur de température/humidité assez répandu. Hé bien pas de prise de tête: on va dans Croquis>Inclure une bibliothèque>Gérer les bibliothèques. Une liste se charge, on tape DHT22 dans le filtre en haut, et paf! on tombe sur DHT sensor library by Adafruit.

arduino-dht22-librairy

Il n’y a plus qu’à cliquer sur le bouton installer, et on se trouve non seulement avec la librairie disponible, mais il y a aussi des exemples disponibles dans Fichier>Exemples! C’est-y pas beau, ça? Hein?

arduino-dht22-exemples

J’ai particulièrement apprécié cette fonctionnalité avec un capteur que j’avais acheté il y a quelque temps, et qui est une vraie merde à programmer: le MLX90614. C’est un thermomètre IR directionnel. Ça permet d’obtenir la température d’un objet sans contact. Mais alors pour communiquer avec, amuse toi si tu n’as que la datasheet sous la main… C’est un protocole I2C modifié, le truc bien relou. Hé bien l’autre jour j’ai tapé MLX dans le champ de recherche du gestionnaire de librairies, et j’ai eu le plaisir de pouvoir utiliser le capteur hyper simplement. Merci à Adafruit d’avoir écrit cette classe… Et d’ailleurs en regardant le code, c’est pas si long… Respect 🙂

Présentation du microcontrôleur Teensy

Mon Arduino Uno étant dorénavant dédiée à la graveuse laser CoreXY, j’ai cherché un autre microcontrôleur pour bricoler. Notamment pour piloter Ableton Live en MIDI.

Arduino Leonardo m’intéressait pas mal, car elle a la capacité de se faire passer pour un clavier, une souris, ou un périphérique HID quelconque.

Pendant mes recherches, je suis aussi tombé sur la Teensy 3.1. Certes, cette carte n’est pas open hardware, MAIS :

  • Prix similaire à la Leonardo (20$)
  • 256Ko de mémoire flash (32Ko sur la Leonardo)
  • 64Ko de RAM (2.5Ko sur la Leonardo)
  • 72MHz (16MHz sur Leonardo)
  • Des entrées capacitives (« touch »)
  • Une sortie analogique (pas PWM, j’ai bien dit analogique)
  • Une taille ridicule (CMB)
  • Support natif du MIDI par le port USB, sans avoir à installer de driver!
  • Et j’en passe.

Voici une cartographie de la bête:

https://www.pjrc.com/teensy/teensy31.html
Vue de dessus
Source : https://www.pjrc.com/teensy/teensy31.html
https://www.pjrc.com/teensy/teensy31.html
Vue de dessous

Pour la programmer, ça se passe avec une Arduino. On utilise un câble micro USB-B, et le même IDE. Il faut juste installer l’add-on Teensyduino pour pouvoir gérer cette carte.

Donc, avec tous ces avantages, j’ai craqué direct.

Comme je disais plus haut, cette carte a la possibilité d’envoyer des commandes MIDI par l’USB très simplement. Par exemple:

[code]

usbMIDI.sendNoteOn(note, velocity, channel) usbMIDI.sendNoteOff(note, velocity, channel) usbMIDI.sendControlChange(control, value, channel)

[/code]

Pour la liste complète des capacités MIDI de la Teensy, la doc est ici.

Pour une liste des numéros de notes MIDI, c’est par .

Bref, elle a tout ce dont j’ai besoin pour fabriquer un petit pédalier MIDI, qui me servira à sampler des boucles de basse en live!