Outils pour utilisateurs

Outils du site


teta:jeux_simplistes

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?. 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

Base communications

  1. radio
  2. infra rouge
  3. 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

infra-rouge

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 …

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 :-)

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…

Trucs sur l'analyse de signal audio

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 rouge5$
IR recepeurhttps://www.sparkfun.com/products/10266IR Receiver Diode2$
IR emet https://www.sparkfun.com/products/10732 IR led amplifiée3$

boutons taciles

platine tactilehttps://www.sparkfun.com/products/9695MPR121: 8 Capacitive Touch Sensor, i2c + 8 led10$

Radio balises simple

ajouter

on a un récepteur et une balise

si on veut séparer:

emet 433MHz https://www.sparkfun.com/products/10534RF Link Transmitter - 434MHz WRL-10534 4$
recept 433MHz https://www.sparkfun.com/products/10532RF 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

Transceiverhttps://www.sparkfun.com/products/9582RFM12B-S2 Wireless Transceiver7$

Ce circuit permet la communication entre les arduinos, il crée un réseau radio en broadcast, pas tres simple a utiliser mais bon…

Circuits

recap sonore

pg a faire

test de frequences qui passent bien entre hp et electret

partie belles led

codes trouvés

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 <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

2emetest en phonie FreqCount

Arduino SoftModem

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)

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

doc Arduino et radio trouvées

teta/jeux_simplistes.txt · Dernière modification: 2017/04/11 15:51 (modification externe)