【山崎研Tips】 マイコン
※このページは,コミュニケーションロボティクス研究室および神奈川工科大学ホームエレクトロニクス開発学科の研究室チュートリアル用のページです。
1. はじめに
「センサを使いたい」,「モータを使いたい」,「電子回路を動かしたい」,「筋トレがしたい」,「関節技を覚えたい」。そんな場面で役立つのがマイコンです。ここでは,マイコンボード,開発モジュールの選び方と,各マイコンのセットアップ情報をまとめておきます。
2. どのマイコンを使うか?
Arduino UNO
Arduino Nano
Seeeduino Xiao
M5 Stack
Atom Lite
電源
出力電圧: (5V or 3.3V)
通信(USB/Serial,Bluetooth,WiFi)
ポート数,PWM
2. どのマイコンを使うか?
2. 講義概要
Arduino Nano互換 +リレータッチボードを使い,スマホのタッチ操作を電子化します。
Arduino Nano互換
リレータッチボード ×2
3. 事前準備
Arduinoの開発環境準備:
3. 実装例
ソーシャルゲームのボックス開封を自動化した例です。過去の学生さんの悲喜こもごもを見てつくりました。
https://scrapbox.io/files/600fc2cc7e3d11001c796c01.mp4
下記のとおりに実装しています。
ハードウェア構成
Arduino Nano互換 +リレータッチボード×3(ポートは BUTTON_1~BUTTON_3で指定)
動作
①「10個プレゼントをもらう」を連続タップ(1分間)
②「プレゼントをリセット」を連続タップ(5秒間)
③「実行する」を連続タップ(5秒間)
④「プレゼントをリセット」を連続タップして画面をキャンセル(5秒間)
①にもどる
code: FGO_boxer_NANO
// FGO Boxer01 by yama 2020.12.30
// ボックスガチャ自動開封マシーン 試作
//【ハードウェア構成】
// Arduino Nano互換
// +リレータッチボード×3(ポートは BUTTON_1~BUTTON_3で指定)
//【動作】
// ①10個開ける→②リセット→③実行する→④リセットの場所を押してキャンセル
//→①10個開ける
//
void setup()
{
pinMode(BUTTON_1, OUTPUT); //各ボタンを出力に設定
pinMode(BUTTON_2, OUTPUT); //各ボタンを出力に設定
pinMode(BUTTON_3, OUTPUT); //各ボタンを出力に設定
}
int i,j,k,l;
void loop()
{
for (i = 0; i<320; i++){
digitalWrite(BUTTON_1, HIGH); // タップ
delay(100); // 100 msec待機
digitalWrite(BUTTON_1, LOW); // はなす
delay(100); // 100 msec待機
}
for (j = 0; j<6; j++){
digitalWrite(BUTTON_2, HIGH); // タップ
delay(100); // 100 msec待機
digitalWrite(BUTTON_2, LOW); // はなす
delay(100); // 100 msec待機
}
for (k = 0; k<6; k++){
digitalWrite(BUTTON_3, HIGH); // タップ
delay(100); // 100 msec待機
digitalWrite(BUTTON_3, LOW); // はなす
delay(100); // 100 msec待機
}
for (l = 0; l<6; l++){
digitalWrite(BUTTON_2, HIGH); // タップ
delay(100); // 100 msec待機
digitalWrite(BUTTON_2, LOW); // はなす
delay(100); // 100 msec待機
}
i=j=k=l=0;
}
過去のFGO BOX開封ロボ
過去の研究室セミナ
2020年度:
2019年度:
AIの歴史
2018年度:
人を読み取るスマート家電の開発
2017年度:
ホームロボット開発講習会(現在は「ロボット家電と制御」講義内で実施中)
連絡先 山崎洋一
https://gyazo.com/71c7de59f100448c29cdb7f29fbd171b