|||

Expérimentation Avec Arduino

La semaine dernière, après la soirée passée au FabLab, où le très sympa et patient Fabrice Benoît m’a montré les possibilités1 offertes par les cartes programmables Arduino, j’ai craqué et je me suis commandé le Starter Kit.

Celui-ci comprend une carte Arduino Uno (l’une des plus basiques et versatiles) ainsi qu’une belle collection de composants (LEDs, potentiomètres, boutons, résistances, transistors, etc…), de capteurs (température, lumière, vibration…) et même quelque trucs plus exotiques (servomoteur, octocoupleur, afficheur alphanumérique…).

Et un livret comprenant une quinzaine de projets pour s’initier en douceur à la fois à l’électronique façon Arduino2 ainsi qu’à la programmation en C de la carte.

Ce week-end, donc, quand j’en avais marre de corriger les énormités dans le tapuscript de mon roman, je bricolais donc ma carte, suivant les projets petit-à-petit quand c’était possible3 jusqu’au moment où j’ai commencé à tenter de créer mes propres bricolages. C’est là qu’on voit les limites du starter kit, où il va vite arriver à manquer telle ou telle pièce (2 ou 3 autres servos, des capteurs, plus de ports digitaux sur la carte…) mais ça oblige du coup à réfléchir à l’ergonomie de son propre projet.

Mon premier projet «solo» a été un chenillard de 8 LEDs s’allumant en séquence. J’y ai ajouté quatre boutons permettant d’arrêter l’animation et d’allumer les paires de chaque couleurs.

Le suivant fut un peu plus utile (mouais…) : c’est un thermomètre digital. Il utilise l’afficheur alphanumérique. La sonde récupère l’information de température une fois par seconde, et l’affiche sur l’écran. Les LEDs s’allument selon un barème ; en dessous de 18°, la LED bleue est allumée («Fait frooooid !»), entre 18 et 35° c’est la verte («Tout va bien…») et au dessus de 35° c’est la rouqe («Je foooond !»)

Montage du prototypeMontage du prototype

Le montage utilise une thermosonde, trois LEDs de couleur (à votre goût), un potentiomètre (pour le contraste de l’afficheur), et trois diodes de 220 ohms. Et bien sûr l’afficheur alphanumérique. Et voici le code pour la carte :

#include 

// Thermomètre digital
// © v. NooT. C. - 12/2013

// Connections IN/OUT
const int sonde = A0;
const int lBleu = 7;
const int lVert = 8;
const int lRouge = 9;

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

void setup() {
  lcd.begin(16, 2);
  pinMode(lBleu, OUTPUT);
  pinMode(lVert, OUTPUT);
  pinMode(lRouge, OUTPUT);
}

void loop() {
  int valTemp = analogRead(sonde);
  float voltage = (valTemp /1024.0) *5.0;
  float temperature = (voltage -.5) *100.0;
  lcd.clear();
  lcd.print("Temperature :");
  lcd.setCursor(0, 1);
  lcd.print(temperature);
  lcd.print(" .c");

  if (temperature < 19) {
     digitalWrite(lBleu, HIGH);
     digitalWrite(lVert, LOW);
     digitalWrite(lRouge, LOW);
   }
   if (temperature >= 19 && temperature < 35) {
     digitalWrite(lBleu, LOW);
     digitalWrite(lVert, HIGH);
     digitalWrite(lRouge, LOW);
   }
   if (temperature >= 35) {
    digitalWrite(lBleu, LOW);
    digitalWrite(lVert, LOW);
    digitalWrite(lRouge, HIGH);
  }
  delay(1000);
}

Voilà. C’est pas grand-chose, ça va pas tirer très loin, mais j’espère que ce n’est qu’un début. J’ai maintenant en tête de faire des tests avec des servos (leur prix sont raisonnable) et je vais voir au Lab comment dessiner et préparer certaines pièces. Et à terme, je me dis que la réalisation d’un panneau comme je l’avais imaginé pourrait être possible…


  1. Enfin, une partie, par ce qu’en fait y’a pas vraiment de limites à ce qu’on peut faire avec.↩︎

  2. Pas besoin de connaissances spécifiques, juste un peu de jugeote et de logique suffisent.↩︎

  3. Il y a parfois des trucs un peu délicats ; par exemple le testeur d’inclinaison a des pattes trop courtes pour être branché directement sur la grille de test. De même, les picots de connexion livrés pour brancher par exemple le servo ont été mal moulés et ne me servent à rien en l’état…↩︎

Dans les épisodes précédents… Et De Trois Le Monde Du Sel, Tome 1 - Fin Des Corrections Et voilà. Je n’ai pas compté les jours, car c’est très inégal. Tantôt j’ai abattu de la page, tantôt je n’ai pas avancé. Mais c’est fait, je suis
Dernières entrées Le journal, vendredi 22 Le journal, jeudi 21 Comment faire renaître ce blog Writever — Septembre 2021 Le train de nuit Le petit vélo de Vincent Corlaix Writever — Août 2021 Mes conseils en écriture Writever — Juillet 2021 Mes Petits Rêves De Grandeur Enfuis Writever — Juin 2021 Writever — Mai 2021 20 Ans De Marmite & Micro-Ondes Writever — Avril 2021 Jordan of Persia Cher Olivier, on Se Connait Si Bien… Les Archives Reprennent Du Service ! Writever — Mars 2021 Une Petite Madeleine : Le Starbird À La Recherche De L’homme De Rapa Iti Les Aventures Incroyables D’un Tweet Ordinaire Writever — Février 2021 Writever — Janvier 2021 Un État Des Lieux De Mon Silence Writever — Janvier 2021 Voyage En Alchimérie Voyage En Alchimérie Voyage En Alchimérie Alchimérie C’est L’histoire D’un Ordinateur Belge… Mais, J’ai Failli Oublier De Vous Dire…