Lancement du blog MECHS

Bonjour à tous !

Avec ce premier billet, je vais tenter de vous présenter un peu le blog MECHS et son intérêt. Je me présente, je suis Danny, je serai chargé de la rédaction d’articles sur nos produits, sur notre activité mais aussi sur l’univers Arduino, et pourquoi pas, tout ce qui me plaît, au final.

Pourquoi un blog ? Parce que l’univers Arduino (dont MECHS est finalement l’un des représentants) intéresse de nombreuses personnes : bricoleurs, passionnés, débutants et même professionnels, et que tous peuvent avoir besoin d’un petit plus. Nous n’espérons peut être pas réinventer la roue avec nos articles, mais en tout cas, pourquoi pas apporter quelques nouveautés à cet univers charmant et chaque jour grandissant. Sous le maître concept du prototypage, je lâcherai parfois ici quelques idées, astuces ou bidules

Quels sujets allons-nous ici aborder ? Bricolage ? Robotique ? Domotique ? Un peu de tout au final ! Pour nous, Arduino est avant-tout une plateforme conçue pour concevoir, et ce rapidement, pour laisser place à la créativité. C’est dans cette optique que nous allons évoluer, afin de sans cesse proposer des outils, et j’espère que ça fonctionnera… :)

Vous l’aurez peut être remarqué, vous pouvez poster des commentaires, et vous y êtes même invité. Libre à vous de demander de l’aide ou de me contredire, si si.

Ah oui… Prochainement, j’ajouterai d’autres articles pour « débuter avec Arduino ». Si ces astuces sont trouvables partout sur le net, il aurait été dommage, je pense, de s’en passer ici.

Capteurs et Arduino

Lire les valeurs retournées par vos capteurs avec votre Arduino est une base, et c’est ce que nous allons apprendre à faire ici.

Tout d’abord, qu’est-ce qu’un capteur ? Littéralement, c’est un composant électronique qui permet, une fois les informations qu’il renvoie, de mesurer une information : tension électrique, pression atmosphérique, luminosité, température, son, inclinaison… Il en existe de nombreux, sous des formes variables.

Sans entrer dans les détails (car sinon, la page wikipedia associée aux capteurs est une bonne source d’infos), vous trouverez des capteurs Analogiques (analog) et Numériques (digital). Les analogiques se connectent sur les pins « analog », les numériques sur les « digitaux » de votre Arduino.

Lire les données d’un capteur analogique

La fonction analogRead() a été faite pour lire les données renvoyées sur un pin analog.

Exemple, avec un Capteur de distance à Infrarouge :

int analogPin = 1;     // Votre capteur est connecté au pin analog 1
int valeur = 0;        // La variable dans laquelle nous stockerons les valeurs du capteur 

void setup()
{
  Serial.begin(9600);          //  Démarrage du "port série", pour pouvoir lire les données depuis la console
}

void loop()
{
  valeur = analogRead(analogPin);     // On lit les données transmises par le capteur
  Serial.println(valeur);             // On renvoit ces données à la console
}

Ici, le capteur nous renverra un signal analogique. L’interprétation de ces données dépendra la plupart du temps du type de capteur. Ici, avec un capteur SHARP GP2YOA21, plus la valeur est grande (exemple : 600), plus un objet se situe loin du capteur. A l’inverse, plus la valeur est petite, plus un objet sera proche (exemple : 200).

Lire les données d’un capteur numérique

Le comportement d’un capteur numérique est nettement différent de celui d’un capteur analogique. Alors qu’il se connecte sur un pin digital, le capteur numérique retourne une valeur binaire : HIGH et LOW. Ainsi, cette valeur s’interprètera selon le type de capteur utilisé.

Exemple avec un capteur d’inclinaison :

int ledPin = 13;                // On utilise une LED, pour faire office de voyant
int capteur = 3;                // On connecte le capteur d'incliaison sur le pin digital 3 (en plus de la terre)

void setup()
{
pinMode(ledPin, OUTPUT);      // Déclaration de la LED comme pin de sortie
pinMode(capteur, INPUT);      // Décalaration du capteur comme pin d'entrée
}
void loop()
{
if(digitalRead(capteur)==HIGH)   // Si le capteur est incliné, il renvoie HIGH
{
digitalWrite(ledPin, HIGH);   // Ainsi on allume la LED, pour signaler son déclenchement
}
else
{
digitalWrite(ledPin, LOW);   // Sinon, on éteint la LED
}
}

Ainsi, ces deux types de capteurs vous ont été présentés. Si bien sûr un monde obscur de technique se cache derrière les capteurs, cette présentation vous permettra je l’espère d’apprendre à utiliser la plupart de vos capteurs.

Improvisation d’une sonnette d’entrée

Le prototypage est partout ! C’est un peu ce qui fait la force de l’Arduino d’ailleurs : réaliser des montages rapidement avec un bricolage minimum. C’est en tout cas l’idée qui nous est venue chez MECHS après notre déménagement dans nos nouveaux locaux lorsque nous avons fait l’horrible constat : pas de sonnette !

Vendredi soir, une livraison attendue pour Lundi, pas le temps et encore moins le matériel sous la main pour installer une sonnette d’entrée, pire : un interphone… La réponse a été simple et n’aura pris qu’une heure à mettre en place : deux trois bricoles, un vieux carton ainsi qu’un feutre indélébile (ça, c’était pour la touche « bricolage »), et nous voilà avec un bon moyen de recevoir ses livreurs (qui ne manque pas, par ailleurs, de les faire sourire !).

Le matériel est simple :

- Une Arduino (dans notre cas, on aura pris une DFRduino Duemilanove)
- Un shield d’extension I/O
- Un capteur avec bouton poussoir
- Un buzzer
- Un kit de communication radio APC220
- Une boîte en carton (qui dit déménagement dit « cartons », y’a mieux comme packaging, j’avoue)
- Quatre piles AA
- Un étui à piles adapté

Le concept : un carton sur lequel on a greffé un joli bouton jaune. A l’intérieur, une Arduino qui émettra un « buzz » lorsque le bouton sera pressé tout en envoyant un signal à notre ordinateur (à 500 mètres et à l’intérieur). On aura pour l’occasion réalisé une application en C#, celle qui sert à émettre un son sur l’ordinateur pour prévenir de la pression du bouton. Après c’est au goût de chacun, Processing aurait pu faire l’affaire aussi ;p

Le résultat est moche et insolite, mais fonctionnel ! Et n’est-ce pas là l’important ? Pour l’heure, vu que le carton n’a rien d’imperméable, il est impératif de surveiller la météo. Une version améliorée (en bois ou en pâte polymère, histoire de rester dans la bricole ?) pourrait se voir greffée de capteurs photovoltaïques, afin de rendre l’animal plus autonome. Plus écolo encore, l’utilisation d’une autre Arduino (à la place de l’ordinateur), munie d’un module de lecture audio.

Ah, et en bonus, une archive ZIP avec le code C# et le PDE pour faire la même chose chez vous ! (carton non fourni). Le code est globalement fait, libre à vous d’adapter le code C# (chemin du fichier etc.).