電子工作 マイコン
マイコンボードの覚書 (仮)
(2021/3/8 更新)
自分が所有しているマイコンボード等の使用例とか、ハマった事例やコード(プログラム)とか綴っていきます。まだ(仮)です・・。
リファレンス等の外部リンクも貼っておきました。
【注意】
下記のリンクは外部リンクとなっています。リンク切れになるものもあるのでご了承下さい。
Arduino
Arduino 【外部リンク】
Arduino 日本語リファレンス 【外部リンク】
M5StickC
M5StickC 【外部リンク】
ドライバ・データーシート【外部リンク】
M5StickC非公式日本語リファレンス【外部リンク】
【使用前のトラブル事例】
デバイスが認識されない。(デバイスマネージャーに不明なデバイスと表示される)
↓
ハブ(USB)をかますと認識された。(根本的な解決法ではないが・・)
【Arduino IDEでのライブラリ追加】
ライブラリマネージャでM5StickCと検索し、M5StickCというライブラリを選択しインストール。
【Arduino IDEの設定】
・ボード : M5Stick-C
・Upload Speed : 1500000
・シリアルポートが分からない場合は、デバイスマネージャー等で確認。
【シリアル通信 プログラム例】
LCD表示・ボタン操作・文字列の送受信という内容。
①M5Stick-Cのボタンを押すと’M5StickC’
という文字列が送信される。
②ターミナルから文字列を送信すると、M5Stick-CのLCDに文字列が表示される。
#include <M5StickC.h>
void setup() {
M5.begin();
//setCpuFrequencyMhz(80);
Serial.begin(115200);
M5.Axp.ScreenBreath(8);
M5.Lcd.setRotation(1);
M5.Lcd.fillScreen(BLACK);
M5.Lcd.setTextSize(1);
M5.Lcd.setCursor(40, 0);
M5.Lcd.println("Serial Test");
}
void loop() {
if (Serial.available())
{
String str = Serial.readStringUntil('\n');
M5.Lcd.setTextSize(1);
M5.Lcd.setCursor(10, 45);
M5.Lcd.println(str);
}
if (M5.BtnA.wasPressed())
{
Serial.println("M5StickC");
}
delay(20);
M5.update();
}
【シリアル通信~Bluetooth~ プログラム例】
LCD表示・ボタン操作・Bluetoothでの文字列の送受信という内容。
①M5Stick-Cのボタンを押すと’M5StickC’
という文字列が送信される。
②ターミナルから文字列を送信すると、M5Stick-CのLCDに文字列が表示される。
#include <M5StickC.h>
#include "BluetoothSerial.h"
BluetoothSerial SerialBT;
void setup() {
M5.begin();
//setCpuFrequencyMhz(80);
SerialBT.begin("M5StickC");
Serial.begin(115200);
M5.Axp.ScreenBreath(8);
M5.Lcd.setRotation(1);
M5.Lcd.fillScreen(BLACK);
M5.Lcd.setTextSize(1);
M5.Lcd.setCursor(40, 0);
M5.Lcd.println("Serial Test");
}
void loop() {
if (Serial.available())
{
String str = SerialBT.readStringUntil('\n');
M5.Lcd.setTextSize(1);
M5.Lcd.setCursor(10, 45);
M5.Lcd.println(str);
}
if (M5.BtnA.wasPressed())
{
SerialBT.println("M5StickC");
}
delay(20);
M5.update();
}
【M5Stick-C考察】
M5Stick-CはLCDが内蔵されているので、各種センサ(hat・GROVE )を使用した際、値がすぐ確認できるのが便利。計測器のプロトタイプが簡単作れる。
内蔵されている6軸IMUを使えばコントローラも自作可能だが、Bluetoothで使用した場合、内蔵バッテリーの持ちは約1時間程度かな。LCDの輝度とCPUのクロックを落としてやれば少しバッテリーの持ちは良くなる。
M5Stack ATOM Lite
M5Stack ATOM Lite 【外部リンク】
ドライバ・データーシート【外部リンク】
【使用前のトラブル事例】
デバイスが認識されない。(デバイスマネージャーに不明なデバイスと表示される)
↓
ハブ(USB)をかますと認識された。(根本的な解決法ではないが・・)
【Arduino IDEでのライブラリ追加】
ライブラリマネージャでM5Atomと検索し、M5Atomというライブラリを選択しインストール。
【Arduino IDEの設定】
・ボード : ESP32 Pico Kit
・Upload Speed : 115200 (高速だと転送エラーが発生する)
・シリアルポートが分からない場合は、デバイスマネージャー等で確認。
【シリアル通信 プログラム例】
LED色変更・ボタン操作・文字の送受信という内容。
①ATOMのボタンを押すと’1’が送信される。
②ターミナルから’0’を送信するとLEDが赤に変わる。
③再度、ATOMのボタンを押すと’1’が送信され、LEDが赤から緑に変わる。
#include <M5Atom.h>
void setup() {
M5.begin(true, false, true);
delay(20);
M5.dis.drawpix(0, 0xf00000);
Serial.begin(115200);
}
void loop() {
if (M5.Btn.wasPressed())
{
Serial.println("1");
M5.dis.drawpix(0, 0xf00000);
}
if (Serial.available())
{
String str = Serial.readStringUntil('\n');
if(str == "0")
{
M5.dis.drawpix(0, 0x00ff00);
}
}
delay(50);
M5.update();
}
【シリアル通信~Bluetooth~ プログラム例】
LED色変更・ボタン操作・Bluetoothでの文字の送受信という内容。
①ATOMのボタンを押すと’1’が送信される。
②ターミナルから’0’を送信するとLEDが赤に変わる。
③再度、ATOMのボタンを押すと’1’が送信され、LEDが赤から緑に変わる。
#include <M5Atom.h>
#include "BluetoothSerial.h"
BluetoothSerial SerialBT;
void setup() {
M5.begin(true, false, true);
delay(20);
M5.dis.drawpix(0, 0xf00000);
Serial.begin(115200);
SerialBT.begin("Atom");
}
void loop() {
if (M5.Btn.wasPressed())
{
SerialBT.println("1");
M5.dis.drawpix(0, 0xf00000);
}
if (SerialBT.available())
{
String str = SerialBT.readStringUntil('\n');
if(str == "0")
{
M5.dis.drawpix(0, 0x00ff00);
}
}
delay(50);
M5.update();
}
【M5 Atom Lite考察】
Atomは小型でBluetoothが使えるので模型の組み込みに適してますが、バッテリーが内蔵されていないので外部電源が必要となります。
9V角形電池をレギュレータで5Vに変換し、Atomとラジコンサーボに電源を供給すればBluetoothラジコンが作れます。スピードを求めなければ360°回転のサーボを駆動用として使えます。
IchigoJam
IchigoJam 【外部リンク】
IchigoJam リファレンス(ver1.4) 【外部リンク】
IchigoJam BASIC RPi
IchigoJam BASIC RPi 【外部リンク】
IchigoJam BASIC RPi ドキュメント 【外部リンク】
PIC
Microchip Technology 【外部リンク】
MPLAB Ⅹ IDEでのアセンブラファイル(asm)のPIC書き込み手順です。
①プロジェクト作成
まずはプロジェクト作成です。(プロジェクトが既にある場合、②PIC書込みに飛んで下さい)
以下を選択。
書き込むPICを選択。(今回はPIC12F675)
以下はNone
書き込みツールを選択。(今回はPICkit3)
コンパイラを選択。(今回はmpasm)
プロジェクト名・エンコード(UTF-8でいいと思う)を入力。
②PICへの書き込み
以下を右クリック。
以下を選択し、ソースファイル(.asm)を読込。
①ソースファイルを指定し、ビルドアイコンを押す。
・BUILD SUCCESSFULと表示されれば成功。
・BUILD FAILEDと表示されたエラーがあるので修正が必要。
②ビルドが完了したら書き込みアイコンを押す。
書き込みツールを確認し、OKを押す。
書き込み電圧に関するメッセージ(とりあえずOKを押す)
PICkit3はUSBからの電源供給は可能だが、外部電源(5V)を使った方が確実。
PICへの書き込みが完了したら、以下のメッセージが表示される。
以上で終了。
ポケコン(CASIO VX-4)