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:40] resonance [Description] |
projets:bornesalivres:accueil [2018/01/27 12:10] 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 | ||
* Fer à béton | * Fer à béton | ||
- | * Electronique... | + | * Système de lecture de son interactif : Arduino + capteur ultrason HC-SR04 + lecteur mp3 DFPlayer_mini_MP3 + enceinte 3w |
* [[materiel: | * [[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' |