Show Posts
Pages: 1 2 [3] 4 5 6
31  Development / Other Hardware Development / New board: ATmega1280 + Wi-Fi + SD + MP3 on: March 20, 2012, 06:43:26 am
Hi everyone !

I’m part of the team behind the reaDIYmate project and I’d like to introduce the board I’ve been working on, both on the hardware and software sides.

The hardware
The reaDIYmate board is based on the Arduino Mega but it has many additional onboard components including a WiFly Wi-Fi module, a microSD card and a MP3 decoder. Below is a picture of our latest prototype!


As you can see, the headers on the board are mechanically compatible with the Arduino shield footprint. Furthermore, the four solderless connectors make it dead-simple to plug sensors – they are compatible with the Grove Series from SeeedStudio.

Of course this board will be Open Source Hardware. The SD card and the MP3 decoder are on the SPI bus while the Wi-Fi module is connected to UART1 with a few extra pins used for hardware control of the TCP socket.

The wiring of the board was done in order to use as few “standard Arduino” pins as possible. For example, the status LED uses pins PD4 and PD5. Since the Arduino IDE now provides a very simple mechanism to add new variants we have created our own variant with new pin numbers. Thus the status LED is on pins 78-79, the MP3 decoder uses pins 70-73 and the WiFly module uses pins 73-76.

The software
The board itself is cool but what (I think) is even cooler is that it will come with a whole bunch of libraries that give access to all these peripherals and let you do things such as:

  • play MP3s from the SD card
  • download files from a URL and save them to the SD card
  • send messages to/from the board in realtime using Websocket
  • synchronize the motion of a servo with audio playback

We also have a set of webservices that allow our products built around this board to manage application settings, synchronize files and provide easy access to a variety of popular APIs such as Gmail, Twitter, Facebook, etc.

Furthermore I've also written have a bootloader called reaDIYboot which gives the board two ways of programming itself:
  • Over a serial link using the STK500v1 protocol to receive new programs from Arduino/avrdude.
  • Over the internet using the WiFly module from to retrieve new programs from a remote server.

reaDIYboot is currently in a beta stage and works quite well with programs up to 128kB, but I’m not done writing the documentation yet and I’m still trying to increase the baudrate from 250 to 500 kbaud.

What do you think?
This board and its software are at the heart of the reaDIYmates which are fun DIY-internet-connected-papercraft companions.

We’ve just launched on Kickstarter to fund the manufacturing of these little guys! If you’re interested in this board and want one for yourself you can pledge $100 for the Barebone edition - if you like the Paper Toys or the Kinetic Sculpture you can also order one smiley
32  International / Français / Re: Table de mixage+kinect+arduino mega on: March 13, 2012, 06:33:21 am
A mon avis la prochaine étape, c'est capturer les messages de Synapse, mais le site ne dit pas explicitement comment faire, peut-être qu'il faut demander à l'auteur ?
33  International / Français / Re: Table de mixage+kinect+arduino mega on: March 13, 2012, 06:16:20 am
Oui j'ai bien compris ce que tu veux faire.

J'ai trouvé l'information qu'il te faut avec le lien que tu as donné.

Synapse is an app for Mac and Windows that allows you to easily use your Kinect to control Ableton Live [...] and any other application that can receive OSC events. It sends joint positions and hit events via OSC.

En gros Ableton Live n'est pas a priori indispensable, sauf si tu en as besoin pour mixer en même temps que tu utilises la table. ce qui est important ce sont les événements OSC, c'est-à-dire les messages envoyés par Synapse pour véhiculer les infos venant du Kinect.

Tu as besoin d'un programme qui récupère ces messages et qui les envoie à l'Arduino, par exemple via l'UART. Ensuite il tu fais un programme sur l'Arduino qui interprète ces messages en mouvement des moteurs.
34  International / Français / Re: Table de mixage+kinect+arduino mega on: March 13, 2012, 05:18:01 am
Comment Ableton peut-il communiquer avec l'extérieur ? En MIDI ? Quel genre de commandes envoie-t-il ?
35  International / Français / Re: [Projet] Montage de mesure de stabilité on: March 07, 2012, 11:33:45 am
Est-ce que ceci serait pertinent ? http://www.esawdust.com/blog/ragel/files/RagelGPSAVRATMega128.html

J'étais tombé sur cet article il y a quelques mois quand je cherchais des infos sur Ragel. Je n'ai pas testé l'application décrite, mais j'ai utilisé Ragel pour d'autres parsers et il est vraiment très très bien.
36  International / Français / Re: simulation limitation occupation memory on: March 01, 2012, 09:35:37 am
Lorsqu'un programme utilise des types qui occupent plusieurs registres - typiquement des long - le compilateur traite et alloue les registres indépendamment les uns des autres ce qui permet de générer un code machine plus efficace.

