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/10 17:31] resonance [Description] |
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 ===== | ||
| - | Réaliser plusieurs borne d' | ||
| - | Ces bornes peuvent contenir aussi de l' | ||
| - | Structure réalisée rue d' | ||
| - | {{: | ||
| ===== Matériaux ===== | ===== Matériaux ===== | ||
| - | * Métal | + | * Métal |
| - | * Bois | + | * Fer à béton |
| - | * Electronique... | + | * Système de lecture de son interactif : Arduino + capteur ultrason HC-SR04 + lecteur mp3 DFPlayer_mini_MP3 + enceinte 3w |
| - | * | + | * [[materiel: |
| ===== Tutoriel ===== | ===== Tutoriel ===== | ||
| - | Photos | + | ==== Structure en métal : ==== |
| + | 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 prête a accueillir les livres. | ||
| + | |||
| + | {{ : | ||
| + | |||
| + | ===== Systeme de lecture : ===== | ||
| + | |||
| + | "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... | ||
| + | vous... pour me faire ouvrir ma bouche ..." | ||
| + | |||
| + | On utilise un capteur ultrason et un lecteur mp3 pour déclencher un son quand un passant passe à coté de la borne. | ||
| + | * Capteur ultrason (4€), Arduino (20€), lecteur mp3(8€), carte microsd, petit hp (3€), 2 résistances 1kohm... | ||
| + | {{ : | ||
| + | |||
| + | 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> | ||
| + | |||
| + | /* | ||
| + | reso-nance numerique | ||
| + | | ||
| + | */ | ||
| + | |||
| + | // ----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 < | ||
| + | #define trigPin 3 | ||
| + | #define echoPin 2 | ||
| + | |||
| + | long randNumber = 1; | ||
| + | int lastState = 0; | ||
| + | int lastSong = 0; | ||
| + | |||
| + | void setup () { | ||
| + | Serial.begin (9600); | ||
| + | mp3_set_serial (Serial); | ||
| + | |||
| + | pinMode(trigPin, | ||
| + | pinMode(echoPin, | ||
| + | } | ||
| + | |||
| + | // | ||
| + | void loop () { | ||
| + | |||
| + | // Ici on definit le nombre de mp3 dans la carte | ||
| + | randNumber = random(nombre_mp3)+1; | ||
| + | mp3_set_volume (volume_mp3); | ||
| + | |||
| + | long duration, distance; | ||
| + | digitalWrite(trigPin, | ||
| + | delayMicroseconds(2); | ||
| + | digitalWrite(trigPin, | ||
| + | // delayMicroseconds(1000); | ||
| + | delayMicroseconds(10); | ||
| + | digitalWrite(trigPin, | ||
| + | duration = pulseIn(echoPin, | ||
| + | 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 60cm du detecteur mais a changer de distance : declenchement du son 6 = 60cm !! | ||
| + | if (distance <= 8 && distance != lastState && randNumber != lastSong){ | ||
| + | mp3_play (randNumber); | ||
| + | lastSong = randNumber; // on memorise le dernier fichier mp3 lu | ||
| + | delay (100); | ||
| + | // | ||
| + | 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 (); | ||
| + | |||
| + | } | ||
| + | else { | ||
| + | mp3_stop (); | ||
| + | } | ||
| + | |||
| + | lastState = distance; // on memorise la derniere distance de la boucle... pour la comparer a celle d' | ||
| + | |||
| + | } | ||
| + | |||
| + | /* | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | 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 ===== | ||
| Un lieu potentiel d' | Un lieu potentiel d' | ||