mirror of
https://github.com/arduino/Arduino.git
synced 2024-12-11 22:24:13 +01:00
95 lines
2.8 KiB
C++
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());
|
|
}
|