エレショップblog

半導体・センサー・マイコン・電子工作キットほか、各種電子部品の専門店「共立エレショップ」から主に電子工作の関連情報をお届けします。 http://eleshop.jp/

記事担当:共立プロダクツ
ハンダ付け不要-マイコン系


前回はPythonで開発できて超小型で安いマイコンボード★「XIAO RP2040」を紹介して
MicroPythonのファームウェアに書き換えて動作テストするところまで進めました。

今回は試作編です。

ご紹介する作例は部品点数が少なく、気軽に試せるものを選んでみました。
回路規模が小さいものであれば、買いそろえる物が少なくて済みますし、
地道な組み立て作業中のモチベーションも維持しやすく、失敗も少ないと思います。


デジタル温湿度センサー

室温を測るための温度計を作ることにしましょう。

とはいえ、温度計なんかわざわざ作らなくても、十分安くて実用的なものが買えますよね。
どうせ作るならその辺には売っていないものを作ってみたいところ。
大ざっぱな温度がわかれば良いという発想で「LEDの発光色で温度を表す」方法にしたいと思います。
というわけで使う表示器はこちら。

マルチカラーLED

マルチカラーLEDには、赤・緑・青の三原色の素子が封入されています。
3つの色の組み合わせで様々な色を表現できるので、測定した温度(室温)の変化を色で表すようにします

もちろん、測定した温度を表示するなら★「7セグメントLED」★「液晶表示器」などの方が適しているのですが、
今回は大ざっぱな表現と割り切るかわりに、明るくて一目で(色で)わかるマルチカラーLED1個でいきます。
配線量が少なくて済むというメリットもありますし、ピン数の少ないXIAOにも相性の良いちょうどよい規模の題材ではないでしょうか。

室温が低いときは青で、室温が高くなるにつれて緑~黄~橙と変化し、最も温度が高いときは赤、とすれば
直感的に室温の高低がイメージできるのではと思います。
LED表示色


さらに追加で、上限と下限の温度を何℃にするかは、それぞれ個別に設定できるようにします。
こうすることで、色の変化がおきる温度の範囲を広くしたり狭くしたりできます。
調整を変えた場合の例。調整しだいで同じ温度でも色が異なります
オールシーズンずっと動かしたままにするなら、Aのように実際の年間最高最低に近い気温にしておき
朝夕や毎日の温度差をはっきり見やすくするなら、Bのように季節ごとに決まった範囲に調整するとよさそうです。
(冷房を入れるタイミングを決めるのにも使えそうですね!)

マイコンに連続的な設定値を入力するには、可変抵抗が便利です。
今回は小さな★半固定抵抗にします。調整する値が2つなので、2個使います。
ユニバーサル基板やブレッドボードでそのまま使える半固定抵抗です

主要パーツは以上です。あとはLED用の抵抗や電源回路に使うコンデンサなど少々。
回路図は最終的にこんな感じになりました。ほとんど全部XIAO RP2040につなげるだけの構成ですね。
回路図

簡単な回路なのでいきなり基板を組み始めても良いのですが、ハンダ付けしてしまうと修正作業が大変です。
特にプログラムの開発中にマイコンのピンの割り当て方を変えたくなる状況はよくあるので、
すぐ修正ができるように、いったん★ブレッドボードの上で仮組みします
今回使ったブレッドボードはこのサイズ配線には柔らかいジャンプワイヤを使います

ブレッドボードの解説は、エレショップblogの過去の記事にもいくつかありますのでご参照ください。

まずは実験を始めるために、XIAO RP2040にヘッダーピンをはんだ付けしましょう。
付属のヘッダーピン(7P)を基板の穴に下から通して、上面ではんだ付けします。
これで、ブレッドボードに挿せるようになりました。
XIAO付属のヘッダーピンを下向きに取り付けます

