1
0
mirror of https://github.com/arduino/Arduino.git synced 2024-12-11 22:24:13 +01:00
Arduino/libraries/Esplora/examples/EsploraRemote/EsploraRemote.ino
2012-12-07 18:11:07 +01:00

95 lines
2.8 KiB
C++

/*
Esplora Slave
This sketch allows to test all the Esplora's peripherals.
It is also used with the ProcessingStart sketch (for Processing).
When uploaded, you can open the Serial monitor and write one of
the following commands (without quotes) to get an answer:
"D": prints the current value of all sensors, separated by a comma.
See the dumpInputs() function below to get the meaning of
each value.
"Rxxx"
"Gxxx"
"Bxxx": set the color of the RGB led. For example, write "R255"
to turn on the red to full brightness, "G128" to turn
the green to half brightness, or "G0" to turn off
the green channel.
"Txxxx": play a tone with the buzzer. The number is the
frequency, e.g. "T440" plays the central A note.
Write "T0" to turn off the buzzer.
Created on 22 november 2012
By Enrico Gueli <enrico.gueli@gmail.com>
*/
#include <Esplora.h>
void setup() {
while(!Serial); // needed for Leonardo-based board like Esplora
Serial.begin(9600);
}
void loop() {
if (Serial.available())
parseCommand();
}
/*
* This function reads a character from the serial line and
* decide what to do next. The "what to do" part is given by
* function it calls (e.g. dumpInputs(), setRed() and so on).
*/
void parseCommand() {
char cmd = Serial.read();
switch(cmd) {
case 'D': dumpInputs(); break;
case 'R': setRed(); break;
case 'G': setGreen(); break;
case 'B': setBlue(); break;
case 'T': setTone(); break;
}
}
void dumpInputs() {
/*
* please note: a single row contains two instructions.
* one is to print the sensor value, the other to print the
* comma symbol.
*/
Serial.print(Esplora.readButton(SWITCH_1)); Serial.print(',');
Serial.print(Esplora.readButton(SWITCH_2)); Serial.print(',');
Serial.print(Esplora.readButton(SWITCH_3)); Serial.print(',');
Serial.print(Esplora.readButton(SWITCH_4)); Serial.print(',');
Serial.print(Esplora.readSlider()); Serial.print(',');
Serial.print(Esplora.readLightSensor()); Serial.print(',');
Serial.print(Esplora.readTemperature(DEGREES_C)); Serial.print(',');
Serial.print(Esplora.readMicrophone()); Serial.print(',');
Serial.print(Esplora.readJoystickSwitch()); Serial.print(',');
Serial.print(Esplora.readJoystickX()); Serial.print(',');
Serial.print(Esplora.readJoystickY()); Serial.print(',');
Serial.print(Esplora.readAccelerometer(X_AXIS)); Serial.print(',');
Serial.print(Esplora.readAccelerometer(Y_AXIS)); Serial.print(',');
Serial.print(Esplora.readAccelerometer(Z_AXIS)); Serial.println();
}
void setRed() {
Esplora.writeRed(Serial.parseInt());
}
void setGreen() {
Esplora.writeGreen(Serial.parseInt());
}
void setBlue() {
Esplora.writeBlue(Serial.parseInt());
}
void setTone() {
Esplora.tone(Serial.parseInt());
}