Outils pour utilisateurs

Outils du site


issue85:arduino

Last month I reviewed the Arduino Starter Kit. From this month onwards, I’ll be documenting my trials and tribulations with the Arduino and its programming language. Sunfounder 37-in-1 I’ve also purchased the Sunfounder 37 sensor modules kit (via Amazon). It’s a great little kit for the money (albeit that some ‘sensors’ are just normal parts mounted on a little circuit board), but the documentation for it is almost non-existent. It doesn’t even describe the pinouts on them. You get a badly translated (pidgin English) PDF. Here’s an example from the start of the PDF: “Let us into a variety of interactive electronic world. . .”

Le mois dernier, j'ai examiné l'Arduino Starter Kit. À partir de ce mois-ci, je vais décrire mes tests et mes tribulations avec l'Arduino et son langage de programmation.

Sunfounder 37-en-1

J'ai aussi acheté le kit de modules capteurs Sunfounder 37 (via Amazon). C'est un beau petit kit pour le prix (bien que certains « capteurs » soient simplement des pièces ordinaires montées sur un petit circuit imprimé), mais la documentation du kit est quasi inexistante. Elle ne décrit même pas la disposition des connexions sur le circuit. Vous recevez un PDF mal traduit (du charabia). Voici un exemple tout au début du PDF : « Allons à l'intérieur d'une variété de monde électronique interactif … »

“With Arduino digital pin connected to terminal 12 can be, even on the USB data Throughout the test circuit is complete, DS18B20 test results we will use the serial port are displayed on the computer screen. We will test the compiled code downloaded to the board, open the serial port can know that we are What kind of temperatures in the Well, did not talk much, we first look at the test code bar” It pretty much gives the same code for every module. Basically, if the sensor is activated then illuminate the (onboard) LED on pin 13. So, some code. I’ve been through most of them and run the basic code (shown above) to show it going on/off: Onwards!

« Avec la connexion numérique d'Arduino connectée à la fiche 12 peut être, même sur la bande passante USB Le circuit de test est complet, les résultats de test DS18B20 nous utiliserons le port série sont affichés sur l'écran de l'ordinateur. Nous testerons le code compilé transféré au circuit, ouvrir le port série peut savoir que nous sommes quel sorte de température dans le puits, ne parle pas beaucoup, nous regardons en premier la barre de code de test » Ça donne à peu près le même code pour chaque module. Simplement, si le capteur est activé, la LED du point 13 (sur le circuit) s'allume. Donc, du code. J'ai lancé le code basique de chacun d'eux (montré au-dessus) pour voir la LED s'allumer et s'éteindre :

En avant !

What I’ve been doing is linking a couple together to practice coding. In this example I hooked up the avoidance sensor and a buzzer to light the pin 13 LED and buzz when I put my hand near the sensor. The red wire goes from + on the sensor to the live, yellow from Gnd to negative and the green wire goes from the S pin on the sensor to digital pin 3. The buzzer also goes to negative (yellow wire) with the green wire going to digital pin 2. The sensor has a fourth pin (with EN beside it) but I’ve no idea what it does. Although, I've no idea what the fourth pin on the avoidance sensor does. It's cryptically labeled with EN beside it. My code is shown below.

Ce que j'ai fait, c'est de relier une paire ensemble pour m’entraîner au codage. Dans cet exemple, j'ai relié le détecteur de présence et un vibreur pour éclairer la LED du contact 13 et le faire vibrer quand ma main approche le détecteur. Le fil rouge va du + sur le capteur au point haut de l'alimentation, le jaune de la masse au - et le fil vert va du contact S du capteur au point 3 du circuit micro-informatique. Le vibreur va aussi au - (fil jaune) et le fil vert à la borne 2 du circuit. Le capteur a un quatrième contact (avec EN sur le côté) mais je n'ai aucune idée de son usage.

Mon code est présenté ci-dessous.

Yes, the if statement does seem a bit backwards, but that’s the only way I could get the sensor to work properly. It took a good few hours of fiddling to get this far with no documentation, four badly labelled pins, two adjuster screws and an old fashioned jumper block! From what I can tell, the jumper block seems to make the sensor look behind itself rather than out in front as it’s shown in the photo (and in the code), with the two screws setting avoid distance and sensitivity. I think. As I always say: it’s all fun and games until it starts getting hard…

Oui, la condition if paraît un peu rétrograde, mais c'était la seule façon que j'ai trouvée pour faire fonctionner le capteur correctement. Il m'a fallu un bon petit paquet d'heures de tâtonnements pour aller aussi loin sans aucune documentation, 4 contacts mal étiquetés, 2 vis de réglage et une plaque à trous démodée avec des cavaliers ! Ce que je peux dire, c'est que la plaque à cavaliers semble rendre le détecteur sensible derrière lui plutôt que devant comme montré sur la photo (et dans le code) avec les 2 potards réglant la distance de détection et la sensibilité. Je crois. Comme je dis toujours : ce n'est que du plaisir jusqu'à ce que ça devienne difficile…

NOUVELLE BIO DE RONNIE : Ronnie is the founder and (still!) editor of Full Circle. He's a part-time arts and crafts sort of guy, and now an Arduino tinkerer.

Ronnie est le fondateur et (toujours !) le rédacteur en chef du Full Circle. C'est le genre de personne qui fait de l'artisanat de temps en temps ; actuellement, il bricole avec Arduino.

TABLEAUX

int Led=13; int Shock=3; int val;

void setup() {

pinMode(Led,OUTPUT);
pinMode(Shock,INPUT);

}

void loop() {

val=digitalRead(Shock);
if(val==HIGH)
{
	digitalWrite(Led,LOW);
}
else
{
	digitalWrite(Led,HIGH);
}

}

int Led = 13; initialisation de la LED int Avoid = 3; définition du contact du détecteur de proximité int Buzzer = 2; broche 2 pour le vibreur int val=0; initialisation d'une variable

void setup () {

pinMode (Led, OUTPUT);        // déclare la LED comme une sortie
pinMode (Avoid, INPUT);       // déclare une entrée pour le détecteur de proximité
pinMode (Buzzer, OUTPUT);     // déclare le vibreur comme une sortie

}

void loop () {

val = digitalRead(Avoid);        // lit l'état du détecteur et enregistre la valeur dans val
if (val == HIGH)                 // s'il n'y a RIEN à proximité du détecteur val prend la valeur high
{
	digitalWrite (Led, LOW);            // éteint la LED
	digitalWrite (Buzzer, LOW);         // arrête le vibreur
}
else
{
	digitalWrite (Led, HIGH);           // allume la LED
	digitalWrite (Buzzer, HIGH);        // déclenche le vibreur
}

}

issue85/arduino.txt · Dernière modification : 2014/11/28 12:35 de auntiee