18 Avr 1Sheeld+ : votre Smartphone est votre meilleur allié
Partie 1 : Présentation
1Sheeld+ est un Shield pour Arduino qui permet d’utiliser votre smartphone en remplacement d’une multitude de Shields différents (bouton-poussoir, afficheur, accéléromètre, LED, etc). Vous pouvez automatiser votre environnement en utilisant les capteurs de votre smartphone. La communication entre le carte et votre smartphone se fait via Bluetooth.
Pour Android : l’application disponible sur GooglePlay est compatible à partir de la version Android 4.3, les versions recommandées sont celles supérieur à 6.0 pour pouvoir profiter de toutes les fonctionnalités.
Pour iOS : l’application disponible sur AppStore est compatible à partir de la version iOS 9.0.
Sachez que le modèle de votre téléphone a une influence sur les fonctionnalités disponibles de l’application. Tous les téléphones ne sont pas dotés de gyroscope, NFC, magnétomètre, et autres capteurs. Il est donc possible que vous ne puissiez pas avoir accès à certaines fonctionnalités selon votre smartphone.
L’application 1Sheeld+ possède une quarantaine de fonctions, offrant un large panel de possibilités.
Ces fonctions traitent cinq axes : les capteurs, la téléphonie, les simulateurs de Shield Arduino, les outils Internet, et les fonctions avancées.
Certaines fonctions ne sont compatibles que pour iOS [wp-svg-icons icon= »apple » wrap= »i » size= »1.5em » color= »rgb(192,192,192) »] et d’autres que pour Android [wp-svg-icons icon= »android » wrap= »i » size= »1.5em » color= »rgb(22,184,78) »].
Voici la liste complète des fonctions de 1Sheeld+ :
Capteurs :
- Accéléromètre
- Couleur
- Gravité [wp-svg-icons icon= »android » wrap= »i » size= »1.5em » color= »rgb(22,184,78) »]
- Gyroscope
- Lumière [wp-svg-icons icon= »android » wrap= »i » size= »1.5em » color= »rgb(22,184,78) »]
- Magnétomètre
- NFC [wp-svg-icons icon= »android » wrap= »i » size= »1.5em » color= »rgb(22,184,78) »]
- Orientation
- Pression
- Proximité
- Température [wp-svg-icons icon= »android » wrap= »i » size= »1.5em » color= »rgb(22,184,78) »]
Téléphone :
- Appel [wp-svg-icons icon= »android » wrap= »i » size= »1.5em » color= »rgb(22,184,78) »]
- SMS [wp-svg-icons icon= »android » wrap= »i » size= »1.5em » color= »rgb(22,184,78) »]
- Vibration [wp-svg-icons icon= »android » wrap= »i » size= »1.5em » color= »rgb(22,184,78) »]
- Parler pour écrire
- Caméra (arrière et avant)
- Schéma code
- GPS
- Notifications
- Détection de visage
- Reconnaissance vocale
- Micro
- Musique
- Lecteur d’empreinte digitale [wp-svg-icons icon= »apple » wrap= »i » size= »1.5em » color= »rgb(192,192,192) »]
- Horloge
- Buzzer
Simulateurs de Shields pour Arduino :
- Gamepad
- GLCD [wp-svg-icons icon= »android » wrap= »i » size= »1.5em » color= »rgb(22,184,78) »]
- LCD
- Clavier QWERTY
- Clavier à chiffres
- LED
- Bouton-poussoir
- Bouton ON/OFF
- Afficheur 7 segments
- Slider
Internet :
- Sites WWW
- Foursquare
- E-mails
- Skype [wp-svg-icons icon= »android » wrap= »i » size= »1.5em » color= »rgb(22,184,78) »]
- Internet of Things [wp-svg-icons icon= »apple » wrap= »i » size= »1.5em » color= »rgb(192,192,192) »]
Fonctions avancées :
- Terminal
- Graphiques dynamiques [wp-svg-icons icon= »apple » wrap= »i » size= »1.5em » color= »rgb(192,192,192) »]
- Lecteur de code-barres [wp-svg-icons icon= »apple » wrap= »i » size= »1.5em » color= »rgb(192,192,192) »]
- Sauvegarde de données au format CSV
Partie 2 : Configuration
Insérez le 1Sheeld+ sur la carte Arduino Uno.
Vous pouvez alimenter votre 1Sheeld+ en 3,3 V ou en 5 V suivant les composants que vous souhaitez intégrer.
Installez la bibliothèque de 1Sheeld+ au logiciel Arduino et éditer votre programme.
Avant de téléverser votre programme, assurez-vous que le Serial Switch soit en position SW.
Une fois le téléversement terminé, vous pouvez remettre le Serial Switch en position HW pour que votre programme s’exécute.
Si votre programme comporte des fonctions temporelles (ex: Clock.getHours), appuyez sur le bouton Reset de votre carte Arduino afin de synchroniser son horloge interne avec celle du 1Sheeld+.
Pour chaque changement de votre programme, vous devrez faire ces manipulations.
Sur votre smartphone, installez l’application Android / iOS de 1Sheeld+ puis lancez-la.
Au démarrage de l’application, après avoir passé le tutoriel présentatif, appuyez sur « I have 1Sheeld board« . L’application vous demandera alors de « scanner » pour pouvoir vous connecter à votre matériel, appuyez donc sur « Scan« .
Votre téléphone vous demandera alors peut-être d’autoriser l’utilisation du Bluetooth pour l’application, si c’est le cas, autorisez-la. Après quelques secondes d’attente, vous devriez voir apparaître « 1Sheeld #ZP« , cliquez dessus. Vous pouvez également cocher la case Connect automatically to this device si vous comptez vous connecter souvent à votre 1Sheeld+.
Votre 1Sheeld+ est maintenant connecté à votre téléphone (vous pouvez le constater dans votre connexion Bluetooth).
Vous pouvez maintenant choisir les modules en adéquation avec votre programme Arduino. Suivant vos choix, votre téléphone vous demandera des autorisation (accès au Wifi, aux dossiers, à Twitter, etc).
Appuyez enfin sur l’icône des trois boucliers pour pouvoir accéder à vos modules pour les contrôler.
Partie 3 : Réalisation d’un système d’alarme
Mise en situation :
Nous allons réaliser un système d’alarme simple, que l’on pourrait placer au-dessus d’une porte d’entrée, qui s’enclenche lorsque le capteur à ultrason détecte un obstacle à moins d’un mètre.
Ce système pourra être activé et désactivé à tout moment avec un mot de passe grâce à un clavier à chiffres et notifiera son état sur le smartphone (« Système Activé » ou « Système Désactivé »).
Pour vérifier physiquement l’état du système, nous utiliserons une LED qui sera allumée lorsque le système sera activé.
Si le capteur détecte un obstacle, alors le smartphone fera retentir une alarme.
Mise en garde :
Ce système n’a qu’un but didactique, il n’égale pas un système de surveillance professionnel !
Il est très basique et est limité par la sensibilité du capteur à ultrasons, la qualité de votre connexion Bluetooth et le niveau de batterie de votre téléphone.
Matériel pour la réalisation :
- Une carte Arduino Uno
- Une carte 1Sheeld+
- Un capteur à ultrasons
- Une LED rouge
- Une résistance de 180Ω
- Des jumpers mâle/mâle
- Une plaque de montage
- Votre téléphone avec l’application 1Sheeld+
Programme Arduino
La carte Arduino va recevoir :
- le code du smartphone pour activer/désactiver le système
- la distance captée par le capteur à ultrasons
et va transmettre:
- l’état du système en notifiant le smartphone
- l’enclenchement de l’alarme au smartphone
- un signal ON/OFF à la LED
#include <OneSheeld.h> #define CUSTOM_SETTINGS #define INCLUDE_MUSIC_PLAYER_SHIELD #define INCLUDE_KEYPAD_SHIELD #define INCLUDE_NOTIFICATION_SHIELD #define ECHO 7 #define TRIG 8 #define Led 12 int detection = 100; int codeChiffre = 0; byte actif = 0; long distance; long duree; boolean notif = false; void setup() { pinMode(TRIG, OUTPUT); pinMode(ECHO, INPUT); pinMode(Led, OUTPUT); OneSheeld.begin(); } void loop() { activation(); if (actif == 1) { condition(); delay(100); } else {} } void condition() { //Mesure du capteur digitalWrite(TRIG, LOW); delayMicroseconds(2); digitalWrite(TRIG, HIGH); delayMicroseconds(10); digitalWrite(TRIG, LOW); duree = pulseIn(ECHO, HIGH); distance = duree / 58; //norme constructeur if (distance < detection) { MusicPlayer.play(); //on enclenche l’alarme delay(15000); MusicPlayer.stop(); } } void activation() { //vérification du code : 08110 if (codeChiffre == 0 && toucheZero()) { codeChiffre++; } else if (codeChiffre == 1 && toucheHuit()) { codeChiffre++; } else if (codeChiffre == 2 && toucheUn()) { codeChiffre++; } else if (codeChiffre == 3 && toucheUn()) { codeChiffre++; } else if (codeChiffre == 4 && toucheZero()) { codeChiffre++; actif = !actif; if (actif == 1) { Notification.notifyPhone(“Système Activé”); //envoie une notification au téléphone delay(100); digitalWrite(Led, HIGH); //on allume la LED delay(100); } else { Notification.notifyPhone(“Système Désactivé”); //envoie une notification au téléphone delay(100); digitalWrite(Led, LOW); //on éteint la LED delay(100); MusicPlayer.stop(); delay(100); } } else if ((Keypad.isAnyRowPressed() || Keypad.isAnyColumnPressed()) && !toucheZero() && !toucheUn() && !toucheHuit()) { codeChiffre = 0; } if (codeChiffre == 5) { codeChiffre = 0; } } //fonctions pour l’utilisation des touches du clavier boolean toucheZero() { return Keypad.isRowPressed(3) && Keypad.isColumnPressed(1); //touche 0 } boolean toucheUn() { return Keypad.isRowPressed(0) && Keypad.isColumnPressed(0); //touche 1 } boolean toucheHuit() { return Keypad.isRowPressed(2) && Keypad.isColumnPressed(1); //touche 8 }
Application téléphone
Lancez l’application 1Sheeld+ sur votre téléphone, et connectez-vous à votre Sheeld en Bluetooth.
Appuyez sur « Music Player« , « Keypad« , « Notification« , puis sur les trois boucliers en haut à gauche de votre écran. Vidéo [wp-svg-icons icon= »youtube » wrap= »i »]
Appuyer sur le symbole du « Music Player« , puis sur la roue crantée au centre droit de l’écran et enfin sur « Add« . Ajoutez la sirène que vous souhaitez et confirmez avec « Add« . Vous voyez alors apparaître le nom de votre musique qui fera office de sirène. Appuyez sur la flèche gauche en haut à gauche de votre écran. Vidéo [wp-svg-icons icon= »youtube » wrap= »i »]
Glissez votre doigt du bord gauche de votre écran vers le centre pour retrouver vos fonctions.
Appuyez sur le symbole du « Keypad » et sur le cadenas en bas à gauche de votre écran. Cela permet de verrouiller l’application sur votre fonction pour pouvoir l’utiliser sans risquer de revenir au menu par un mouvement ou un clic accidentel.
Votre téléphone est maintenant configuré !
Montage
Insérez la carte 1Sheeld+ sur la carte Arduino.
La résistance et la LED doivent être montées en série, et la borne positive de la LED doit être raccordée à la broche 12.
Le capteur à ultrasons doit être alimenté en 5V. Sa broche Trig doit être reliée à la broche 8 de la carte Arduino, et Echo à la 7.
Mise en marche
Sur votre smartphone, tapez le code 0–8–1–1–0 pour activer votre système.
Votre système est opérationnel !
Vous pouvez désactivez et réactivez votre système à tout moment en retapant le code.
Pas de commentaire