オリジナルmicro:bit
2024.02.07
YouTube でも紹介しています。画像をクリックすると再生できます。
前回の記事では、micro:bit規格のエッジコネクタを持つELECROW Mbitsを取り上げました。
今回はオリジナル micro:bit を作ってみます。
micro:bit規格のエッジコネクタに準拠することで、インターフェイスを統一し、テスト回路製作時間の削減、プログラム移植性の向上が見込まれます。
●Micro:bit風なユニバ基板 [UP52x42BIT] / aitendo
Micro:bit風なユニバ基板
2.54x2.54mmピッチ
スルーホール:φ0.9
基板寸法:52x42x1.6mm
Micro:bit風なユニバ基板
●microSDカードモジュール
microSDカードモジュールを用意します。

ユニバ基板を挟み込むかたちではんだ付けします。
基板の後ろ側からヘッダーピンを通してはんだ付けしています。
●FlexyPin Adapter - Xiao/QTPy

FlexyPin Adapter は、Xiao や QT Pyシリーズのマイコンボードにヘッダーピンをはんだ付けせず、ピンに挟み込んで間接的にブレッドボードに接続するための道具です。
これらのマイコンボードを簡単に交換して使用できます。

PlexyPin Adapter に 別売りのFlexyPin をはんだ付けする必要があります。
Flexy Pin のはんだ付け解説YouTube動画が公開されているので、そちらをご覧ください。
FlexyPin Soldering Guide
次に、Flexy Pin Adapter にヘッダーピンをはんだ付けします。

microSDカードモジュールの上から基板に差し込みます。

基板の裏側からはんだ付けして固定します。
●ER-OLEDM0.49-1W-I2C

