Arduino: Exemple d’une collecte de données qui va déclencher une action

Les objets connectés, c’est bien, c’est très bien… mais on manque encore d’exemples concrets utiles. Jusqu’à présent, les rares exemples que j’ai pu présenter sur ce site étaient uniquement basés sur la collecte de données pour un envoi dans une solution tierce. C’est joli sur le papier, joli dans les stats, mais derrière le problème de fond reste le même… la situation ne bouge page. L’idée est donc d’associer une action tout comme le ferait un web analyste en regardant les performances de son site internet, par exemple: si le nombre de pages 404 est supérieure à un certain nombre alors je décroche mon téléphone et j’appelle mon développeur. Dans cet article mon objectif va être de réaliser un objet connecté qui réagira lorsqu’une personne fera plus d’1 mètre 70. On peut imaginer l’utilité d’un tel objet lorsqu’une entreprise recherche un panel de candidats et ne souhaite pas mesurer la taille de chacun ou leur demander individuellement cette information. Certes l’exemple n’est pas forcément pertinent mais permettra aux débutants de pouvoir aborder l’utilisation des objets connectés avec sérénité.

Deux composants majeurs: ultrason et buzzer

Afin de pouvoir réaliser cet objet, nous allons avoir besoin du capteur ultrason que nous avons déjà eu l’occasion de découvrir dans un précédent article et également d’un buzzer. Ce dernier va avoir simplement pour effet d’interpeller les individus, à la fois l’entreprise qui recherche le candidat qui fait plus d’un mètre 70 mais également le candidat ciblé. Certes on peut imaginer un système bien plus complexe avec un envoi de sms, de mail etc… mais le but de ce tutoriel est de montrer quelque chose de simple.

Mise en place du code

Comme vous avez pu le lire précédemment, je ne suis pas développeur, je vais donc m’appuyer sur le programme Ardublock pour coder la séquence que l’on souhaite obtenir.

Notre séquence:

Le capteur ultrason fonctionne en continue et est placé à 2 mètre 06 de hauteur. Si un obstacle est rencontré  par le capteur et que celui-ci est inférieur à une certaine distance ALORS le buzzer s’active pendant un certain laps de temps.

Concernant le code à produire pour faire fonctionner le capteur ultrason, le voici:

ardublock

 

Comme vous pouvez le constater ci-dessus, nous avons choisi ici d’avoir pour variable “cm” qui est donc la valeur qui stocke la distance renvoyé par le capteur. Celui ci renvoyant la valeur via le port usb toutes les 1000 millisecondes.

Nous allons maintenant nous débrouiller pour faire réagir le système lorsque cm atteindra une valeur critique. Dans notre cas de figure, nous allons placer notre capteur ultrason à 2 mètres 06 de hauteur car c’est la hauteur des portes de mon appartement. Nous cherchons à obtenir tous les individus qui font plus d’un mètre 70. Un calcul savant de type 206-170=36 nous fait donc réaliser que si le capteur enregistre une valeur inférieur à 36 alors nous avons un candidat et que le buzzer peut se mettre en route pour 2 secondes.

Du coup nous allons avoir un schéma modifié qui va ressembler à:

buzz-si-grand

 

Du coup chaque personne qui passera votre pas de porte et fera plus de 1 mètre 70 entendra un petit carillon sonner. Vous pouvez alors directement lui sauter dessus et lui dire que vous recherchez des candidats tels que lui. Il va de soi que vous pouvez modifier la mélodie 😛

Voici le montage:

20151004_092509

Mise en place de l’objet connecté

Afin de pouvoir mettre en place notre objet nous allons le mettre dans un moule… histoire de l’embellir un petit peu. Je ne dispose pas encore d’imprimante 3D, c’est pourquoi je suis parti sur une boite en carton de LU Petit Déjeuner que j’ai découpé:

20151004_121145

Pour information je ne pense pas que mettre du papier avec de l’électronique soit recommandé et fasse bon ménage. Ainsi je ne vous recommande pas de le faire. Dans mon cas de figure je l’ai juste appliqué pour ce tutoriel et me suis débarrassé de la boite par la suite.

Idem je n’ai pas souhaité scotcher la boite ni même percer des trous dans les murs car je suis locataire pour le moment, j’ai donc laissé la boite de la manière suivante:

20151004_121502

Est ce que le système marche? oui comme vous avez pu le constater sur l’avant dernière image j’utilise une batterie de rechargement de smartphone afin de rendre l’objet connecté autonome. Quand je passe sous l’objet connecté celui-ci ne sonne pas, si je lève la tête et que je suis sous l’objet connecté alors le buzzer réagit. Pour information je fais 1 mètre 77, il y a donc quelques petits réglages à faire de quelques centimètres, j’imagine que cela vient en partie du fait que ma boite est inclinée, et j’avais calculé la hauteur de porte à 2m06 alors que mon objet n’est pas exactement à cette hauteur.

Déclenchement d’une annonce radio si le profil correspond

On peut voir cet exemple assez loin, en faisant tourner un script Python tel que celui-ci :

# import the modules
import serial
import webbrowser
import time

# open a serial connection to the Arduino to read data from
arduino = serial.Serial(‘/dev/ttyACM0’, 9600)

# we want to read everything the Arduino tells us
while True:

# read one line (a str) that the Arduino wrote with Serial.println()
line = arduino.readline()

# convert the line into a string that contains only the numbers
# by stripping away the line break characters and spaces
string_with_number_in_it = line.strip()

# convert the string into a number that can be compared
number = float(string_with_number_in_it)

if number < 36:
webbrowser.open(“/chemin/pub.mp3”)

qui déclenchera un spot publicitaire en mp3 si une personne correspond.

Quel est l’intérêt d’un tel système?

Vous l’aurez compris, le but de ce tutoriel était simplement de vous montrer que l’on peut mettre facilement une action “robotisée” en fonction d’une donnée avec un objet connecté. Un système tel que je l’ai défini n’a pas vraiment d’intérêt à cette petite échelle. Cependant imaginez maintenant que tous les commerces où vous vous déplacez utilisent ce genre d’outils pour tracker des informations vous concernant et s’amusent à se les échanger, vous imaginez bien derrière que l’on peut facilement vous présenter des publicités contextuelles en magasin. A noter que je parle ici de publicités mais on devrait plutôt parler de messages contextuelles, car cela peut être aussi des annonces pour des recherches d’emploi, l’annonce d’évènements etc etc

 

Olfactory alarm clock by Sensorwake

Confidentialité des Données Mentions Légales