Tout ça n'est peut-être qu'un mauvais souvenir, maintenant que Robert Wessels et son équipe ont mis au point "Energia": une version modifiée de l'IDE Arduino permettant de programmer le Launchpad exactement comme on programme l'Arduino!
Comme vous pouvez le constater sur l'image ci-haut, l'interface utilisateur d'Energia est identique à celle d'Arduino: mêmes boutons dans le haut de la fenêtre pour uploader le sketch dans le microcontrôleur, ou pour accéder au "Serial Monitor", mêmes menus permettant d'ouvrir des exemples, de sélectionner le port série sur lequel est branché le Launchpad: on se sent vraiment en terrain connu! Seule différence visible: là ou Arduino prévilégie la couleur bleue, Energia utilise le rouge (ce qui est logique: le Launchpad est rouge, l'Arduino est bleu!).
Et le langage? Le même que pour programmer un Arduino! Nul besoin d'inclure une nébuleuse ligne de
code pour désactiver le chien de garde, inutile de se creuser la tête pour gérer les registres des entrées/sorties numériques au moyen de nombres hexadécimaux: on pilote le Lauchpad avec de simples
digitalRead, digitalWrite, etc. Le bonheur total!
De plus, le Launchpad exécute le sketch automatiquement suite au upload du sketch (alors que dans CCS, il faut initier une session de débogage et cliquer sur un bouton qui démarre l'exécution du sketch).
Comme premier test, j'ai choisi de refaire le code que j'ai fait il y a quelques jours dans Code
Composer Studio, pour lire la valeur analogique d'un potentiomètre (résultat ci-dessous). Le comportement du circuit est identique (les LEDs s'allument à mesure qu'on tourne le potentiomètre) mais le code me semble beaucoup plus facile à comprendre (et à rédiger!).
/*********************************************************
Sketch pour le Launchpad avec Energia.
5 LEDs (à P1.1, P1.2, P1.3, P1.4, p1.5) s'allument
en fonction de l'intensité du signal analogique transmis
par un potentiomètre (à P1.0)
*********************************************************/
int valeur; // état du potentiomètre
void setup() {
// Pins P1.1 à P1.5 sont en output (chacune pilote une LED)
pinMode(P1_1, OUTPUT);
pinMode(P1_2, OUTPUT);
pinMode(P1_3, OUTPUT);
pinMode(P1_4, OUTPUT);
pinMode(P1_5, OUTPUT);
}
void loop() {
valeur = analogRead(A0);
if (valeur < (0.15*1023))
{
digitalWrite(P1_1, LOW);
}
else
{
digitalWrite(P1_1, HIGH);
}
if (valeur < (0.30*1023))
{
digitalWrite(P1_2, LOW);
}
else
{
digitalWrite(P1_2, HIGH);
}
if (valeur < (0.45*1023))
{
digitalWrite(P1_3, LOW);
}
else
{
digitalWrite(P1_3, HIGH);
}
if (valeur < (0.6*1023))
{
digitalWrite(P1_4, LOW);
}
else
{
digitalWrite(P1_4, HIGH);
}
if (valeur < (0.75*1023))
{
digitalWrite(P1_5, LOW);
}
else
{
digitalWrite(P1_5, HIGH);
}
}
Pour la fonction "analogRead", il faut utiliser une numérotation différente: "A0" pour la pin 1.0, "A1" pour la pin 1.1, etc.
Mais attention: Energia est encore en développement. Certaines fonctions ne sont pas encore au point. Les fonction "tone" et "random" n'existent pas encore, et la fonction analogWrite (PWM) donne des résultats quelque peu déconcertants. Bien entendu, si votre sketch Arduino utilise une obscure bibliothèque inconnue du commun des mortels, il ne fonctionnera pas sur le Launchpad.
Malgré tout, Energia devient aujourd'hui même mon outil de développement numéro 1 pour le Launchpad! C'est le moment de sortir le champagne: il est maintenant possible de programmer de façon simple et amusante un Launchpad à $4.30!
Site officiel d'Energia
Yves Pelletier (Twitter: @ElectroAmateur)
peut-il y avoir des problème si on souhaite l'utiliser à nouveau comme un vrai launchpad?
RépondreSupprimerÇa demeure un vrai Launchpad, qui pourra sans problème être programmé avec Code Composer Studio, Code Composer Studio Cloud, Energia, etc.
Supprimer