ER-OLEDM0.49-1W-I2C is the graphic OLED display module,attached with breakout board,made of 64x32 individual white OLED pixels,diagonal is only 0.49 inch.The controller ic SSD1306, communicates via I2C serial interface,3.3V power supply,extremely wide viewing angle and extremely operating temperature.
ちょっとした情報を表示するための I2C接続の0.49インチOLEDです。
基板に通して裏側からはんだ付けして固定しています。
両端ロング・ヘッダーピンのはんだ付け
一番下のラインに両端ロングピンヘッダーをはんだ付けしています。
この最下行のピンはエッジコネクター端子に接続されています。
標準的なピンヘッダーを使う場合は、ピンの長いほうを基板裏側になるようにはんだ付けします。
FlexyPin Adapter に対応するマイコンボードを挟み込みます。
●Adafruit QT Py / seeed studio Xiaoシリーズ
これらのマイコンは形状、サイズ、電源、SPI/I2C/UARTのピン配置が同一です。
また、機種によって底面に拡張パッドなどを備えているものがあります。
Adapter に挟んだ状態でUSBケーブルを接続すると簡単に外れてしまいます。
プログラムをWiFi経由で更新可能なOTA((Over The Air)機能を持つESP32系のマイコンボードがお薦めです。
Adafruit QT Py ESP32-S2 WiFi Dev Board with STEMMA QT
・ESP32-S2 240MHz
・4 MB Flash & 2 MB PSRAM
・2.4 GHz Wi-Fi (SoC)
・Two I2C ports
・Hardware UART
・Hardware SPI
・Hardware I2S on any pins
・3.3V regulator with 600mA peak output
Adafruit QT Py ESP32-S2
●配線
FlexyPin Adapter にはんだ付けしたヘッダーピンとエッジコネクターに接続されているピンとをつなぎあわせます。
| | QT Py ESP32S2 | Microbit V2 |
| P0 | TXD | GPIO5 | | ANALOG | P0.02 |
| P1 | RXD | GPIO16 | | ANALOG | P0.03 |
| P8 | DAC_2/A0 | GPIO18 | | NFC2 | P0.10 |
| P2 | SPI_DC/DAC_1/A1 | GPIO17 | | ANALOG | P0.04 |
| P13 | SPI_SCK | GPIO36 | SPI_SCK | | P0.17 |
| P14 | SPI_MISO | GPIO37 | SPI_MISO | | P0.01 |
| P15 | SPI_MOSI | GPIO35 | SPI_MOSI | | P0.13 |
| P16 | SPI_CS/A2 | GPIO9 | | | P0.34 |
| 3V3 | 3.3V | 3V | | | |
| P19 | I2C_SCL | GPIO6 | I2C_SCL | | P0.26 |
| P20 | I2C_SDA | GPIO7 | I2C_SDA | | P0.32 |
| GND | GND | GND | | | |
| microSD | SPI_CS/A3 | | | | |
SPI,I2C,電源関係のピン配置は元祖micro:bitに合わせています。
P0(TXD),P1(RXD)は、micro:bit の慣例に習っています。
●micro:bit breadboard breakout board by Kitronik
回路を組む際には、micro:bitの20ピンのエッジコネクタをそのままブレッドボード上に展開できる
とてもシンプルなKitronikのmicro:bit breadboard breakout boardが便利です。

これにmicro:bitユニバ基板を差し込んでブレッドボードに配置します。

左側にSPI接続のAdafruit 2.0" 320x240 Color IPS TFT Display、右側にはI2C接続のAdafruit PCF8574 I2C GPIO Expanderを配置しています。
中央の2つのピンは、TXD, RXD です。
TFT DISPLAY の電源ON/OFF用のスライドスイッチを取り付けています。
左側のGNDラインに挿してあるピンはラズベリーパイなどとUART接続する際に、TXDとRXDとともにGNDに接続します。

最適なピン割り当てを模索中なので、エッジコネクタ用のピンとはリード線で直付けは行わず、手作りのジャンプワイヤーで繋いでいます。
●1N5817整流用ショットキーバリアダイオード
外部電源用USB端子に接続されている赤いジャンプワイヤーはQT PY ESP32-S2の5V端子に繋がっています。
マイコン上のUSB端子に接続すると、5V端子にはUSBからの電源が供給され5Vが出力されます。
この5V端子は入力端子としても使えますが、USB端子への逆流防止用のダイオードがマイコンボードに内蔵されています。
写真にある外部電源用USB端子は、マイコン側のUSB接続を解除した状態で使用しますが、誤って接続したままの状態にある場合に、外部電源への逆流防止用に整流ダイオードを取り付けています。
外部電源からの電圧損失の少ないショットキーバリアダイオードを選びました。

画像処理・基本変換
で取り上げたプログラムを移植してみました。
●ATmega328P
ATmega328P 3.3V@8MHz 版を作りました。

ブレッドボード右側に挿さっている縦長の基板は、USB電源からの5Vを3.3Vに降圧しているモジュールです。
その上、ユニバ基板にある6ピンはICSP端子で、プログラム更新に使います。
左上の黄色のボタンはリセットスイッチです。10KΩのプルアップ抵抗をいれてます。
| | ATmega328P | Microbit V2 |
| P0 | TXD | 1 | | ANALOG | P0.02 |
| P1 | RXD | 0 | | ANALOG | P0.03 |
| P8 | AREF | AREF | | NFC2 | P0.10 |
| P9 | A0 | ANALOG | | NFC1 | P0.09 |
| P10 | D3 | PWM | LED5列 | ANALOG | P0.30 |
| P11 | D5 | PWM | Button B | | P0.23 |
| P13 | SPI_SCK | 13 | SPI_SCK | | P0.17 |
| P14 | SPI_MISO | 12 | SPI_MISO | | P0.01 |
| P15 | SPI_MOSI | 11 | SPI_MOSI | | P0.13 |
| P16 | SPI_CS | 10 | | | P0.34 |
| 3V3 | VCC | | | | |
| P19 | I2C_SCL | A5 | I2C_SCL | | P0.26 |
| P20 | I2C_SDA | A4 | I2C_SDA | | P0.32 |
| GND | GND | | | | |
| microSD | SPI_CS | 6 | | | |
●ESP8266 WeMos D1 mini

アナログ風ゲージ
を移植してみました。
| | WeMos D1 mini | Microbit V2 |
| P0 | TXD | GPIO1 | | ANALOG | P0.02 |
| P1 | RXD | GPIO3 | | ANALOG | P0.03 |
| P6 | D4 | GPIO2/10K Pull-up, BUILTIN_LED | | NFC2 | P0.10 |
| P7 | D3 | GPIO0/10K Pull-up | | NFC1 | P0.09 |
| P8 | D0 | GPIO16 | LED5列 | ANALOG | P0.30 |
| P2 | A0 | Analog input max 3.2V | | ANALOG | P0.04 |
| P13 | SPI_SCK | GPIO14 | SPI_SCK | | P0.17 |
| P14 | SPI_MISO | GPIO12 | SPI_MISO | | P0.01 |
| P15 | SPI_MOSI | GPIO13 | SPI_MOSI | | P0.13 |
| P16 | SPI_CS | GPIO15/10K Pull-down | | | P0.34 |
| 3V3 | 3V3 | 3V3 | | | |
| P19 | I2C_SCL | GPIO5 | I2C_SCL | | P0.26 |
| P20 | I2C_SDA | GPIO4 | I2C_SDA | | P0.32 |
| GND | GND | GND | | | |
●Microsoft Azure(アジュール) IoT Development Kit (MXChip AZ3166)
ここでは詳しく紹介しませんが、STM32F412搭載のこんなボードもありました。
Microsoftの設計思想が色濃く使いずらそうなのですが、
エッジコネクタにはよく使うピンが引き出されているので
単にSTM32F412として使うならよいかもしれません。
メルカリで新品が880円で投げ売りされていたので、取り合えず買ってしまいました。
STM32F412,ARMCortexM4Fprocessor
EMW3166 Wifimodule with 256KSRAM,1M+2MByteSPIFlash
Arduino compatible
3.3VDC-DC,maximumcurrent1.5A
OLED,128x64
2programmablebuttons
1RGBLED
Motionsensor
Magnetometersensor
Atmosphericpressuresensor
Temperatureandhumiditysensor
#define PIN_0 PB_0; // ADC, SPI CS
#define PIN_4 PA_5; // ADC
#define PIN_5 PA_4; // ADC
#define PIN_6 PB_4; // PWM
#define PIN_7 PB_3; // PWM
#define PIN_1 PB_6; // UART TX
#define PIN_8 PC_13; //
#define PIN_9 PB_10; //
#define PIN_10 PC_7; // PWM
#define PIN_11 PA_10; //
#define PIN_12 PB_2; //
#define PIN_2 PB_7; // UART RX
#define PIN_13 PB_13; // SPI SCK
#define PIN_14 PB_14; // SPI MISO
#define PIN_15 PB_15; // SPI MOSI
#define PIN_16 PC_6; //
#define PIN_19 PB_8; // I2C SCL
#define PIN_20 PB_9; // I2C SDA
MXChip AZ3166
《お取り寄せ商品》MXChip Microsoft Azure IoT Developer Kit
microsoft/devkit-sdk
MXCHIP AZ3166 IOT 開発キット - MS VISUAL STUDIO、AZURE 互換
|
Raspberry Pi(ラズベリー パイ)は、ARMプロセッサを搭載したシングルボードコンピュータ。イギリスのラズベリーパイ財団によって開発されている。
たいていのことは100日あれば、うまくいく。長田英知著
「時間がなくて、なかなか自分のやりたいことができない」
「一念発起して何かを始めても、いつも三日坊主で終わってしまう」
「色んなことを先延ばしにしたまま、時間だけが過ぎていく」
そこで本書では、そんな著者が独自に開発した、
まったく新しい目標達成メソッド「100日デザイン」について、
その知識と技術を、余すところなくご紹介します。
まんがで納得ナポレオン・ヒル 思考は現実化する
OLとして雑務をこなす日々に飽き足らず、科学者だった父が残した薬品を商品化すべく、起業を決意した内山麻由(27)。彼女はセミナーで知り合った謎の女性からサポートを得ながら、彼女と二人三脚でナポレオン・ヒルの成功哲学を実践し、さまざまな問題を乗り越えていく。
ヒル博士の<ゴールデンルール>に従い、仕事に、恋に全力疾走する彼女の、成功への物語。
今日は人生最悪で最高の日 1秒で世界を変えるたったひとつの方法 ひすいこたろう著
偉人の伝記を読むと、最悪な日は、不幸な日ではなく、新しい自分が始まる日であることがわかります。最悪な出来事は、自分の人生が、想像を超えて面白くなる兆しなのです。偉人伝を読むことで、このときの不幸があったおかげで、未来にこういう幸せがくるのかと、人生を俯瞰する視線が立ち上がるのです。
ご飯は私を裏切らない heisoku著
辛い現実から目を背けて食べるご飯は、いつも美味しく幸せを届けてくれる。
29歳、中卒、恋人いない歴イコール年齢。バイト以外の職歴もなく、短期バイトを転々とする日々。ぐるぐると思索に耽るけど、ご飯を食べると幸せになれる。奇才の新鋭・heisokuが贈るリアル労働グルメ物語!
【最新版Gemini 3に対応!】できるGemini (できるシリーズ)
Geminiを「最強の知的生産パートナー」として使いこなすための、実践的なノウハウを凝縮した一冊です。
基本的な操作方法から、具体的なビジネスシーンでの活用、日々の業務を自動化するGoogle Workspaceとの連携、さらには自分だけのオリジナルAIを作成する方法まで余すところなく解説します。
Rustプログラミング完全ガイド 他言語との比較で違いが分かる!
Rustの各手法や考え方を幅広く解説!
500以上のサンプルを掲載。実行結果も確認。
全24章の包括的なチュートリアル。
ポチらせる文章術
販売サイト・ネット広告・メルマガ・ブログ・ホームページ・SNS…
全WEB媒体で効果バツグン!
カリスマコピーライターが教える「見てもらう」「買ってもらう」「共感してもらう」すべてに効くネット文章術
小型で便利な Type-C アダプター USB C オス - USB3.1 オスアダプター
Type-C端子のマイコンボードをこのアダプタを介して直接Raspberry Piに挿すことができます。ケーブルなしで便利なツールです。
Divoom Ditoo Pro ワイヤレススピーカー
15W高音質重低音/青軸キーボード/Bluetooth5.3/ピクセルアート 専用アプリ/USB接続/microSDカード
電源供給USBケーブル スリム 【5本セット】
USB電源ケーブル 5V DC電源供給ケーブル スリム 【5本セット】 電源供給 バッテリー 修理 自作 DIY 電子工作 (100cm)
|