Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
|
projets:bornesalivres:accueil [2015/03/11 17:58] resonance [Systeme de lecture :] |
projets:bornesalivres:accueil [2018/01/27 12:10] (Version actuelle) marion [Borne à livres] |
||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| ====== Borne à livres ====== | ====== Borne à livres ====== | ||
| * Porteur du projet : Reso-nance + Asile 404 + Casse tête | * Porteur du projet : Reso-nance + Asile 404 + Casse tête | ||
| - | * Date : printemps 2015 | + | * Date : 2016 |
| * Licence : libre ! | * Licence : libre ! | ||
| * Contexte : vie de quartier | * Contexte : vie de quartier | ||
| - | * Fichiers : lien | + | * Fichiers : {{: |
| * Lien : lien vers un site éventuellement | * Lien : lien vers un site éventuellement | ||
| + | ===== 2D et 3D PRIMITIVES ===== | ||
| + | Cercle, carré, rectangle, sphère, cylindre, tore, cone, ... | ||
| - | ===== Description ===== | + | {{.:primitives.png}} |
| - | Réaliser plusieurs borne d' | + | |
| - | Ces bornes peuvent contenir aussi de l' | + | |
| - | **Structure réalisée rue d' | ||
| - | {{ : | ||
| ===== Matériaux ===== | ===== Matériaux ===== | ||
| Ligne 22: | Ligne 20: | ||
| ==== Structure en métal : ==== | ==== Structure en métal : ==== | ||
| Nous avons acheté des fer à bétons de 8mm , du scellement chimique au magasin de bricolage, et une plaque d' | Nous avons acheté des fer à bétons de 8mm , du scellement chimique au magasin de bricolage, et une plaque d' | ||
| - | Quelques heures de disquage et de soudure à l'arc plus tard... la structure est prete a acceuillir | + | Quelques heures de disquage et de soudure à l'arc plus tard... la structure est prête |
| {{ : | {{ : | ||
| - | ==== Systeme de lecture : ==== | + | ===== Systeme de lecture : ===== |
| - | On utilise un capteur ultrason et un lecteur mp3 pour declencher | + | |
| - | * Capteur ultrason (4€), Arduino (20€), lecteur mp3(8€), petit hp (3€)... | + | "Les murs ont des oreilles, mais ça c’était avant... |
| + | maintenant ils ont aussi une bouche... | ||
| + | une bouche... pour vous faire ouvrir les yeux, | ||
| + | les yeux... lisant quelques lignes d'un livre, | ||
| + | un livre... déposé par un voisin, | ||
| + | un voisin... ou peut-être même vous, | ||
| + | vous... pour me faire ouvrir ma bouche ..." | ||
| + | |||
| + | On utilise un capteur ultrason et un lecteur mp3 pour déclencher | ||
| + | * Capteur ultrason (4€), Arduino (20€), lecteur mp3(8€), carte microsd, petit hp (3€), 2 résistances 1kohm... | ||
| {{ : | {{ : | ||
| - | ps : il faut avoir la librairie : DFPlayer_Mini_Mp3 installée... | + | On pourrai aussi certainement utilisé une ATTINY pour éviter d' |
| + | |||
| + | === Shield Arduino === | ||
| + | On produit un shield Arduino, avec la fraiseuse à commande numérique pour éviter des fils : | ||
| + | {{ : | ||
| + | |||
| + | |||
| + | ===== Code Arduino ===== | ||
| + | ps : il faut avoir la [[http:// | ||
| + | |||
| + | |||
| <code cpp> | <code cpp> | ||
| Ligne 38: | Ligne 56: | ||
| | | ||
| */ | */ | ||
| + | |||
| + | // ----editez ces lignes : | ||
| + | int nombre_mp3 = 4; // nombre de mp3 sur la carte sd | ||
| + | int temps_mp3 = 3000; // temps max mp3 en msec | ||
| + | int volume_mp3 = 28; // volume du mp3 (0-30) | ||
| + | // | ||
| + | |||
| #include < | #include < | ||
| #include < | #include < | ||
| + | #define trigPin 3 | ||
| + | #define echoPin 2 | ||
| - | #define trigPin 13 | + | long randNumber = 1; |
| - | #define echoPin 12 | + | int lastState = 0; |
| - | #define led 11 | + | int lastSong = 0; |
| - | #define led2 10 | + | |
| - | long randNumber; | ||
| - | // | ||
| void setup () { | void setup () { | ||
| - | | + | |
| - | mp3_set_serial (Serial); | + | mp3_set_serial (Serial); |
| - | | + | |
| pinMode(trigPin, | pinMode(trigPin, | ||
| pinMode(echoPin, | pinMode(echoPin, | ||
| - | pinMode(led, | ||
| - | pinMode(led2, | ||
| } | } | ||
| - | + | ||
| // | // | ||
| void loop () { | void loop () { | ||
| - | // Ici on definit le nombre de mp3 dans la carte | + | |
| - | | + | // Ici on definit le nombre de mp3 dans la carte |
| - | | + | randNumber = random(nombre_mp3)+1; |
| - | long duration, distance; | + | |
| + | |||
| + | | ||
| digitalWrite(trigPin, | digitalWrite(trigPin, | ||
| delayMicroseconds(2); | delayMicroseconds(2); | ||
| digitalWrite(trigPin, | digitalWrite(trigPin, | ||
| - | // delayMicroseconds(1000); | + | |
| delayMicroseconds(10); | delayMicroseconds(10); | ||
| digitalWrite(trigPin, | digitalWrite(trigPin, | ||
| duration = pulseIn(echoPin, | duration = pulseIn(echoPin, | ||
| - | distance = (duration/ | + | distance = (duration/ |
| + | // en centimetre il faut diviser par 29.1 ici nous sommes en decimetre; | ||
| + | delay(200); | ||
| - | // CONDITION DE LECTURE : si quelquechose passe a moins de 50cm du detecteur : declenchement du son | + | // CONDITION DE LECTURE : si quelquechose passe a moins de 60cm du detecteur |
| - | if (distance <= 50 || distance | + | if (distance <= 8 && |
| mp3_play (randNumber); | mp3_play (randNumber); | ||
| - | delay (10000); | + | |
| + | | ||
| + | //fade-out à la fin... | ||
| + | mp3_set_volume (volume_mp3); | ||
| + | delay (temps_mp3); | ||
| + | mp3_set_volume (volume_mp3 - 5); | ||
| + | delay (1000); | ||
| + | mp3_set_volume (volume_mp3 - 10); | ||
| + | delay (1000); | ||
| + | mp3_set_volume (volume_mp3 - 15); | ||
| + | delay (1000); | ||
| + | mp3_set_volume (volume_mp3 - 20); | ||
| + | delay (1000); | ||
| mp3_stop (); | mp3_stop (); | ||
| + | |||
| } | } | ||
| else { | else { | ||
| mp3_stop (); | mp3_stop (); | ||
| } | } | ||
| - | delay(500); | + | |
| + | lastState = distance; // on memorise la derniere distance de la boucle... pour la comparer a celle d' | ||
| + | | ||
| } | } | ||
| - | + | ||
| /* | /* | ||
| | | ||
| - | mp3_play (5); //play " | + | mp3_play (5); //play " |
| - | | + | |
| - | | + | |
| - | | + | |
| - | | + | |
| - | | + | |
| - | | + | |
| - | | + | void mp3_get_state (); // |
| - | | + | void mp3_get_volume (); |
| - | | + | void mp3_get_u_sum (); |
| - | | + | void mp3_get_tf_sum (); |
| - | | + | void mp3_get_flash_sum (); |
| - | | + | void mp3_get_tf_current (); |
| - | | + | void mp3_get_u_current (); |
| - | | + | void mp3_get_flash_current (); |
| - | | + | void mp3_single_loop (boolean state); |
| - | | + | void mp3_DAC (boolean state); |
| - | | + | void mp3_random_play (); |
| */ | */ | ||
| + | |||
| + | |||
| + | |||
| </ | </ | ||
| ===== Photos ===== | ===== Photos ===== | ||