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.

RVB de base

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+ :

1Sheeld_himself

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) »]
capteurs

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
logo-téléphone

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
shields

Internet :

  • Sites WWW
  • Facebook
  • Twitter
  • 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) »] 
internet

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
code-barre-01

Vous pouvez consulter les exemples de code de chaque fonction ici.

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.

1Sheeld_AlimSwitch

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.

1Sheeld_CodeSwitch

Sur votre smartphone, installez l’application AndroidiOS 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.

5

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 :

1Sheeld_himself

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 »]

Music
Keypad
Notif

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 08110 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

Laisser un commentaire