[TUTO] Faire réagir ses LEDs avec un capteur de Vibration/Accéléromètre

 

Le but de ce Tuto est d'utilisé un capteur afin de faire réagir une bande de LEDs en fonction des mouvements ou vibrations qu'il perçoit.

Voir en bas de tuto un exemple de réalisation.

 

Une fois n'est pas coutume cette fois-ci pas de Nodemcu ni ESP-01 mais un Adafruit Trinket.

 

Pour ce Tuto j'ai utilisé :

  • Un Adafruit Trinket 3v ( les autres fonctionne aussi )
  • Un capteur de mouvement 
  • Une bande de 15 LEDs SK6812

Préalable

 

Tout d'abord il nous faut :

  • Un Trinket 3v
  • Une bande de LEDs
  • Un capteur de Vibration/Accéléromètre
  • De quelques câbles Dupont
  • Un Switch à 3 pattes ( optionnel )
  • Un chargeur de Lipo ( optionnel )
  • Une batterie ( optionnel ) 
  • Les drivers pour l'installation de Microcontrôleurs Adafruit
  • Le logiciel Arduino IDE correctement configuré pour utilisé un Trinket 
  • Le fichier LEDVibeSensor ( provient de chez Adafruit - Gemma FireWalker LED Sneakers  )

 

 

Configuration du logiciel Arduino pour gérer notre Trinket

 

La première chose à faire est d'installer les drivers pour que le Trinket soit reconnu lorsque nous le brancherons ( suivre ce tuto )

 

Lorsque les drivers sont installé connecter le Trinket et voyons s'il s'installe correctement ( UsbTiny dans Gestionnaire de périphériques )

 

Ensuite pour que le logiciel Arduino puisse programmer un Trinket on va lui rajouter une ligne dans les paramètres.

Voici la marche à suivre :

  • Ouvrir le logiciel Arduino 
  • Cliquer sur Fichiers puis Préférences
  • Repérer la ligne URL de gestionnaire de cartes supplémentaires puis Copier/Coller cette ligne https://adafruit.github.io/arduino-board-index/package_adafruit_index.json puis cliquer sur Ok

Si vous voulez ajouté plus de dispositif à gérer, mettre une virgule à la fin de chaque adresse.

Par exemple, j'utilise des Digiparks, des Trinkets et des Esp8266. J'ai donc rajouté ces 3 adresses dans ma config :

 

http://digistump.com/package_digistump_index.json,http://arduino.esp8266.com/stable/package_esp8266com_index.json,https://adafruit.github.io/arduino-board-index/package_adafruit_index.json

 

Ou télécharger cette Archive et la décompresser dans votre répertoire Arduino.

 

Puis il faudra installer les fichiers pour nos microcontrôleurs dans le gestionnaire de carte pour cela :

  • Cliquer sur Outils puis Type de carte et enfin Gestionnaire de carte
  • Dans la boite de dialogue Filtrez votre recherche taper trinket
  • Sélectionner Adafruit AVR Boards by Adafruit puis installer

 

Pour vérifier que nos modifications ont bien était pris en compte, nous allons changer de dispositif comme ceci :

  • Cliquer sur Outils puis mettre en surbrillance Type de carte
  • Descendre jusqu’à Adafruit Trinket 8MHz puis cliquer dessus ( pour le 5v sélectionner  Adafruit Trinket 16MHz )
  • Et enfin Outils, Programmateur puis sélectionner USBtinyISP

 

Une fois la configuration du logiciel faite, on peut passer à la modification de notre fichier.

 

 

Modification du Sketch LEDVibeSensor

 

Il y a deux valeurs à modifier dans notre fichier : #define NUM_LEDS et #define CIRCUMFERENCE.

Voici ma configuration pour 15 LEDs :

 

#define NUM_LEDS      15 // Actual number of LEDs in NeoPixel strip

#define CIRCUMFERENCE 10 // Shoe circumference, in pixels, may be > NUM_LEDS

#define FPS           50 // Animation frames per second

#define LED_DATA_PIN   1 // NeoPixels are connected here

#define MOTION_PIN     0 // Vibration switch from here to GND

 

La valeur CIRCUMFERENCE doit être inférieur au nombre de LEDs. On pourra agir aussi sur l'animation en changeant la valeur FPS.

Une fois modifié on peut lancer le téléversement et passer au câblage.

 

 

Câblage

 

 Pour le câblage voici les schémas selon la configuration choisi, à savoir avec ou sans batterie :

 

 

Pour résumé :

  • Le Trinket est alimenté soit par MicroUsb soit par MicroUsb et batterie avec un switch pour l’arrêt
  • Si batterie celle ci est rechargé par un chargeur Lipo MicroUSB et connecté sur la broche Bat+ et GND
  • Le capteur de vibration est connecté sur la broche 0 et GND du Trinket
  • La bande de LEDs est connecté sur la broche 1, et au GND du Trinket. Sa borne 5v est connecté directement sur la batterie si batterie et sur la broche USB+ en version secteur seulement

 

Mise en Oeuvre

 

J'avais réalisé, il y a quelque jours, une boule Ambilight à base d'une boule de noël à remplir. J'ai modifié mon support pour qu'il soit compatible en accueillant un Trinket en plus d'un ESP8266.

J'ai donc fabriquer une boule réactive aux mouvements et aux vibrations, comme on peut le voir sur la vidéo, qui pourrai, une fois amélioré, servir comme boule à chat, jouet pour les enfants ou autres...

 

 

 

Maintenant vous savez comment faire réagir vos LEDs en fonction de mouvements ou vibrations pour vos projets.

 

 

Bon mod à tous !!!

Commentaires : 0 (Discussion fermée)
    Aucun commentaire pour le moment.