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チカ” の続きを読む

鳥なき里のマイコン屋(167) PIC16F18855、MPLAB IDEで吉例Lチカ

PIC16F18855_EvaBoard
Joseph Halfmoon

遠い昔、ちょこっとだけ8ビットのPICマイコンを触ったことがありました。「PIC以前の」古いマイコンに比べたら「近代的」なマイコンであったのですが、データシートを読み込んでいないと戸惑う部分も多かった記憶。しかし「今どきの」PICマイコンは自動生成ツールなど充実して「楽ちん」だそうです。使ってみたいと思います。

“鳥なき里のマイコン屋(167) PIC16F18855、MPLAB IDEで吉例Lチカ” の続きを読む

GoにいればGoに従え(22) TinyGo、SPI接続、micro:bit v2の場合

Joseph Halfmoon

TinyGoを使ってBBC micro:bit v2を制御してます。「使ってなかった」のに「使った気でいた」ペリフェラル回路があり。SPIです。TinyGoでSAMD21マイコンで実験済、またmicro:bitのmakeCode環境でも実験済。でもTinyGoとmicro:bit v2 ではやってない。組み合わせ爆発?
“GoにいればGoに従え(22) TinyGo、SPI接続、micro:bit v2の場合” の続きを読む

MicroPython的午睡(109) ESP32版、btreeモジュールで連想配列永続化?

ESP32_Python_Btree_EC
Joseph Halfmoon

フルPython処理系でデータベース的なものを使いたいとき「お手軽な」SQLite使うことが多いデス。一方スタンドアロンなMicroPython単独でSQL系DB使うのは現実的ではないかと。しかしMicroPythonには固有の実装としてbtreeモジュールあり、標準辞書型に近い形の連想配列を「永続化」可能であります。

“MicroPython的午睡(109) ESP32版、btreeモジュールで連想配列永続化?” の続きを読む