====== Bracelet de jeux ====== Projet en changement, j'ai décidé d'inclure l'idée du bracelet au projet des espaces enchevetres initial. Le bracelet est l'interface, a la place du gant, connectée à Raspeberrie/BBblack?. [[:teta:La page du bracelet pour les espaces]]. ====== ====== **Projet de départ** Un micro-controleur est programmé pour allumer des led ou faire un son des qu'il reconnaît un code radio ou phonique dans un espace d'une 20ene de mètres Le bracelet est fait de pièces fabriquées avec l'imprimante 3D. une série de plaque de 3x2cm reliées entre elles par des fils et/ou des charnières/attaches plastiques. certaine plaque ont des led , 5 ou 6 pour illuminer tous le tour du poignet de flash rythmiques look ? http://learn.adafruit.com/3d-printed-enclosure-for-the-timesquare-diy-watch-kit ====Base arduino==== * http://www.lextronic.fr/P4129-platine-arduino-pro-mini---33-v--8-mhz.html 11.36€ * http://www.watterott.com/en/Wattuino-pro-mini-5V-16MHz 5V/16MHz 10€ 33mm * http://www.adafruit.com/products/1501 Trinket - Mini Microcontroller - 5V 8K 8$ * http://www.seeedstudio.com/wiki/Xadow =====Base communications ===== - radio - infra rouge - sonore Du coup un bracelet devrait revenir à une 20€... Le programme doit être écrit puis téléchargé dans le bracelet. des émetteurs radios ou sonores sont disposés dans des pièces, ou des espaces relativement éloignés, plus ou moins cachés. Une balise sonore peut être dans une boite pour en limiter la diffusion. Les joueurs qui passent à proximité des balises, voient leur bracelet réagir. Chaque balise possède un code particulier. Donc on peut programmer des parcours, des actions avec des capteurs simples ajouté au bracelet. Les codes des balises peuvent changer suivant le temps, puisque ils sont générer par un programme sur l'arduino. ====radio==== * http://skyduino.wordpress.com/2011/12/29/tutoriel-arduino-et-emetteurrecepteur-433mhz-virtualwire/ * http://www.lextronic.fr/P855-recepteur-43392-mhz-rr3-433.html 3.96€ 18x33mm * http://www.lextronic.fr/P1089-emetteur-43392-mhz-rt2-433.html 4.78€ 17x10,1mm * http://www.evola.fr/product_info.php/kit-transmission-433mhz-compatible-arduino-p-162 * http://www.glacialwanderer.com/hobbyrobotics/?p=291 et toujours un bon recap http://jeromeabel.net/ressources/xbee-arduino * http://www.pjrc.com/teensy/td_libs_VirtualWire.html ====infra-rouge==== idée d'ajouter un protocole de transmission infra-rouge entre les bracelets ... * http://www.pjrc.com/teensy/td_libs_IRremote.html * http://www.righto.com/2009/08/multi-protocol-infrared-remote-library.html <- prévoir une plaque du bracelet, celle du dessous du poignet pour la transmission. En levant le bras , comme un salut, les 2 joueurs mettent face à face les plaques de communication infra-rouge. Il faut écrire un protocole pour la communication en half-duplex simple Cela peut permettre de passer de l'info d'un bracelet à un autre, pour 5 ou 6€ et aussi de penser les jeux sans radio , juste ir. cela limite la porté a 5 m et il faut compter sur les problemes de lumières ambiantes, soleil ... ====lumière visible==== du codage RTTY sur la lumière : http://www.timzaman.com/?p=854 ====sonore==== En utilisant de simple HP et des micros, on peut utiliser la technique de modem en basse vitesse (50 ou 300bauds) codage AFSK FSK... : http://en.wikipedia.org/wiki/Radioteletype , http://fr.wikipedia.org/wiki/Code_Baudot A tester :-) * http://www.whence.com/minimodem/ * http://blog.theultimatelabs.com/2013/05/wirelessly-communicating-with-arduino.html des informations peuvent être transmises avec l'ambiance sonore qu'il y a dans les pieces, les espaces : mélangé à la musique. Ainsi ou peut rythmer le jeu pour l'ensemble des joueurs. Les balises peuvent êre des enregistrements sonores tournant en boucle sur des magnétophones, ou de simple lecteur audio . Leur portée est celle du son audible et distincte. * http://www.freetronics.com/products/microphone-sound-input-module#.UlmmUbOlhak * https://www.sparkfun.com/products/9964 Breakout Board for Electret Microphone 8$ * info connexion electret http://www.sonelec-musique.com/electronique_bases_alim_micro_electret.html piste rtty librairie for arduino * http://www.timzaman.com/?p=1053 * https://github.com/kylehotchkiss/rtty * http://wdhab.blogspot.fr/2011/11/rtty-library-for-arduino.html * http://timzaman.wordpress.com/code-c-arduino/radio-baudot/ * http://www.timzaman.nl/?p=138&lang=en * http://www.codeforge.com/article/136495 Gnome mfsK, RTTY, THROB, PSK31, MT63 code C meilleurs correction d'erreur PSK31 http://brainwagon.org/2011/07/22/the-kansas-city-standard/ , trouver du code arduino ? base c ftp://metalab.unc.edu/pub/Linux/apps/ham/ * http://interface.khm.de/index.php/lab/experiments/arduino-dds-sinewave-generator/ * http://satilla.com/wy/arduino-digi-wy7a.zip <= RTTY actually uses two tones for 1 and 0 bits (2125 and 2295 HZ for a 170 HZ shift, or 2125 and 2325 HZ for a 200 HZ shift. PSK uses only a single tone (frequency), but varies the phase of that tone by 180 degree Il est peut être possible de recevoir et décoder une information rtty parmi plusieurs, si plusieurs émetteurs parlent en même temps, plusieurs joueurs présent? C'est presque sur qu'un unique signal rtty peut être décoder par plusieurs joueurs en même temps. Nous aurions donc des bracelets qui réagissent à des codes sonores, émis par d'autre bracelets ou des balises , des messages diffusés. Un bracelet se tenant très proche d'un ou plusieurs autres pourrait leur passer un message. Le jeu ressemblerait à des nués de grillons se déplaçant de pièces en pièces avec des bracelets clignotants... ==== Trucs sur l'analyse de signal audio ==== * http://bochovj.wordpress.com/2013/06/23/sound-analysis-in-arduino/ * http://wiki.openmusiclabs.com/wiki/ArduinoFFT0 * http://wiki.openmusiclabs.com/wiki/FHTExample => exemple * http://interface.khm.de/index.php/lab/experiments/frequency-measurement-library/ * http://www.instructables.com/id/Arduino-Audio-Input/ * http://www.instructables.com/id/Arduino-Frequency-Detection/ * http://phd.lewissykes.info/webdisk/Arduino_FrequencyMeasurement_code.zip => sans fft avec celle la : * http://interface.khm.de/index.php/lab/experiments/frequency-measurement-library/ * https://github.com/enternoescape/Arduino-FreqPeriod-Due * http://www.avdweb.nl/arduino/hardware-interfacing/frequency-period-counter.html ===== Alimentation ===== Si on pense l'autonomie en terme de pile/batterie de type AAA 1250mA, 2 piles, il faut prévoir 1 ou 2 plaquettes du bracelet pour leur logement. Ce qui implique une alim en 3.3v on pourrai utiliser http://www.robotshop.com/convertisseur-cc-ncp1402.html 1à3V -> 3V ===== Proto ===== ==== Base arduino pro mini ==== |arduino |https://www.sparkfun.com/products/11114| Arduino Pro Mini 328 - 3.3V/8MHz |10$|| |alim |https://www.sparkfun.com/products/10967 |convertissuer 3V |6$|| |2 piles ||AAA |2$|| |5 leds|| led de couleur?|2$|| ==== Simple IR ==== |led IR|| systeme infra rouge|5$|| | IR recepeur|https://www.sparkfun.com/products/10266|IR Receiver Diode|2$|| | IR emet |https://www.sparkfun.com/products/10732| IR led amplifiée|3$|| ==== boutons taciles ==== |platine tactile|https://www.sparkfun.com/products/9695|MPR121: 8 Capacitive Touch Sensor, i2c + 8 led|10$|| ==== Radio balises simple ==== ajouter |trans 433MHz |http://www.evola.fr/product_info.php/kit-transmission-433mhz-compatible-arduino-p-162|Kit de transmission RF 433Mhz|5€|| on a un récepteur et une balise si on veut séparer: | emet 433MHz| https://www.sparkfun.com/products/10534|RF Link Transmitter - 434MHz WRL-10534 | 4$|| | recept 433MHz| https://www.sparkfun.com/products/10532|RF Link Receiver - 4800bps (434MHz) WRL-10532 |5$|| et donc avoir plusieurs balises indépendantes un émetteur (4$) + cicuit de codage balise ht12e (4€) + pile pour une balise autonome. en gros il faut prévoir 10€ pour une balise ==== Radio balises communicante ==== | Transceiver|https://www.sparkfun.com/products/9582|RFM12B-S2 Wireless Transceiver|7$|| Ce circuit permet la communication entre les arduinos, il crée un réseau radio en broadcast, pas tres simple a utiliser mais bon... * http://jeelabs.org/2011/02/02/meet-the-rfm12b-board/ * http://moderndevice.com/product/jeenode-micro-v3/ <= ====== Circuits ====== ===== recap sonore ===== * http://www.lextronic.fr/P4095-microphone-preamplifie.html tout fait 5,9€ * hp récup * http://www.lextronic.fr/P4129-platine-arduino-pro-mini---33-v--8-mhz.html 11,36€ * http://www.lextronic.fr/P26694-platine-convertisseur-dc-dc-33v.html 4,9€ * leds récup * 2 piles AAA 1€ pg a faire test de frequences qui passent bien entre hp et electret ===== partie belles led ===== utiliser 5 sorties pour commander 16 leds par démultiplexage * 74HC4067 : http://tronixstuff.com/2013/08/05/part-review-74hc4067-16-channel-analog-multiplexerdemultiplexer/ * SN74LS157N version serie : http://moderndevice.com/product/allegro-a6279-16-bit-serial-led-driver-chip/ LED RGB : http://moderndevice.com/product/rgb-leds-common-anode/ .5$ **en matrice :** http://www.miniinthebox.com/fr/module-d-affichage-max7219-dot-matrix-module-module-de-microcontroleur-du-module-de-commande-arduino_p639090.html ===== codes trouvés ===== * http://bochovj.wordpress.com/2013/06/23/sound-analysis-in-arduino/ commencer par la * http://code.google.com/p/arms22/downloads/list?can=2&q=SoftModem+label%3AFeatured : Arduino SoftModem * https://sites.google.com/site/measuringstuff/the-arduino prescale vers le 77KHz ... * http://interface.khm.de/index.php/lab/experiments/frequency-measurement-library/ <= * http://interface.khm.de/index.php/lab/experiments/arduino-frequency-counter-library/ <==? * http://www.pjrc.com/teensy/td_libs_FreqMeasure.html * http://www.pjrc.com/teensy/td_libs_FreqMeasure.html#compare choisir FreqMeasure ou FreqCount ? ===== 1er test en phonie FreqMeasure ===== * arduino sparkfun pro mini 5v et la librairie http://www.pjrc.com/teensy/td_libs_FreqMeasure.html * electret amplifié cf ci-dessus, connecté 5V,GND et Pin 8 * une connexion ftdi qui va ( ici dfrobot mais il y en a d'autre) * un pd-extended pour générer une sinus sur mon casque /* FreqMeasure - Example with serial output * http://www.pjrc.com/teensy/td_libs_FreqMeasure.html * * This example code is in the public domain. */ #include void setup() { Serial.begin(57600); FreqMeasure.begin(); } double sum=0; int count=0; void loop() { if (FreqMeasure.available()) { // average several reading together sum = sum + FreqMeasure.read(); count = count + 1; if (count > 30) { double frequency = F_CPU / (sum / count); Serial.println(frequency); sum = 0; count = 0; } } } avec un minimodem --tx 50 -5 pour l’émission audio #include void setup() { Serial.begin(57600); FreqMeasure.begin(); } double sum=0; int count=0; int freqO=1413; int freq1=1583; void loop() { if (FreqMeasure.available()) { // average several reading together sum = sum + FreqMeasure.read(); count = count + 1; if (count > 20) { double frequency = F_CPU / (sum / count); if (frequency > 1403) { if (frequency < 1470) { Serial.println("0"); } }; if (frequency > 1573) { if (frequency < 1593) { Serial.println("1"); } }; // Serial.println(frequency); sum = 0; count = 0; } } } j'ai un retour en 57600bauds des fréquences :) en approchant le micro ... assez simple de fait. Le code prend 4298 bytes (of a 30720 byte maximum) ce qui laisse de la place. Peut etre filtrer davantage pour un environnement plus bruyant cf http://www.pjrc.com/teensy/td_libs_FreqMeasure.html ===== 2emetest en phonie FreqCount ===== http://www.avdweb.nl/arduino/hardware-interfacing/frequency-period-counter.html * pin 5 peut etre pas adapté pour nous =====Arduino SoftModem===== piste?? * http://forum.arduino.cc/index.php?PHPSESSID=o5odhagd2cd9ifd5ga15oa9r27&topic=86351.15 * http://www.elechouse.com/elechouse/index.php?main_page=product_info&cPath=90_92&products_id=2199 * http://sree.cc/electronics/arduino-as-an-fsk-modem filtre 0.2yF/100Kx2 #define SOFT_MODEM_BAUD_RATE (50) #define SOFT_MODEM_LOW_FREQ (1413) #define SOFT_MODEM_HIGH_FREQ (1583) #define SOFT_MODEM_RX_BUF_SIZE (4) ====== Infra-rouge ====== * les codes sont plus simples * Utiliser l'IR permet de récupérer les télécommandes. * les zones sont définie par l'émetteur sur 4,5 m ... bien positionné , * a voir si lentille grand angle possible ==== doc Arduino et IR trouvées==== * http://learn.adafruit.com/ir-sensor * http://playground.arduino.cc/Code/InfraredReceivers * http://www.righto.com/2009/08/multi-protocol-infrared-remote-library.html ==== doc Arduino et radio trouvées==== La piste d'un bracelet arduino-tout-petit/radio/led/GPS se precise ;) * achat http://www.cooking-hacks.com/shop/wireless/rfm12b-s2-wireless-transceiver * http://www.airspayce.com/mikem/arduino/RF22/index.html * http://www.cisforcolin.net/2011/01/arduino-and-rfm22.html