Wiki

Reso-nance numérique | Arts et cultures libres

Outils du site


projets:bornesalivres:accueil

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

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/16 16:18]
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 : {{:projets:bornesalivres:shield-mp3.svg|}}
   * 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'échange de livres à installer en ville. +
-Ces bornes peuvent contenir aussi de l'électronique (exemple [[materiel:piratebox:accueil|PirateBox]], [[https://deaddrops.com|deaddrop]], système de lecture de son intéractif, automates...) et avoir une forme spéciale avec divers thématiques....+
  
-**Structure réalisée rue d'Aubagne à coté de l'asile  404 avec** [[http://manumorvan.blogspot.fr|Manu Morvan]] \\ 
-{{ :projets:bornesalivres:bornealivre.jpg?nolink |}} 
  
 ===== 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'Acier Brut de 2mx1m x2mm chez [[http://www.descours-cabaud.com]] plus quelques disques pour la disqueuse pour une centaine d'euros. //(48€ la plaque d'acier)//.\\ Nous avons acheté des fer à bétons de 8mm , du scellement chimique au magasin de bricolage, et une plaque d'Acier Brut de 2mx1m x2mm chez [[http://www.descours-cabaud.com]] plus quelques disques pour la disqueuse pour une centaine d'euros. //(48€ la plaque d'acier)//.\\
-Quelques heures de disquage et de soudure à l'arc plus tard... la structure est prete acceuillir les livres.+Quelques heures de disquage et de soudure à l'arc plus tard... la structure est prête accueillir les livres.
  
 {{ :projets:bornesalivres:bornealivre-rea.jpg?nolink |}} {{ :projets:bornesalivres:bornealivre-rea.jpg?nolink |}}
  
-==== Systeme de lecture : ==== +===== Systeme de lecture : ====
-On utilise un capteur ultrason et un lecteur mp3 pour declencher un son quand un passant passe à coté de la borne. + 
-  * 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 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...
 {{ :projets:bornesalivres:bornealivre_arduino.jpg?nolink |}} {{ :projets:bornesalivres:bornealivre_arduino.jpg?nolink |}}
  
-ps : il faut avoir la  [[http://www.dfrobot.com/wiki/index.php/DFPlayer_Mini_SKU:DFR0299|librairie DFPlayer_Mini_Mp3]] installée  +On pourrai aussi certainement utilisé une ATTINY pour éviter d'utiliser une arduino, mais peut être le code aura besoin d'être éditer pour rajouter des mp3.
  
-=== Shield arduino === +=== Shield Arduino === 
-On produit un shield Arduino pour éviter des fils+On produit un shield Arduino, avec la fraiseuse à commande numérique pour éviter des fils :  
 +{{ :projets:bornesalivres:screen_shot_03-16-15_at_04.15_pm.png?nolink |}}
  
  
 +===== Code Arduino =====
 +ps : il faut avoir la  [[http://www.dfrobot.com/wiki/index.php/DFPlayer_Mini_SKU:DFR0299|librairie DFPlayer_Mini_Mp3]] installée  
  
  
Ligne 46: Ligne 56:
  HC-SR04 Ping distance sensor start a mini DFPlayer_mini_MP3 track  HC-SR04 Ping distance sensor start a mini DFPlayer_mini_MP3 track
  */  */
 +
 +// ----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 <SoftwareSerial.h> #include <SoftwareSerial.h>
 #include <DFPlayer_Mini_Mp3.h> #include <DFPlayer_Mini_Mp3.h>
- 
 #define trigPin 3 #define trigPin 3
 #define echoPin 2 #define echoPin 2
-#define led 11 
-#define led2 10 
  
-long randNumber; +long randNumber = 1; 
-//+int lastState = 0; 
 +int lastSong = 0
 void setup () { void setup () {
-    Serial.begin (9600); +  Serial.begin (9600); 
-    mp3_set_serial (Serial);    //set Serial for DFPlayer-mini mp3 module  +  mp3_set_serial (Serial);    //set Serial for DFPlayer-mini mp3 module  
-    mp3_set_volume (15);+
   pinMode(trigPin, OUTPUT);   pinMode(trigPin, OUTPUT);
   pinMode(echoPin, INPUT);   pinMode(echoPin, INPUT);
-  pinMode(led, OUTPUT); 
-  pinMode(led2, OUTPUT); 
 } }
- +
 // //
 void loop () {        void loop () {       
- // Ici on definit le nombre de mp3 dans la carte + 
-   randNumber = random(3); +  // Ici on definit le nombre de mp3 dans la carte 
-    +  randNumber = random(nombre_mp3)+1
- long duration, distance;+  mp3_set_volume (volume_mp3); 
 + 
 +  long duration, distance;
   digitalWrite(trigPin, LOW);  // Added this line   digitalWrite(trigPin, LOW);  // Added this line
   delayMicroseconds(2); // Added this line   delayMicroseconds(2); // Added this line
   digitalWrite(trigPin, HIGH);   digitalWrite(trigPin, HIGH);
-//  delayMicroseconds(1000); - Removed this line+  //  delayMicroseconds(1000); - Removed this line
   delayMicroseconds(10); // Added this line   delayMicroseconds(10); // Added this line
   digitalWrite(trigPin, LOW);   digitalWrite(trigPin, LOW);
   duration = pulseIn(echoPin, HIGH);   duration = pulseIn(echoPin, HIGH);
-  distance = (duration/2) / 29.1;+  distance = (duration/2) / 291; 
 +  // 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 mais a changer de distance : declenchement du son  6 = 60cm !! 
-  if (distance <= 50 || distance <0){+  if (distance <= 8 && distance != lastState && randNumber !lastSong){
     mp3_play (randNumber);     mp3_play (randNumber);
-    delay (10000);+    lastSong = randNumber; // on memorise le dernier fichier mp3 lu 
 +    delay (100); 
 +    //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'avant... 
 +  
 } }
- +
 /* /*
    mp3_play ();     //start play    mp3_play ();     //start play
-   mp3_play (5);    //play "mp3/0005.mp3" + mp3_play (5);    //play "mp3/0005.mp3" 
-   mp3_next ();     //play next  + mp3_next ();     //play next  
-   mp3_prev ();     //play previous + mp3_prev ();     //play previous 
-   mp3_set_volume (uint16_t volume);    //0~30 + mp3_set_volume (uint16_t volume);    //0~30 
-   mp3_set_EQ ();   //0~5 + mp3_set_EQ ();   //0~5 
-   mp3_pause (); + mp3_pause (); 
-   mp3_stop (); + mp3_stop (); 
-   void mp3_get_state ();   //send get state command + void mp3_get_state ();   //send get state command 
-   void mp3_get_volume ();  + void mp3_get_volume ();  
-   void mp3_get_u_sum ();  + void mp3_get_u_sum ();  
-   void mp3_get_tf_sum ();  + void mp3_get_tf_sum ();  
-   void mp3_get_flash_sum ();  + void mp3_get_flash_sum ();  
-   void mp3_get_tf_current ();  + void mp3_get_tf_current ();  
-   void mp3_get_u_current ();  + void mp3_get_u_current ();  
-   void mp3_get_flash_current ();  + void mp3_get_flash_current ();  
-   void mp3_single_loop (boolean state);    //set single loop  + void mp3_single_loop (boolean state);    //set single loop  
-   void mp3_DAC (boolean state);  + void mp3_DAC (boolean state);  
-   void mp3_random_play (); + void mp3_random_play (); 
  */  */
 +
 +
 +
 </code> </code>
 ===== Photos ===== ===== Photos =====
/home/resonancg/www/wiki/data/attic/projets/bornesalivres/accueil.1426519104.txt.gz · Dernière modification: 2015/03/16 16:18 de resonance