HOME >工作

マイコンボードの覚書 (仮)

(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)





▲ページトップに戻る