Arduino Leonardo互換品
正式名称なのかどうか分からんけど、ebayでは左から、SS Micro、CJMCU、DM Micro(もしくはBeetle)と呼称されてる。1個500円ぐらい。Arduino Leonardo互換品でチップにはAtmega32U4っていうのが使われてるみたい。右のDM MicroにはURLがプリントされてて、公式の販売サイトがある。
BEETLE BadUSB Micro ATMEGA32U4-AU Development Expansion Module Board For Arduino Leonardo R3 5V I2C
Feature: Microcontroller: ATmega32u4 Operating Voltage: 5V DC Digital I/O Pins: 10 PWM Channels: 4 Analog Input Channels...
Bad USBってなんだろ?と思って調べてみたら、USBメモリに擬態して勝手にプログラム走らせるみたいな使い方もできるみたいね。まぁそんなことはしないからいいとして。Arduino MicroやNanoより小さくてかわいい。試しにLチカしてみる。
Lチカ
DM Microが、まだ製品としての体を成してる気がするのでそれを使うことにした。LEDは基板上にあるみたいなので、それが光る。
接続
こんな。PCと接続すると、はじめからBlinkが書き込まれてるらしく点滅した。
Arduino IDEをインストール
Software
Open-source electronic prototyping platform enabling users to create interactive electronic objects.
インストールしたらツール→ボードをArduino Leonardoに、ツール→シリアルポートでこれを指定する。
プログラミング
ファイル→スケッチ例→01Basis→Blinkを選ぶ。
/* Blink Turns an LED on for one second, then off for one second, repeatedly. Most Arduinos have an on-board LED you can control. On the UNO, MEGA and ZERO it is attached to digital pin 13, on MKR1000 on pin 6. LED_BUILTIN is set to the correct LED pin independent of which board is used. If you want to know what pin the on-board LED is connected to on your Arduino model, check the Technical Specs of your board at: https://www.arduino.cc/en/Main/Products modified 8 May 2014 by Scott Fitzgerald modified 2 Sep 2016 by Arturo Guadalupi modified 8 Sep 2016 by Colby Newman This example code is in the public domain. http://www.arduino.cc/en/Tutorial/Blink */ // the setup function runs once when you press reset or power the board void setup() { // initialize digital pin LED_BUILTIN as an output. pinMode(LED_BUILTIN, OUTPUT); } // the loop function runs over and over again forever void loop() { digitalWrite(LED_BUILTIN, HIGH); // turn the LED on (HIGH is the voltage level) delay(1000); // wait for a second digitalWrite(LED_BUILTIN, LOW); // turn the LED off by making the voltage LOW delay(1000); // wait for a second }
こんなんが表示される。光り方をちょっと変えたいので、void loop()内を
void loop() { int t = 5000; for (int i = 0; i <= 20; i++) { digitalWrite(LED_BUILTIN, HIGH); delay(t); digitalWrite(LED_BUILTIN, LOW); delay(t); if (t > 50) { t = t / 2; }; } }
こんな感じに書き換えてみた。そしたら、スケッチ→マイコンボードに書き込むってすると
でけた!すげー、こんなちっちゃいのにちゃんと動いてる。
参考
Arduino日本語リファレンス
コメント