ではXIAO RP2040(★前回MicroPythonを書き込みました)をPCに接続して、コードを動かしてみましょう。
前回に続いて★Thonny [https://thonny.org/]を使います。

既に保存しているファイルは[Open...]ボタンで開くことができます。
保存済みのファイルを開きます

まずはPC上でダウンロードしたものを開くので[This computer]をクリック。
PC内のファイルから選びます

ファイルのある場所を開いて選択し、開きます。
作成したプログラムのファイルを指定します

main.pyを読み込みました。では実行しましょう。
[Run current script]は、編集領域の内容を丸ごとデバイス(XIAO RP2040)に送って実行させるボタンです。
早速クリック(F5キーでもOKです!)。
[Run~]を押して実行します

仮組みしたブレッドボードの回路上で、マルチカラーLEDが点灯しはじめました。
実験につかっているPCから出てくる温かい風に温度センサーを当てたり、冷ましたりすると
温度変化が少し遅れてセンサーに伝わり、LEDの色が変わります。
ブレッドボードで仮組みした回路

Thonnyの実行画面の方には、動作中の変数を見るためにプログラムに入れておいたメッセージ出力の内容が
次々と表示されていきます。
メッセージ出力の様子

実験をしたのは5月上旬のお昼過ぎでした。測定結果27.7℃は期待通りの結果です。
センサーが読み取った温度と一緒に、調整可能な上下の基準温度の設定も出てきますので
ここを見ながら半固定抵抗を回して、2つの基準温度を目的の値に合わせます。
赤色にする温度(温点)を35℃青色にする温度(冷点)を5℃としてみたので、27.7℃で表示する色赤寄りの黄色といったところでしょうか。
いい感じに動いています。


では動作テストが終わったら、基板を製作・・・の前に、もう一つだけやる事があります。
PCからの操作なしで、XIAO RP2040に電源を投入すると自動でプログラムが動くようにするための手順です。

が、長くなりましたので次回に続きます。
単体動作のためのプログラム内蔵化、そしてユニバーサル基板への組み立てを行います。
プログラム例も最後に公開します。
もう少しだけ、お付き合いいただけたらと思います。


皆さまも新しいマイコンボードで素敵な電子工作を♪♪

(記事:ONE)
更新予定:毎週木曜日(次回は5月26日です!) 

記事担当:共立プロダクツ
ハンダ付け不要-マイコン系


この春ご入学、ご進級、ご就職された皆さま。
まさに今、新しい生活に慣れてきた頃といったところでしょうか。
余裕が出来て新しい事にチャレンジしたいという方もおられるのではないかと思います

本日は弊社で取り扱っている製品を使って、
初心者の次のステップにおすすめな「初級者向け」の電子工作の例をご紹介したいと思います。

マイコンといえば★PIC や★AVR  など、IC単体のものを使うのが従来の主流でした。
このような単体のマイコンに書き込むには、プログラムの書き込み装置(ライター)が必要となります。
★純正品 を買ったり自作したりするわけですが、買うとなればその費用も上乗せになりますし、自作した書き込み機がうまく動かないと面白くない…。
IC単体のマイコン開発は、もちろん量産などを考えると大きなメリットがあります。
でも、趣味の電子工作としてこれから始めるという方には、道具の理由などでややハードルが高く感じられるかもしれません。
PICマイコン

書き込み機の要らないマイコンボードもたくさんあります。
★「Arduino UNO」 は代表的なマイコンボードですね。
USBケーブルでパソコンとつないで、作成したプログラムを転送するだけで動かせます。
ユーザーが多いためインターネットで豊富な情報が手に入り、書籍も充実しています。
エレショップblogでもArduinoを取り上げた記事がありますので、興味のある方はぜひこちらをどうぞ↓
マイコンボードの定番、Arduino

今回は、数あるマイコンボード製品の中でも
新しくて今どきの電子工作にぴったりのものを使ってみたいと思います。
それがこちら。

20×17.5mmの極小ボード「XIAO RP2040」
特徴はいろいろとありますが、簡単にまとめると「超小型、程よく高性能、しかも低価格!」
★「Raspberry Pi Pico」 と同じ32ビットマイコン「RP2040」が搭載されています。
コンパクトなので作品への組み込みがしやすく、お財布にも優しい。これからマイコンを触ってみたい方におすすめです。
価格は¥1,012 (税込/2022.5.9現在)。

マイコン開発で使うプログラミング言語といえばCやC++が多いですが、
この「XIAO RP2040」は、Python系のプログラミング言語(MicroPythonとCircuitPython)を使うこともできます。
Pythonが動くマイコンボードはだんだん種類が充実しつつありますが、
動かすには基礎的なスペックがそれなりに要るので、対応する機種は少ないです。
今回はせっかくなので、RP2040で対応している★「MicroPython」https://micropython.org/ で開発してみようと思います。

「Pythonは簡単」とよく言われていますが、実際のところ機能が高度にまとまっているので未経験からでもスタートしやすく
思いついたことをスムーズにコード化できて、アプリケーション部分の開発に集中しやすいと思います。
これは大きなメリットだと思います。(もちろん、究めるところまでとなれば、やはり簡単ではないと思いますが…)

前置きはこれくらいにして早速始めましょう。
まずは、XIAO RP2040にMicroPythonのファームウェアを書き込みます。

最初に用意するのは「XIAO RP2040」本体と、インターネット接続されたPC(今回はWindows10環境を使います)、
★「USB-Cケーブル」 (普通のものでOKです)。
LTC5BK1a


MicroPythonのファームウェアは、公式ページでマイコンボードの機種別に公開されています。
XIAO RP2040は内部構造上はRaspberry Pi Picoと類似するので、Raspberry Pi Pico用を使います。
★「Raspberry Pi Pico用のMicroPythonファームウェア配布ページ」https://micropython.org/download/rp2-pico/ より、ファームウェアの.UF2ファイルをダウンロードします。
ファームウェア配布ページから.UF2ファイルをダウンロードします
今回はv1.18 (2022-01-17)を使いました。

次にXIAO RP2040を「BOOTSELボタンを押しながら」USB-CケーブルでPCに接続します。
(「B」と書いてあるほうのボタンがBOOTSELです)
BOOTSELボタンはここです

しばらくするとディスクとして認識されますので、ダウンロードした.UF2ファイルをドライブの直下にコピーします。
UF2ファイルをコピー

コピー完了と同時にリセットが掛かり、ディスクの認識が外れます。
これでMicroPythonの書き込みができました!
XIAO RP2040の上でPythonのコードを実行できるようになります。

続いて、Pythonの開発環境を整えます
今回は★「Thonny」https://thonny.org/ というエディタを使います。
通常のPC上でのPythonのプログラムの編集や実行だけでなく、MicroPythonを書き込んだマイコンボードを管理する機能などがついており
組込み用の開発に特化したPythonエディタです。

Thonnyのトップページから、お使いのPCのシステムに合わせたバージョンをダウンロードし、インストールします。
今回入手したバージョンは3.3.13です。
Thonnyをダウンロード

Thonnyを起動しました。
まずはMicroPythonを書き込んだXIAO RP2040を制御できるように、セットアップを行います。
PCにXIAO RP2040が接続されていることを確認してから、「Tools」>「Options...」を選びます。
Thonnyエディタの初期設定を開きます

PCに接続したXIAO RP2040のMicroPython実行環境を、Thonnyから呼び出すための設定を行います。
「Interpreter」というタブに切り替えて、表示されるメニューから
「MicroPython (Raspberry Pi Pico)」を選びます。するとメニューの下にPortという別のメニューが現れるので
まずは選択肢を確認しましょう。
XIAO RP2040が正しく認識されていれば、「(COMxx)」という番号の付いた項目が出てきますので、それを選択します。
下の画像だと「(COM7)」と出ています。
Interpreterの設定を変更


設定が終わったら「OK」をクリックしてメインの画面に戻ると…
下のShellというタブ内
XIAO RP2040のMicroPythonに接続できました
    MicroPython v1.18 on 2022-01-17; Raspberry Pi Pico with RP2040
    Type "help()" for more information.
    >>>
XIAO RP2040からのメッセージが出ました!
先ほど書き込んだMicroPythonのバージョン(v1.18)と一致していますね。問題なさそうです。

実行するコードの入力を待機している状態ですので、何か打ち込んでみましょう。
>>> の後ろにカーソルを合わせて、適当に計算式を入力して…
        >>> 123+45*67

Enterキーを押します。
計算結果が返ってきました
    >>> 123+45*67
    3138
    >>>
答えが出ました!
もちろん、このようにコードを1行ずつ手打ちして対話形式で結果を表示させるだけでなく、
プログラムをファイルの形でまとめて入力して、実行させる使い方のほうが一般的です。
最終的には完成したプログラムをXIAO RP2040のフラッシュROMの中に保存して、電源をつなぐと自動で開始するようにしていきます。

ひとまず、ここまでが下準備となります。
まだ、これだけだとPCでPythonを開発するのと変わりないですが、
ここからは電子工作として実際の回路を組んでコードを動かし、仕上げていくことにしたいと思います。

次回、作例紹介に続きます!
次回、製作編。乞うご期待!!


皆さまも新しいマイコンボードで素敵な電子工作を♪♪

(記事:ONE)
更新予定:毎週木曜日(次回は5月19日です!) 

記事担当:
ハンダ付け不要-マイコン系


またもや久々登場のヨジゲンです。

前回に引き続きreTerminalの紹介を行っていきます。
★「「reTerminalは在庫あります!」」

reTerminal-2-1
110070048a



reTerminal-2-2reTerminal-2-3
まずはケースに入れていた本体を出します。
(すみませんグーグーガンモのケース、reTerminalを入れるのに丁度良かったので自慢したかっただけです)

このボード中身はラズパイのCM4が入っているのですが、
ほんとに入っているか基板を見てみましょう。


reTerminal-2-4
裏面はこんな感じとなっています。
ヒートシンクもしっかり付いており熱対策ばっちりです。


reTerminal-2-5
まずは裏面に付いているゴム足やコネクターカバーを取っていきます。


reTerminal-2-6
四隅にネジが付いているので外していきます。


reTerminal-2-7
ここからが最難関。爪でケース通しがひっついているので外していきます。
下側は簡単に外れるのですがヒートシンク付近はかなり固めです。


reTerminal-2-8
小型マイナスドライバーなどでもいけますが、専用のこんな工具があれば開けやすいです。
if1452591a

reTerminal-2-9reTerminal-2-10
なんとか開きました。なかなかの難関でした。
ちょっとづつすきまに工具を入れていき後は勢いで外してください。
(勢い付けすぎてケース割らないように)


reTerminal-2-11
次に、ヒートシンクを外す為にネジ2本外します。


reTerminal-2-12
ヒートシンクが外れました。
これでCM4ボードが見えました。


reTerminal-2-13
OSを書き換えるブートモードにする場合CM4ボードの左側にあるスライドスイッチを切り替えると出来るようです。

さて!
ボード見る場合は、もう一段階ケースは外す必要があります。

ケース上と下にあるネジを4箇所外します。
(ツメじゃないので簡単です!)


reTerminal-2-14
ボード全体が見えました。
ここまで開けると色々な部品が載っているのがわかります。

・マイクロSD
・ブザー
・RTCバッテリー
・カメラポート

など通常のラズパイの付いているものや、産業用途だからこそ付いている便利な部品など
見ているだけでもなかなか面白いです。

分解完了したのでケースを戻していきます。
戻すのはネジ締め&ツメを入れるだけなんで開けるより簡単に出来ます。

本日はここまで

外側だけでなく中を見て確信しましたが、工業用途に特化して作られているので、普通のラズパイ
に比べると、割高な製品ですが値段に見合った構造になっており、ディスプレイを使用するアプリケーションであれば、この製品とても使いやすいと思います。


ぜひぜひ購入して色々なアプリケーションを動かしてみてください!!

担当:ヨジゲン

このページのトップヘ