Utiliser un Arduino Uno R3 sous Linux

Utiliser un Arduino Uno R3 sous Linux

Alexandre P. dans Dev - Le 05-04-2024

Vous voulez prototyper quelque chose en électronique ? Vous voulez le faire sous Linux ? Super, c'est ici que ça se passe !

Coder sur un Arduino R3 Uno sous Linux

J'ai choisi ce Arduino car il faut bien l'avouer, il ne coute pas grand chose et permet tout de même de faire des projets. Une fois reçu, je n'ai pas pu m'empêcher de déballer le carton et de lancer un "Hello World" sur cette board.

Arduino R3 Uno.jpg

Mais ici on parle d'électronique, donc plutôt que d'afficher un Hello World, on va jouer avec une led. 😂

Petite info mais pas des moindres, je suis sous Ubuntu 22.

Télécharger le programme Arduino IDE pour Linux

Rendez-vous sur le site d' arduino .

Cliquez sur Softwares, vous devriez voir une section Downloads avec Arduino IDE.

Au moment où j'écris cet article, il s'agit de la version Arduino IDE 2.3.2, choisissez la version de Linux AppImage 64bits.

Lancement d'Arduino IDE sur Ubuntu

Une fois téléchargé, rendez-vous dans le dossier de téléchargement depuis un terminal. N'hésitez pas à rendre votre fichier exécutable via la commande:

chmod +x ./arduino-ide_2.3.2_Linux_64bit.AppImage

Connectez votre board via un cable USB type B, on peut maintenant lancer le programme:

./arduino-ide_2.3.2_Linux_64bit.AppImage

Un sample code pour pouvoir tester notre board

Le site arduino.cc regorge d'exemples que vous pouvez télécharger et tester à souhait.

On va prendre un sample très simple, dans la partie Hardware, si vous cliquez sur votre board (la mienne étant un Arduino R3 Uno), vous pourrez voir une liste d'exemples.

Je choisis Blink pour cet exemple, retrouvez le ici .

Bon allez, je vous le donne:

/*
  Blink

  Turns an LED on for one second, then off for one second, repeatedly.

  Most Arduinos have an on-board LED you can control. On the UNO, MEGA and ZERO
  it is attached to digital pin 13, on MKR1000 on pin 6. LED_BUILTIN is set to
  the correct LED pin independent of which board is used.
  If you want to know what pin the on-board LED is connected to on your Arduino
  model, check the Technical Specs of your board at:
  https://www.arduino.cc/en/Main/Products

  modified 8 May 2014
  by Scott Fitzgerald
  modified 2 Sep 2016
  by Arturo Guadalupi
  modified 8 Sep 2016
  by Colby Newman

  This example code is in the public domain.

  https://www.arduino.cc/en/Tutorial/BuiltInExamples/Blink
*/

// the setup function runs once when you press reset or power the board
void setup() {
  // initialize digital pin LED_BUILTIN as an output.
  pinMode(LED_BUILTIN, OUTPUT);
}

// the loop function runs over and over again forever
void loop() {
  digitalWrite(LED_BUILTIN, HIGH);  // turn the LED on (HIGH is the voltage level)
  delay(1000);                      // wait for a second
  digitalWrite(LED_BUILTIN, LOW);   // turn the LED off by making the voltage LOW
  delay(1000);                      // wait for a second
}

Vous le copiez/collez dans l'interface, sauvegardez le dans un fichier (j'ai choisis blink_sample.ino).

Et soyez sûr de bien choisir votre board dans la liste déroulante, comme ceci:

arduino_ide.png

Une fois que tout parait Ok, commencez par vérifier votre code en cliquant sur Verify:

arduino_ide_verify.gif

Un terminal s'ouvre en bas et vous donne un statut de votre code actuel, s'il occupe trop de mémoire ou non (je pense que ça devrait aller 😅)

Une fois que vous êtes prêt, cliquez sur Upload pour envoyer le code à votre board et observez la led orange scintiller. N'hésitez pas à réduire les delay dans le code pour vérifier que tout fonctionne bien.

Bien entendu, à chaque modification du code, vous devrez: Sauvegarder, Vérifier et Uploader de nouveau.

Si vous rencontrez un problème de droit à cette partie, il vous faudra peut-être entrer la commande suivante pour autoriser l'écriture sur la board:

chmod a+rw /dev/ttyACM0

Et voilà, vous avez fait un Hello "Blink" sur votre Arduino ! 🥳 🎉 Félicitations !

#arduino#c#prototyping#board

user picture
Alexandre P.

Développeur passionné depuis plus de 20 ans, j'ai une appétence particulière pour les défis techniques et changer de technologie ne me fait pas froid aux yeux.