Scratchpad@usagi1975.com

趣味、ソフトウェア開発などの備忘録

Raspberry Pi3 Model A+ 入手

Pimoroniという海外の販売サイトで早速注文して先日届きました。ここのサイトは日本への発送も可能なので、たまに利用しています。まだ、Amazonでは販売されてないようです。 Raspberry Pi 3 Model B+ »

Fusion360でディファレンシャルギア作成

ディファレンシャルギアについて 差動装置-Wikipedia ラジコンや模型用のディファレンシャルギアがどんなものが販売されているかAmazonとかで見てみると、以下のような、1/10スケールのタミヤラジコンにちょうど良いサイズのものしかないのと割と高価です。また、ミニ四駆向けにワンウェイホイールというものもありますが、前進しかしないミニ四駆向けなので、小型ラジコン作成には不向きです。 »

Fusion360でモジュール0.5のギアを作成&印刷

ミニ四駆で採用されているギアのモジュールは0.5なので、このモジュールサイズのギアを3Dプリンタ(Snapmaker)で印刷できそうなのかを検証してみました。 Fusion360でギアを作成 標準?のアドオン"SpurGear& »

PIC24FのUSBモジュール内にある1msタイマー

PIC24FJ64GB002などのUSB Hostモジュールが内蔵されているPICマイコンについて、どうもこのモジュール内に独立した1msecのタイマーが内蔵されているのを知りました。プリスケーラなどの設定が不要で、1msec経つと割り込みが発生するシンプルな仕組みです。 下記の例では、100ms経過ごとに26番ピン(LATB15)に接続したLEDを点滅させるプログラムになる。オシレータ、 »

ネットワーク内で使用されているIP一覧

固定IPが振られているマイコンボードなどを久々に電源ONしたものの、IPが分からなくて困ることがある(ホスト名も不明だったりする)そういった場合、ネットワーク内のIP一覧を表示すればなんとなくわかるし、固定IPを振る場合の空きIPを予測できる。 基本コマンドを駆使する方法がいくつかあるが、arp-scanというツールを使うと、簡単にわかる。 MACの場合 »

PICkit4購入

Pickit3を使っていると、デバッグ時のブレークポイントが意図したところで止まらなかったり、Step Outできないとか色々気になるところがあった。どうもハードウェアブレークポイントというものらしく、きめ細かい位置には設定できないらしいです。MPLABXではUnlimited BP (S/W) »

MPLABXでPIC開発: シミュレータでprintf出力する方法

PC上で動作するプログラムのデバッグ出力は簡単にできます。C言語ならprintf()、javascriptならconsole.log()を使えば、出力ウィンドウやコンソール上にログ出力されます。 PIC開発の場合も、MPLABX上でC言語を使えばprintf()で同様の出力ができますが、ちょっと一癖あります。 »

ハードウェアを意識したデータ宣言とBDT

microchipが提供しているPICマイコン向けのサンプルコードを見ると、自分が普段使わない宣言がいくつかあったのでメモっておく。 該当するPICのBDTの宣言 PICのUSBホスト処理で、「BDT(Buffer Descriptor Table)の構造体の先頭アドレスが512バイト境界に合わせる」云々という記述がある。 »

MPLAB: PIC24F (XC16) でmallocを使う

MCC(Microchip Code Configuration)を使ってUSBホスト機能を実装しようとしていきなりハマった件。 以下のようにUSBHostTasks()というAPIが用意されている。メインループ内で適切なタイミングでコールすると、接続されたUSBデバイスとの接続処理などをよろしくやってくれる。(データのやり取りはまた別) »

PIC24FJ64GB002のTimer

PICのタイマー処理について、たくさん投稿があるけど、MCC(Microchip Code Configuration)を利用した実装方法があまりないので、学習ついでに備忘録をのこしておく。 まず、PIC24FJ64GB002には5個( »