Maixduino : mise en oeuvre avec Arduino IDE

Salut.

Le kit Maixduino de Sipeed que nous avons présenté précédemment peut être utilisé avec un atelier de développement logiciel comme Arduino IDE. On pourra alors programmer avec le langage C/C++.

On installera dans un premier temps Arduino IDE. On suppose que l'on est sous Linux. La procédure d'installation est décrite dans ce document.

On récupère Arduino IDE pour Linux (ici pour la version 64 bits) à l'adresse : https://www.arduino.cc/en/Main/Software. A ce jour, il s'agit de la version 1.8.13.

On installe ensuite Arduino IDE (pour moi sous Fedora 64 bits) :

$ tar -xvJf arduino-1.8.13-linux64.tar.xz

On validera l'accès au port USB pour dialoguer avec le kit et on installera les paquetages Python nécessaires :

$ sudo usermod -a -G dialout $(whoami)
$ sudo dnf install python3 python3-pip
$ sudo pip3 install pyserial

On lancera ensuite Arduino IDE :

$ cd arduino-1.8.13
$ ./arduino

Il faudra ensuite configurer Arduino IDE et rajouter le profil des cartes Sipeed en allant dans le menu Fichier > Préférences.

On ajoutera dans le champ "URL de gestionnaire de cartes supplémentaires" l'adresse suivante : http://dl.sipeed.com/MAIX/Maixduino/package_Maixduino_k210_index.json.

Il faudra ensuite ajouter la carte Maixduino à Arduino IDE. Pour cela on va dans le menu Outils > Type de carte > Gestionnaire de carte. On filtrera pour choisir le kit Maixduino et on installera le support Maixduino (version 0.3.11 à ce jour).

Dans le menu Outils, on ajustera les paramètres suivants :

  • Type de carte : Sipeed Maixduino Board.
  • Port : /dev/ttyUSB0.
  • Programmateur : k-flash.

Tout est maintenant installé. On peut alors tester avec un croquis de base. On choisit le croquis Blink disponible sous Fichier > Exemples > 01.Basics.

Le code source du croquis Blink est le suivant (cela correspond en embarqué au célèbre "Hello World!") :

void setup() {
  pinMode(LED_BUILTIN, OUTPUT);
}

void loop() {
  digitalWrite(LED_BUILTIN, HIGH);  
  delay(500);                     
  digitalWrite(LED_BUILTIN, LOW);
  delay(500);
}

On cliquera sur le bouton Téléverser ou via le menu Croquis > Téléverser. Le croquis est compilé puis téléversé et programmé en mémoire Flash de la carte Maixduino.

Si tout va bien, la led  TX-K210 doit clignoter.

Cela correspond à la valeur 1 pour la constante LED_BUILTIN qui est définie dans le fichier ~/.arduino15/packages/Maixduino/hardware/k210/0.3.11/variants/sipeed_maixduino/pins_arduino.h. 

On peut aussi mettre en oeuvre une PWM pour jouer sur l'intensité de l'éclairage ce qui donne le croquis Blink2 suivant :

void setup() {
  pinMode(LED_BUILTIN, OUTPUT);
}

void setColor(int value) {
  analogWrite(LED_BUILTIN, 255-value);
}

void loop() {
  int i;
 
  for (i=0; i<256; i++) {
    setColor(i);
    delay(5);
  }
  delay(100);
  for (i=0; i<256; i++) {
    setColor(255-i);
    delay(5);
  }      
}

Le pinout de la carte Maixduino est disponible ici.

La documentation pour développer avec Arduino IDE est disponible ici. Cela reste en fait de la programmation traditionnelle sous Arduino.

++

Vus : 466
Publié par Eddy33 : 81