Il y a une option -fno-split-wide-types qui permet de désactiver cette optimisation, mais elle n'est vraiment utile que pour débugger plus facilement l'assembleur généré et elle est inactive par défaut.

Donc en théorie les deux solutions devraient être équivalentes. Si tu as l'occasion de faire un comparatif, ça m'intéresse de savoir si c'est le cas en pratique  smiley-mr-green
37  International / Français / Re: equivalent broche pmw on: March 01, 2012, 04:24:19 am
Bonjour,

Tu peux préciser quelle carte tu utilises ? Je suppose que tu voulais dire rev3 et pas rsv3, mais il s'agit de quel modèle exactement, Uno ou Mega ?
38  International / Français / Re: simulation limitation occupation memory on: March 01, 2012, 04:07:09 am
Salut,

Peut-être une piste du côté des champs de bits. Extrait de la page bit field sur Wikipedia)

+1

C'est une excellente technique pour optimiser l'occupation de la mémoire, d'ailleurs elle est utilisée (entre autres) dans le bootloader Arduino.
39  International / Français / Re: Recuperation Infos serie ->Parse -> Ethernet on: February 27, 2012, 06:00:48 am
Ton tableau contient 53 octets, qui correspondent bien aux 53 caractères de ta trame (en comptant les espaces).
Par contre Serial.println() s'arrête au premier caractère non nul, donc si tu veux éviter d'avoir des caractères aléatoires qui s'affichent après il faut replacer char id[53] = {0}; par char id[54] = {0};.
40  International / Français / Re: Recuperation Infos serie ->Parse -> Ethernet on: February 24, 2012, 12:16:11 pm
Salut,

Tu utilises Arduino 1.0 ou Arduino 0023 (ou 0022, etc.) ?

En supposant que tout est parfait et qu'il n'y a jamais d'erreurs, tu peux faire quelque chose du genre avec la 1.0 :

Code:
char mode[8];
Serial.find("Mode: ");
Serial.readBytesUntil('\r', mode, 8);

char info[8];
Serial.find("INFO: ");
Serial.readBytesUntil('\r', info, 8);

char util[16];
Serial.find("Utilisation :");
Serial.readBytesUntil('r', util, 16);

char texte[8];
Serial.find("texte: ");
Serial.readBytesUntil('\r', texte, 8);

char spare[8];
Serial.find("Spare: ");
Serial.readBytesUntil('\r', spare, 8);

char aux[8];
Serial.find(" = ");
Serial.readBytesUntil(' ', aux, 8);

char id[32];
Serial.find("Identifiant: ");
Serial.readBytesUntil('\r', id, 32);

Pour le 316 et le 0 si tu veux récupérer les valeurs numériques au lieu de simplement copier les chiffres, tu peux utiliser Serial.parseInt(), de même pour 121.5 avec Serial.parseFloat().
41  International / Français / Re: Voir le code assembleur on: February 24, 2012, 05:18:07 am
En l'occurrence il s'agit d'une série de if .. else if avec des dizaines de cas, et comme c'est le bootloader ils en sont vraiment à l'octet près en termes de taille du programme  smiley
42  International / Français / Re: sauvegarder des réglage sur sd ? on: February 23, 2012, 05:57:40 am
file.read() te renverra toujours un byte, donc si tu veux un lire un float tu es obligé de le convertir.

Essaie :

Code:
float b = file.parseFloat()
Serial.println(b);
43  International / Français / Re: sauvegarder des réglage sur sd ? on: February 22, 2012, 11:29:20 am
Tu pourrais poster un extrait du fichier texte enregistré sur la SD, histoire de voir quelle tête il a ?
44  International / Français / Re: sauvegarder des réglage sur sd ? on: February 22, 2012, 10:48:24 am
Hello,

file.read() ne lit qu'un caractère dans le fichier texte. Si tu as stocké le nombre "42", file.read() va renvoyer le caractère 4 sous la forme d'un code ASCII. En ASCII, le caractère '4' est représenté par la valeur 52 (lien), d'où le 52.

Je n'ai pas de quoi tester sous la main, mais si tu es avec arduino 1.0 tu devrais essayer de remplacer file.read() par file.parseInt().

Dis-moi ce que ça donne
45  International / Français / Re: arduino wifi on: February 21, 2012, 10:15:33 am
Le RN-XV de Roving Networks est une tuerie
Pages: 1 2 [3] 4 5 6