まずは、作法に則ってLチカ。
テストということで、「VVV」の繰返し。
わざわざLEDを付けなくても良かったみたい。ボード上にも13番ピンにつながったLEDが搭載されているようだ(USBコネクタの側の青LED)。 互換機だからかな?ちなみに、Seeeduino v4.2というもの。
/* Lチカ: VVV
* (C) 2020 JH4VAJ
*/
#define CW_DOT_LEN 150 // 短点の長さ (ms) これがすべての基準(これだけ変えればOK)
#define CW_DASH_LEN (CW_DOT_LEN * 3) // 長点の長さ
#define CW_SPACE_CODE_LEN CW_DOT_LEN // 点間隔
#define CW_SPACE_LETTER_LEN (CW_DOT_LEN * 3) // 文字間隔
#define CW_SPACE_PHRASE_LEN (CW_DOT_LEN * 7) // 語間隔
#define DOT 0
#define DASH 1
#define CODE 0
#define LETTER 1
#define LETTER_END 2
#define PHRASE 3
#define SPACE_CODE delay(CW_SPACE_CODE_LEN);
#define SPACE_LETTER delay(CW_SPACE_LETTER_LEN);
#define SPACE_PHRASE delay(CW_SPACE_PHRASE_LEN);
#define LEDpin 13
void setup() {
// put your setup code here, to run once:
pinMode(LEDpin, OUTPUT);
}
void loop() {
// put your main code here, to run repeatedly:
output_letter_V();
SPACE_LETTER
output_letter_V();
SPACE_LETTER
output_letter_V();
SPACE_PHRASE
}
void output_LED(int dot_dash, int space) {
digitalWrite(LEDpin, HIGH);
if (dot_dash == DOT) {
delay(CW_DOT_LEN);
}
else {
delay(CW_DASH_LEN);
}
digitalWrite(LEDpin, LOW);
switch (space) {
case CODE:
SPACE_CODE
break;
case LETTER:
SPACE_LETTER
break;
case PHRASE:
SPACE_PHRASE
break;
case LETTER_END:
default:
break;
}
return;
}
void output_letter_V() {
output_LED(DOT, CODE);
output_LED(DOT, CODE);
output_LED(DOT, CODE);
output_LED(DASH, LETTER_END);
return;
}
こんなもん、使いたい人がいるとは思えないけど、もし試してみたければご自由に(著作権は放棄しませんが)。
しかし、なんで「スケッチ」っていうんだろう?絵を書くのは苦手なので「スケッチ」と言われるとなんだかハードルが高く感じるんだけど…。
コメント