Arduino day 2015 – Telephone game

Arduino Telephone gameThis year’s Arduino day we left our hackerspace Crunchlab in the morning to spend the day with our friends from Trieste and help them in the opening of their hackerspace, the Mittelab.  After an evening filled with Arduino and soldering workshops, I was looking at all the arduinos left from the workshop and had a dumb idea: let’s play a telephone game! So I connected all the arduinos together, loaded a simple sketch and started throwing characters at them!

#include <SoftwareSerial.h>

SoftwareSerial mySerial(10, 11); // RX, TX

void setup()
{
  Serial.begin(1200);
  mySerial.begin(1200);
  pinMode(13, OUTPUT);
}

void loop() // run over and over
{
  if (mySerial.available())
  {
    digitalWrite(13, HIGH);
    mySerial.write(mySerial.read()+1);
    digitalWrite(13, LOW);
  }
}

That’s the result. The funny thing is that, much like the human telephone game, the arduinos are sometimes getting the wrong message through. I don’t know why; the software serial port is obviously not optimal but shouldn’t produce all these errors, especially at 1200bps and with no other code running. Can it be that I’m toggling the LED before calling the serial.read function?
Well, I was too tired to debug and I didn’t have a logic analyzer on hand that would have allowed me to catch wich arduino is changing the message. I also didn’t think about making an endless loop until I disassembled everything; that may be a project for next year, maybe with 100 arduinos! 🙂

PS: in the video, I call the game “chinese whisper”. That was the first google result for the translation from italian, but after reading more I see that “Today, the name “Chinese whispers” is said by some to be considered offensive.“. Sorry for that chinese friends, but to be honest I must say that, having been in China recently, I kinda agree that “Using the phrase “Chinese whispers” suggested a belief that the Chinese language itself is not understandable”. 🙂

2 thoughts on “Arduino day 2015 – Telephone game”

  1. Consider the currentconsumption from 12 arduinos AND a serial connection.

    USB gives you 500mA/12~40mA seems still good enough.

    But you are running Serial protocol once a second?

    And only one not so stable voltagesource.

    hmmmmmmm

    1. Yep, 41mA should be enough, but a test with a better power source is a good idea! I’ll remember it for next time 🙂

Leave a Reply

Your email address will not be published. Required fields are marked *