部品屋根性(100) WS2812B、NeoPixel、シリアル制御フルカラーLED

WS2812B_x3units
Joseph Halfmoon

このところ、DS18B20、OST4ML5B32Aと1本の信号線で通信するペリフェラルを動かしてきました。そこにNeoPixel、デバイス的にはWS2812が入ってないのはマズいだろ~。ということで今回はシリアル制御LEDの代表選手、NeoPixelことWS2812Bを動かしてその通信波形を眺めてみたいと思います。

“部品屋根性(100) WS2812B、NeoPixel、シリアル制御フルカラーLED” の続きを読む

MicroPython的午睡(112) ESP32版、heapqで乱雑タプルを昇順にとりだす

heapqScriptEC
Joseph Halfmoon

前回は先入れ先出しが可能なデータ構造 deque を使ってみました。今回は入れる順序には関係なく、入れたデータの大小関係によって取り出しの順番が変わる heapq を使ってみます。まさにヒープソートのアルゴリズムみたいです。端からデータをしまっていけば、取り出すときには大小関係順序通りに取り出せるので便利。ホントか? “MicroPython的午睡(112) ESP32版、heapqで乱雑タプルを昇順にとりだす” の続きを読む

鳥なき里のマイコン屋(172) ルネサスMCU、Arduino UNO R4で吉例Lチカ

ArduinoUNO_R4_MINIMA_package
Joseph Halfmoon

Arduinoといえば「電子工作業界?」のデファクト、中でもUNOは数ある一族中の標準機です。UNO R3まではマイクロチップ製のAVRマイコンを搭載。しかし最近になってルネサスのArmコアマイコンRA4M1搭載のUNO R4が発売になりました。ちょっと出遅れましたが購入したので「火を入れて」みたいと思います。
“鳥なき里のマイコン屋(172) ルネサスMCU、Arduino UNO R4で吉例Lチカ” の続きを読む

PIC三昧(2) MCCでPIC16F1xxxx。TMR2+PWM6でPWM出力

pwmWaveForm
Joseph Halfmoon

PIC16F1xxxの「諸機能」を端から動かしてみる第2回目はPWM(Pulse Width Modulation)出力。任意のデューティサイクルでデジタル出力をペコペコするあれです。Lチカからモータ制御などその利用範囲は広うござんす。しかしPICの場合PWMだけでは動きませぬ。その動作周期を与えるタイマも必要です。

“PIC三昧(2) MCCでPIC16F1xxxx。TMR2+PWM6でPWM出力” の続きを読む

PIC三昧(1) PIC16F18855のCLKOUTとビットバンギングで周波数確認

FOSCFreq_BitBang
Joseph Halfmoon

別シリーズ記事にてMicroChip社の8ビットマイコンPIC16F1xxxのプログラム作成がどうにか軌道に乗りました。さすればということで、PIC16F1xxxの「諸機能」を端から勉強していきたいと思います。とりあえずのターゲット機はPIC16F18855、MPLAB X IDE+MCC Classicにて作業。

“PIC三昧(1) PIC16F18855のCLKOUTとビットバンギングで周波数確認” の続きを読む

MicroPython的午睡(111) ESP32版、乱数をdequeにつめて非同期タスク

AsyncIODequeSRC
Joseph Halfmoon

今回使用してみるMicroPythonモジュールは、collections, randomそしてuasyncioです。uasyncioで非同期動作のタスク間を、collections.dequeで作ったFIFOで橋渡し、randomモジュールで生成した乱数を受けわたそうというのです。ありがち。短いコードで動作確認。

“MicroPython的午睡(111) ESP32版、乱数をdequeにつめて非同期タスク” の続きを読む

RustにいればRustに従え(16) rp2040-project-template

RPblink2
Joseph Halfmoon

前回rp-halのお陰でrust言語で書かれたサンプルソースをビルドし、Raspberry Pi Picoに書き込んで動作確認ができました。しかしHALのサンプルプロジェクトをHALの環境内でビルドしただけです。自前のプロジェクトを作りたいのだけれどどうしたら良いの?なんかメンドクさそうだし。そんなことはお見通し。

“RustにいればRustに従え(16) rp2040-project-template” の続きを読む

