Thank you very much martin,
Adding a "print" to [comport] I see the list of 12 ascii values.
Having a single [0...255] number from Arduino would be easier and
probably the best way to go. But I also wish to understand if pure
data can make the job.
For that I used a [list prepend] [list append] to obtain a list of my
two-digits numbers.
Putting a [print] after [list append] allows me to see the inline list:
print: 48 49 48 52 52 53 69 56 66 56
And that leads me to a more general question: could I compare a list
to another list and obtain a BANG as they match?. At first I was
thinking of using [select], but I don't know if it can manage lists
and how.
Il giorno 10/dic/09, alle ore 19:36, martin.peach@sympatico.ca
martin.peach@sympatico.ca ha scritto:
lineacurva wrote:
Hi guys,
I'm working on my first RFID project, involving Arduino and Pure Data. I use Innovation Id-20 reader and Arduino 2009. I'm stuck in a problem with "comport".
As I put a transponder near the reader, in Arduino serial monitor I can see a number like: 495211712056
But in the little patch I attach here, comport reads: 53
This is a problem since more than one transponder give me a "53" feedback (but a different 12 digits number in Arduino monitor).
53 is the ASCII value of the character '5'. Probably if you add a
[print] to the [comport] output you would get a list of 12 ASCII
values for each sample.In Pd you need to accumulate the list of incoming ASCII codes,
subtract 48 (ASCII '0') from each, and route them accordingly. A 12- digit number won't display correctly as a float. Probably it's
easier in Arduino to make your numbers ints on [0..255] and send
them as BYTE. Then you get one number per sample and don't need to
handle lists.Martin