Предположим, я хочу создать приложение, которое позволит пользователю вводить сообщение на Android и отображать его в коде Морзе на Arduino, переключая светодиод. Сообщение в коде Морзе состоит из серии штрихов (LONGS) и точек (шорт). Эти штрихи и точки могут отображаться, включив светодиод для правильного количества единиц времени.Код Морзе Arduino, переключая тот же светодиод
#include <Usb.h>
#include <AndroidAccessory.h>
#define LED_PIN 13
#define SHORT 0
#define LONG 1
#define LETTER 2
#define WORD 3
#define STOP 4
#define UNIT 250
AndroidAccessory acc("testing",
"morse_code",
"CoolAccessory",
"1.0",
"http://www.example.com/CoolAccessory",
"0000000");
void setup()
{
// set communiation speed
Serial.begin(115200);
pinMode(LED_PIN, OUTPUT);
acc.powerOn();
}
void loop()
{
byte msg[125];
if (acc.isConnected()) {
int len = acc.read(msg, sizeof(msg), 1); // read data into msg variable
if (len > 0) { // Only do something if a message has been received.
displayMorseCode(msg, len);
}
}
else
digitalWrite(LED_PIN , LOW); // turn off light
}
//For toggle the LED for certain length of time use the delay()
//call delay(UNIT) to pause execution of UNIT milliseconds
//long unit *3 , short = unit
void displayMorseCode(byte* msg, int len) {
// TODO :Interpret the message toggle LED on and off to display the
morse code
if (msg[0] == 1)
digitalWrite(LED_PIN,HIGH);
else
digitalWrite(LED_PIN,LOW);
}
Сообщение состоит из следующих значений, которые были определены как константы:
КОРОТКИЕ: точка в Морзе
LONG: тир Морзе
ПИСЬМУ: конец письма в азбуке WORD: конец слова в morse STOP: конец morse ex: сообщение «SOS», закодированное как (КОРОТКИЕ, КОРОТКИЕ, КОРОТКИЕ, ПИСЬМО, ДОЛГО, ДЛИННО, ДЛИННО, ПИСЬМО, КОРОТКИЙ, КРАТКИЙ, КРАТКИЙ, ПИСЬМО, СЛОВО, СТОП)
Как реализовать displayMorseCode для этой функции?
Нет, это часть Arduino. –