鳥なき里のマイコン屋(171) MCC MelodyとMCC Classicどっち?

Melody_OR_Classic
Joseph Halfmoon

PIC素人がMPLABのMCC使用にあたり「新しい方が良い」と短絡。以前の回では「新しい方」MCC Melogyを使用。しかし「古い方」MCC Classicが残っているのには立派な訳があることに気づきました。今回は、TIMERを使ってみるついでにMCC Classicを使ってみます。どっちもどっち?よくわからんが。

“鳥なき里のマイコン屋(171) MCC MelodyとMCC Classicどっち?” の続きを読む

鳥なき里のマイコン屋(170) デモボード搭載マイコン、PIC16F1829に交換

PIC16F1829onDemoBoard
Joseph Halfmoon

前回、長らく眠っていたPICkit2がWindows11で復活。いざ活用と思った矢先、PICkit2のターゲットボード搭載のマイコンPIC16F690はMCC非対応という事実が突き付けられました。MCC無はメンドイ。なんとかならんものか?一瞬で光明が見えました。マイコンを交換したらいいんじゃね、PIC16F1xxxに。
“鳥なき里のマイコン屋(170) デモボード搭載マイコン、PIC16F1829に交換” の続きを読む

鳥なき里のマイコン屋(169) 復活! PICkit2 で読み書き出来たものの

PICKit2_LPCountDemoBoardA
Joseph Halfmoon

前回前々回と8ビットPICマイコンを動かしてみたので、思い出したものがあります。引き出しの奥底に眠っていたPIC用プログラマ PICkit2とそのターゲットのデモボードです。しかし、公式サポートからは消えているPICkit2、Windows11上で動作させられるのか?先達の方のお陰でお楽に復活。あざ~す。

“鳥なき里のマイコン屋(169) 復活! PICkit2 で読み書き出来たものの” の続きを読む

GoにいればGoに従え(23) TinyGo、シリアル接続LED、micro:bit v2

MB20_OST4ML5B32A
Joseph Halfmoon

別シリーズにて数珠繋ぎに多数個シリアル接続可能なフルカラーLED、OST4ML5B32Aの点灯実験実施。今度はTinyGo+micro:bit v2 でも接続試験を行ってみました。よくあるNeoPixelとは違って「3値論理」の信号使ってます。中間電位を積極的に使うロジックIFにヤバさを感じつつ、Let’s go的な。

“GoにいればGoに従え(23) TinyGo、シリアル接続LED、micro:bit v2” の続きを読む

MicroPython的午睡(110) ESP32版、btree + json が一番お楽?

Restored
Joseph Halfmoon

前回、MicroPythonで使えるキーバリュー型のデータベースbtreeを使用。いつものPythonの辞書型と似た操作方法でお楽です。ただ一点メンドクセーのが、「bytes型ライクな」オブジェクトでないと格納できない制限です。直接格納できないデータがあったときにどうするのがお楽か。やっぱりJSON化がいいんじゃない。
“MicroPython的午睡(110) ESP32版、btree + json が一番お楽?” の続きを読む

鳥なき里のマイコン屋(168) PIC16F18855で吉例Hello World.

HelloWorld
Joseph Halfmoon

前回、久しぶりにMicroChip社の8ビットマイコンを使って吉例Lチカ。遥か昔の記憶でPICはメンドイという意識があったのですが、そんなことはありませんでした。MPLAB X IDEに「標準装備」されたMCCでスイスイです。今回はこれまた吉例Hello Worldを実施。UART1個しかないのに端子は2組、なぜに?
“鳥なき里のマイコン屋(168) PIC16F18855で吉例Hello World.” の続きを読む

RustにいればRustに従え(15) Rustによる ラズパイ Picoで吉例Lチカ

RaspberryPiPicoBlinkEC
Joseph Halfmoon

忘却力の年寄はRustに慣れないので過去回ではズルズルとLinux上で練習。しかしマイコン用のプログラムをRustで書くことが目標です。PC上での練習を切り上げてマイコン用のクロス開発へ突入。今回はターゲットRaspberry Pi Picoのクロス開発環境をWindows11上に構築、吉例Lチカまでやってみます。

“RustにいればRustに従え(15) Rustによる ラズパイ Picoで吉例Lチカ” の続きを読む