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?. 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
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.
et toujours un bon recap http://jeromeabel.net/ressources/xbee-arduino
idée d'ajouter un protocole de transmission infra-rouge entre les bracelets …
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 …
du codage RTTY sur la lumière : http://www.timzaman.com/?p=854
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
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.
piste rtty librairie for arduino
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/
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…
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
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$ |
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$ |
platine tactile | https://www.sparkfun.com/products/9695 | MPR121: 8 Capacitive Touch Sensor, i2c + 8 led | 10$ |
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
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…
pg a faire
test de frequences qui passent bien entre hp et electret
utiliser 5 sorties pour commander 16 leds par démultiplexage
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 :
/* FreqMeasure - Example with serial output * http://www.pjrc.com/teensy/td_libs_FreqMeasure.html * * This example code is in the public domain. */ #include <FreqMeasure.h> 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 <FreqMeasure.h> 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
http://www.avdweb.nl/arduino/hardware-interfacing/frequency-period-counter.html
peut etre pas adapté pour nous
piste??
#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)
La piste d'un bracelet arduino-tout-petit/radio/led/GPS se precise ;)