dans bibliothèque

Boîte à histoires V1

Julanimtic___julanimtic__•_Instagram_photos_and_videos

Les collègues m’ont signalé avant les congés l’existence de petits distributeurs d’histoires. L’idée est simple et efficace, des histoires sont imprimées de manière aléatoire on les lit le temps de faire la queue et on les emporte avec soi.

Le concept me rappelait également choosatron, un distributeur d’histoires dont vous êtes le héros. Malheureusement,  le projet semble au point mort depuis un moment.

Le projet de short édition est intéressant et je ne doute pas qu’il trouvera sa place dans de nombreuses médiathèques. Toutefois, j’aime avoir une certaine maîtrise des dispositifs que nous mettons en place afin de pouvoir affiner les sélections, les faire évoluer et puis ça coûte moins cher

J’ai donc commencé à travailler sur la boîte à histoires. Le principe est simple : appuyez sur le bouton et vous obtenez une histoire différente à chaque fois. L’idée de ce dispositif n’est pas neuve, je me suis appuyé sur le travail mené par Giles Booth  et sa little box of poems (http://www.suppertime.co.uk/blogmywiki/2012/10/howtopoems/) et la dadaist poetry box réalisée par robottini (http://robottini.altervista.org/dadaist-poetry-box).

 

Boîte à histoire test 1 #arduino #library #bib

Une vidéo publiée par Julanimtic (@julanimtic) le


J’y ai ajouté également un mode « cadavre exquis » permettant de générer des poèmes aléatoires à partir de vers prédéfinis.

Boite à histoires #workinprogress #arduino #library #mednum #bib

Une vidéo publiée par Julanimtic (@julanimtic) le

 

Pour réaliser votre boîte à histoires, vous aurez besoin d’un peu de matériel  :

Soit un total de 102,8 €

Pour le code, vous trouverez tout ça sur github : https://github.com/julanimtic/boite-histoire/

Vous trouverez également des instructions plus détaillées dans la partie wiki du projet : https://github.com/julanimtic/boite-histoire/wiki

J’ai veillé à documenter le mieux possible le projet, toutefois si quelque chose n’était pas clair ou si vous souhaitez l’améliorer, n’hésitez pas. Pour l’instant, l’ajout de texte est fastidieux, cela se fait directement dans le code de la carte. J’aimerai améliorer cette partie pour que tout le monde puisse s’en servir simplement. Si vous avez des idées et/ou des bouts de code, je suis preneur.

Il ne vous reste plus maintenant qu’à mettre tout le matériel dans une jolie boîte, trouver des histoires / extraits de romans favoris / poèmes / recettes / BD / devinettes / blagues / messages codés et imaginer des ateliers d’écriture.

C’est ce point qui fera toute la différence. Imprimer du texte sur un rouleau n’est pas une grande nouveauté, les caisses enregistreuses de nos commerçants font ça depuis longtemps. Maintenant, il reste à imaginer les occasions, les opportunités de médiation de nos collections, des ressources en ligne pour répondre aux besoins de nos usagers.

Commentez

Commenter

20 Commentaires

  1. Il y a un potentiel extrêmement intéressant, et les situations sont vraiment à imaginer.
    Une question (parmi d’autres que je me pose) : ne faudrait-il pas creuser une interconnexion avec le concept BiblioBox ? (histoire d’avoir un espace de stockage des textes unique, et une possible gestion dynamique du corpus)

    • Oui tout à fait, en passant sur une carte raspberry pi on devrait arriver à connecter l’imprimante sur la bibliobox. On pourrait même lancer l’impression depuis le navigateur. et cela permettrait de matérialiser la bibliobox et ses ressources plus facilement. A priori personne n’a encore essayé, mais cela dépasse largement mes compétences. A développer lors d’un prochain biblioboxcamp ?

  2. Bonjour Jumlanimtic,

    Super !!!! J’adhère !
    Je me permets d’intervenir car on transforme actuellement un piano en juke box MP3, et on a eu un problème se rapprochant du tien (facilité d’accès pour les modifications de contenu). On a contourné: tout le stockage se fait sur une clé USB, Arduino ne travaille plus qu’avec elle.
    Voilà, si ça peut t’aider.
    Mais bravo, riche idée !
    Boris

    • Merci pour ce commentaire l’idée est super intéressante, et aurait sa place au Hackathon BNF mais il faut trouver les compétences techniques pour mettre tout ça au point.

  3. Merci pour l’idée et les plans. Une chose : Peut-on faire la même chose avec une imprimante a ticket Bixolon USB ? J’imagine qu’il faudrait un Raspberry en plus ?

    • Techniquement oui on doit pouvoir la brancher sur une Pi après il faut la programmer. Si j’utilise ce modèle d’imprimante et une carte Arduino c’est que je dispose d’une bibliothèque spécifique fournie par adafruit pour faire fonctionner les deux facilement.

  4. Super intéressant! On aimerait bien se lancer dans l’aventure… Mais avant, une question : est-ce que ça vous semble jouable même pour quelqu’un qui ne s’est pas encore penché sur Arduino? J’ai vu qu’il y avait les plans de montage et tout, mais je ne voudrais pas budgétiser quelque chose que je ne pourrais pas mener jusqu’au bout (si minime soit le budget…!)
    Merci beaucoup pour le partage en tous cas!

  5. bonjour,

    J’ai installé et dézippé la bibliothèque Adafruit Thermal Printer Library : https://github.com/adafruit/Adafruit-Thermal-Printer-Library puis
    j’ai installé et dézippé le dossier boite à histoire j’ai renommé le dossier et j’ai mis les dossiers dans « mes documents » lorsque j’ouvre pour vérifier le code boite à histoire cadavre exquis j’obtiens une erreur de compilation :

    …AppData\Local\Temp\arduino_modified_sketch_838283\boite-histoire-cadavre-exquis.ino:51:51: fatal error: Adafruit-Thermal-Printer-Library-master: No such file or directory
    #include « Adafruit-Thermal-Printer-Library-master »

    D’après vous pourquoi Aucun fichier ou répertoire de ce nom n’est trouvé ?

    Merci pour l’aide.
    Bonne journée

    • Bonjour,

      La bibliothèque doit être dézippée puis renommée en Adafruit_Thermal
      Vérifiez ensuite que le dossier contient les fichiers suivants :
      Adafruit_Thermal.cpp et Adafruit_Thermal.h

      Placez le dossier Adafruit_Thermal dans votre dossier Arduino/libraries/

        Sur Mac : /Documents/Arduino/Libraries
        Sur Windows : My Documents\Arduino\libraries
        Sur Linux : /sketchbook/libraries

      Si le dossier libraries n’existe pas il faut le créer, puis redémarrez Arduino (le logiciel)

      Dans le programme il doit bien être indiqué #include « Adafruit_Thermal.h »

      N’hésite pas si tu as besoin de précisions

  6. bonjour, il doit me manquer quelque chose quand je téleverse vers ma carte j’ai des erreurs
    In file included from C:\Install\arduino-1.8.1-windows\arduino-1.8.1\hardware\arduino\avr\cores\arduino/Arduino.h:28:0,

    from sketch\boite-histoire.ino.cpp:1:

    boite-histoire-cadavre-exquis:12: error: redefinition of ‘const char string_0 []’

    const char string_0[] PROGMEM = « Sur la lune »;

    ^

    C:\Users\MEDP1803U\Documents\Arduino\boite-histoire-master\boite-histoire\boite-histoire.ino:13:12: note: ‘const char string_0 [9]’ previously defined here

    const char string_0[] PROGMEM = « Viens \n »;

    ^

    In file included from C:\Install\arduino-1.8.1-windows\arduino-1.8.1\hardware\arduino\avr\cores\arduino/Arduino.h:28:0,

    from sketch\boite-histoire.ino.cpp:1:

    boite-histoire-cadavre-exquis:13: error: redefinition of ‘const char string_1 []’

    const char string_1[] PROGMEM = « Au bord du monde »;

    ^

    C:\Users\MEDP1803U\Documents\Arduino\boite-histoire-master\boite-histoire\boite-histoire.ino:14:12: note: ‘const char string_1 [27]’ previously defined here

    const char string_1[] PROGMEM = « La langue du Youshlaouna \n »;

    ^

    In file included from C:\Install\arduino-1.8.1-windows\arduino-1.8.1\hardware\arduino\avr\cores\arduino/Arduino.h:28:0,

    from sketch\boite-histoire.ino.cpp:1:

    boite-histoire-cadavre-exquis:14: error: redefinition of ‘const char string_2 []’

    const char string_2[] PROGMEM = « Au fond de l\x27ocean »;

    ^

    C:\Users\MEDP1803U\Documents\Arduino\boite-histoire-master\boite-histoire\boite-histoire.ino:15:12: note: ‘const char string_2 [37]’ previously defined here

    const char string_2[] PROGMEM = « Il est tres chouette votre theatre \n »;

    ^

    In file included from C:\Install\arduino-1.8.1-windows\arduino-1.8.1\hardware\arduino\avr\cores\arduino/Arduino.h:28:0,

    from sketch\boite-histoire.ino.cpp:1:

    boite-histoire-cadavre-exquis:15: error: redefinition of ‘const char string_3 []’

    const char string_3[] PROGMEM = « Dans sa bulle »;

    ^

    C:\Users\MEDP1803U\Documents\Arduino\boite-histoire-master\boite-histoire\boite-histoire.ino:16:12: note: ‘const char string_3 [16]’ previously defined here

    const char string_3[] PROGMEM = « Quelle chance \n »;

    ^

    In file included from C:\Install\arduino-1.8.1-windows\arduino-1.8.1\hardware\arduino\avr\cores\arduino/Arduino.h:28:0,

    from sketch\boite-histoire.ino.cpp:1:

    boite-histoire-cadavre-exquis:16: error: redefinition of ‘const char string_4 []’

    const char string_4[] PROGMEM = « Sur une branche »;

    ^

    C:\Users\MEDP1803U\Documents\Arduino\boite-histoire-master\boite-histoire\boite-histoire.ino:20:12: note: ‘const char string_4 [286]’ previously defined here

    const char string_4[] PROGMEM = « Ma main paume vers le sol,\n tombe de bas en haut.\n Ma main paume vers le ciel, \n se replie vers moi. \n Mes doigts se replient \n sur ma main.\n Ma main se replie \n sur elle-meme. \n Mon index se replie sur \n mon poing ferme.\n Mon coude se replie. \n Ma tete dodeline. \n Mes yeux roulent. \n »;

    ^

    In file included from C:\Install\arduino-1.8.1-windows\arduino-1.8.1\hardware\arduino\avr\cores\arduino/Arduino.h:28:0,

    from sketch\boite-histoire.ino.cpp:1:

    boite-histoire-cadavre-exquis:17: error: redefinition of ‘const char string_5 []’

    const char string_5[] PROGMEM = « Dans sa grotte »;

    ^

    C:\Users\MEDP1803U\Documents\Arduino\boite-histoire-master\boite-histoire\boite-histoire.ino:21:12: note: ‘const char string_5 [293]’ previously defined here

    const char string_5[] PROGMEM = « La langue du Youshlaouna. \n La langue du Chiang-ien. \n La langue du Choubouloutone. \n La langue du Touroukoukoulou. \n La langue du : Kana:Kana. \n La langue du Tchigatchigatchiga \n La langue du rororo, \n du Bleubleubleu, \n du Fleufleufleu. \n La langue du C est bon \n c est bon \n c est bon. \n »;

    ^

    In file included from C:\Install\arduino-1.8.1-windows\arduino-1.8.1\hardware\arduino\avr\cores\arduino/Arduino.h:28:0,

    from sketch\boite-histoire.ino.cpp:1:

    boite-histoire-cadavre-exquis:18: error: redefinition of ‘const char string_6 []’

    const char string_6[] PROGMEM = « un crocodile »;

    ^

    C:\Users\MEDP1803U\Documents\Arduino\boite-histoire-master\boite-histoire\boite-histoire.ino:22:12: note: ‘const char string_6 [247]’ previously defined here

    const char string_6[] PROGMEM = « Bonjour tout le monde.\n Je suis tres content pour vous \n vous rencontrer jourdhui. \n Bon… Je tsui je vous remercie. \n Et tres bonne je suis tres chouette \n votrou… votrou… voutrou… theatre. \n Je vous remercie et bonn journée en r voir. \n »;

    ^

    In file included from C:\Install\arduino-1.8.1-windows\arduino-1.8.1\hardware\arduino\avr\cores\arduino/Arduino.h:28:0,

    from sketch\boite-histoire.ino.cpp:1:

    boite-histoire-cadavre-exquis:19: error: redefinition of ‘const char string_7 []’

    const char string_7[] PROGMEM = « un panda roux »;

    ^

    C:\Users\MEDP1803U\Documents\Arduino\boite-histoire-master\boite-histoire\boite-histoire.ino:23:12: note: ‘const char string_7 [374]’ previously defined here

    const char string_7[] PROGMEM = « Quelle chance d etre \n au pays vertueux \n des droits de l’homme, \n baigne dans la lumiere \n de l esprit des hauts nivellateurs \n tel mon bon docteur \n Joseph Ignace Guillotin. \n Chacun est libre \n de s exprimer comme il peut \n pourvu qu il ne blesse \n physiquement \n quand la propriete chaque jour \n offense la pauvrete \n des sous-pauvres \n dans un air sature d azote.\n »;

    ^

    In file included from C:\Install\arduino-1.8.1-windows\arduino-1.8.1\hardware\arduino\avr\cores\arduino/Arduino.h:28:0,

    from sketch\boite-histoire.ino.cpp:1:

    boite-histoire-cadavre-exquis:39: error: redefinition of ‘const char* const string_table1 []’

    const char* const string_table1[] PROGMEM = {string_0, string_1,string_2,string_3,string_4, string_5}; // si besoin compléter les valeurs string manquantes

    ^

    C:\Users\MEDP1803U\Documents\Arduino\boite-histoire-master\boite-histoire\boite-histoire.ino:31:19: note: ‘const char* const string_table1 [4]’ previously defined here

    const char* const string_table1[] PROGMEM = {string_4, string_5,string_6, string_7,}; // si mode cadavre exquis commentez pour désactiver
    ^
    boite-histoire-cadavre-exquis:44: error: redefinition of ‘char buffer [1040]’
    char buffer[1040]; // assurez-vous que la valeur indiquée soit supérieure au nombre maximum de caractères d’un string

    ^

    C:\Users\MEDP1803U\Documents\Arduino\boite-histoire-master\boite-histoire\boite-histoire.ino:33:6: note: ‘char buffer [1040]’ previously declared here

    char buffer[1040]; // assurez-vous que la valeur indiquée soit supérieure au nombre maximum de caractères d’un string

    ^

    boite-histoire-cadavre-exquis:46: error: redefinition of ‘int chiffreal’

    int chiffreal = 0; // définit le nom de la valeur aléatoire pour déterminer le texte à utiliser

    ^

    C:\Users\MEDP1803U\Documents\Arduino\boite-histoire-master\boite-histoire\boite-histoire.ino:35:5: note: ‘int chiffreal’ previously defined here

    int chiffreal = 0; // définit le nom de la valeur aléatoire pour déterminer le texte à utiliser

    ^

    boite-histoire-cadavre-exquis:54: error: redefinition of ‘SoftwareSerial mySerial’

    SoftwareSerial mySerial(RX_PIN, TX_PIN);

    ^

    C:\Users\MEDP1803U\Documents\Arduino\boite-histoire-master\boite-histoire\boite-histoire.ino:43:16: note: ‘SoftwareSerial mySerial’ previously declared here

    SoftwareSerial mySerial(RX_PIN, TX_PIN);

    ^

    boite-histoire-cadavre-exquis:55: error: redefinition of ‘Adafruit_Thermal printer’

    Adafruit_Thermal printer(&mySerial);

    ^

    C:\Users\MEDP1803U\Documents\Arduino\boite-histoire-master\boite-histoire\boite-histoire.ino:44:18: note: ‘Adafruit_Thermal printer’ previously declared here

    Adafruit_Thermal printer(&mySerial);

    ^

    boite-histoire-cadavre-exquis:58: error: redefinition of ‘const int buttonPin’

    const int buttonPin = 2; // le numéro de la broche utilisée par le bouton

    ^

    C:\Users\MEDP1803U\Documents\Arduino\boite-histoire-master\boite-histoire\boite-histoire.ino:47:11: note: ‘const int buttonPin’ previously defined here

    const int buttonPin = 2; // le numéro de la broche utilisée par le bouton

    ^

    boite-histoire-cadavre-exquis:59: error: redefinition of ‘const int ledPin’

    const int ledPin = 13; // le numéro de la broche utilisée par la led

    ^

    C:\Users\MEDP1803U\Documents\Arduino\boite-histoire-master\boite-histoire\boite-histoire.ino:48:11: note: ‘const int ledPin’ previously defined here

    const int ledPin = 13; // le numéro de la broche utilisée par la led

    ^

    boite-histoire-cadavre-exquis:60: error: redefinition of ‘int buttonState’

    int buttonState = 0; // variable pour vérifier l’état du bouton

    ^

    C:\Users\MEDP1803U\Documents\Arduino\boite-histoire-master\boite-histoire\boite-histoire.ino:49:5: note: ‘int buttonState’ previously defined here

    int buttonState = 0; // variable pour vérifier l’état du bouton

    ^

    C:\Users\MEDP1803U\Documents\Arduino\boite-histoire-master\boite-histoire\boite-histoire-cadavre-exquis.ino: In function ‘void vers1()’:

    boite-histoire-cadavre-exquis:63: error: redefinition of ‘void vers1()’

    void vers1 () {

    ^

    C:\Users\MEDP1803U\Documents\Arduino\boite-histoire-master\boite-histoire\boite-histoire.ino:52:6: note: ‘void vers1()’ previously defined here

    void vers1 () {

    ^

    C:\Users\MEDP1803U\Documents\Arduino\boite-histoire-master\boite-histoire\boite-histoire-cadavre-exquis.ino: In function ‘void vers2()’:

    boite-histoire-cadavre-exquis:74: error: redefinition of ‘void vers2()’

    void vers2 () {

    ^

    C:\Users\MEDP1803U\Documents\Arduino\boite-histoire-master\boite-histoire\boite-histoire.ino:63:8: note: ‘void vers2()’ previously defined here

    void vers2 () {

    ^

    C:\Users\MEDP1803U\Documents\Arduino\boite-histoire-master\boite-histoire\boite-histoire-cadavre-exquis.ino: In function ‘void setup()’:

    boite-histoire-cadavre-exquis:110: error: redefinition of ‘void setup()’

    void setup() {

    ^

    C:\Users\MEDP1803U\Documents\Arduino\boite-histoire-master\boite-histoire\boite-histoire.ino:71:6: note: ‘void setup()’ previously defined here

    void setup() {

    ^

    C:\Users\MEDP1803U\Documents\Arduino\boite-histoire-master\boite-histoire\boite-histoire-cadavre-exquis.ino: In function ‘void loop()’:

    boite-histoire-cadavre-exquis:120: error: redefinition of ‘void loop()’

    void loop() {

    ^

    C:\Users\MEDP1803U\Documents\Arduino\boite-histoire-master\boite-histoire\boite-histoire.ino:81:6: note: ‘void loop()’ previously defined here

    void loop() {

    ^

    exit status 1
    redefinition of ‘const char string_0 []’

    Un avis ?
    Merci

    • Bonjour,

      Pourriez-vous me donner des précisions sur le modèle de carte que vous utilisez ?
      Dans le doute re-téléchargez le fichier « boite-histoire.ino ».
      Avez-vous essayé avec le fichier « boite-histoire-cadavre-exquis.ino » ?

      cdlt,

  7. Bonjour,
    C’est une grande victoire pour moi malheureusement elle est loin d’être complète j’ai suivi à la lettre le protocole (qui d’ailleurs est super).
    Le soucis que je rencontre c’est que l’imprimante imprime sans s’arrêter le bouton vert de celle ci clignote sans arrêt j’ai recommencé chaque branchement un à un et toujours même résultat.
    alors j’abandonne et me tourne vers toi. une aide se serait magnifique.
    d’avance merci .

Webmentions

  • La boite à poèmes de la médiathèque – Fontenay numérique 12 mai 2017

    […] tuto (car on n’a pas toujours Julanimtic sous la main) = son article de blog et le wiki […]

  • Une boite à poèmes sous Arduino | Stéphane Bataillon 12 mai 2017

    […] des outils pour faire la révolution lèvent le doigt ! Pour faire la votre, suivez le guide > http://blog.animtic.fr/2016/08/boite-a-histoires-v1/ […]

  • La boite à poèmes | Stéphane Bataillon 12 mai 2017

    […] des outils pour faire la révolution lèvent le doigt ! Pour faire la votre, suivez le guide > http://blog.animtic.fr/2016/08/boite-a-histoires-v1/ […]

  • Jouer avec les Mo – VOCABULONS 12 mai 2017

    […] La boite à histoire Créer une histoire avec tous les ingrédients et le mode d’emploi délivré sur  le blog de Julien Devriendt. Une recette à partager ! http://blog.animtic.fr/2016/08/boite-a-histoires-v1/ […]