Cui-cui

Technique de avatarRaphaël | Categories : Art, Electronics, House, Music & Sound

Cui-cui 20190704 171511-.jpg

cui~cui est prévu pour être un réveil dont la sonnerie change en fonction de la météo. Pour le moment, c'est un afficheur de données météo, un anneau de leds multicolores, et un générateur de musique diffusée sur 4 hauts-parleurs, le tout commandé par une télécommande infra-rouge.

License : Attribution (CC BY)

Introduction

Avec ses capteurs de température, pression et hygrométrie, cui~cui capte les variations de la météo. Son petit écran permet de visualiser ces données météo. Avec ses quatre haut-parleurs, cui~cui joue une sonnerie différente tous les matins en fonctions du temps qu'il fait. Le code de la partie musique comprend un séquenceur basique pour faire jouer les notes aux temps précis.

Détail du projet :

- un capteur (BME 280 température humidité pression) donne 3 valeur qui sont affichées sur un petit écran.

- un potentiomètre permet de régler le volume de la musique.

- 4Hauts-Parleurs jouent une musique générée en fonction des données météo (3 paramètres) : température, pression, hygrométrie.

- La télécommande permet de sélectionner alternativement : l'affichage de la météo (touche 0), l'allumage des leds (touche ST/REPT), et le déclenchement de la musique (touche play)

Génération de la musique :

- 3 paramètres en entrée : température - humidité - pression

- ces trois paramètres modulent le tempo et la granularité de la musique générée

- une grille d’accords (Come Rain or Come Shine, ou une autre chanson) sert de réservoir d’harmonie pour la génération. Les différentes notes envoyées aux hauts-parleurs sont choisies aléatoirement dans ces accords.


=Notes sur le code ::

Les timers de l'Arduino :

Le timer0 : 8 bits, utilisé par les fonctions delay(), millis() et micros(). Il commande également des PWM (Pulse Width Modulation ou Modulat ion par Largeur d’Impulsion) sur les broches 5 et 6.

Le timer1 : 16 bits, qui compte de 0 à 65535 (0 à FFFF en hexadécimal) et qui est utilisé par la bibliothèque Servo ou bien pour de la PWM sur les broches 9 et 10.

Le timer2 : 8 bits, qui est utilisé par la fonction Tone() ou bien pour de la PWM sur les broches 3 et 11.

Pour utiliser les deux sorties PWM du timer 2 :

  • activer le bit WGM20 du registre TCCR2A pour configurer le compteur en mode « PWM, Phase Correct » :

TCCR2A [barre verticale]= _BV(WGM20)

  • activer les bits COM2A1 et COM2B1 pour activer les sorties 3 et 11. Dans ce mode les sorties sont hautes quand le compteur passe à zéro et basses quand le compteur atteint OC2A et OC2B respectivement.

Video overview

  • Files

Materials

  • 1 plaque de médium 3 mm
  • 1 plaque de Plexiglass 3mm
  • 1 carte Arduino Uno
  • 1 capteur barométrique BMP 280 >> + d’infos
  • 1 anneau de leds NEOPIXEL RING avec 12 LED RGB LED et driver intégré >> + d’infos
  • 3 ou 4 connecteurs à souder à cet anneau de leds
  • 1 écran OLED monochrome 1,3" 128 x 64 graphique >> + d’infos
  • 1 potentiomètre
  • 1 bouton pour le potentiomètre (imprimé en 3D)
  • 1 télécommande + récepteur IR : DFR0107 >> + d'infos
  • 4 hauts-parleurs

Tools

  • 1 découpeuse laser (pour découper les plaques de bois et de plexiglass) - en FabLab
  • 1 imprimante 3D (pour imprimer le cache écran)
  • 1 fer à souder (pour souder les connecteurs à la ring LED)
  • 1 pince coupante
  • colle à bois, colle plastique, scotch double-face...
  • Inkscape (pour les découpes laser)
  • Tinkercad (pour les modèles en 3D)
  • Cura (pour imprimer en 3D)
  • Arduino (pour le code)

Step 1 - Découpage des éléments en bois et plexiglass

Step 2 - Collage des différents éléments de la boîte

Step 3 - Fixation des hauts-parleurs

Step 4 - Le montage



Step 5 - Le code

Voir fichier cui-cui_presentation_IMT.ino

Comments

Draft