Bye Bye Moore

PoCソルジャーな零細事業主が作業メモを残すブログ

組み込み

Ubuntu22LTSでRust言語をやる その6:embeded halで外部インターフェースをつかう

実際のところ toml [package] name = "teensy_led_blink" version = "0.1.0" edition = "2021" [dependencies] cortex-m = "0.7" #Teensy4.0のCortexの低レイヤ実装をする方法 cortex-m-rt = "0.7" #Teensy4.0の起動時のあれこれ。メモリ初期化とか embedded…

小型犬ロボット SpotMicro をつくる その1:そもそもコイツは何なのか

実際のところ 今書いてまs 参考もと Home - SpotMicroAI

Arduino環境でコールバック的挙動の実験

可読性をあげたりモダナイズな雰囲気を出す意味で、 Arduino環境でコールバック的挙動が実現できるか試してみました 実際のところ ターゲットボードはM5stackとします。 ボタンAの押下を確認し、押されたようであれば内部変数をインクリメントして画面を更新…

【読書メモ】図解入門 現場で役立つ電源回路の基本と仕組み[第2版]

図解入門 現場で役立つ電源回路の基本と仕組み[第2版]作者:石川洋平,清水暁生,深井澄夫,野口卓朗秀和システムAmazon

【読書メモ】生産技術の教科書Ⅱ

生産技術の教科書Ⅱ作者:鈴木タケシAmazon

【読書メモ】生産技術の教科書Ⅰ

生産技術の教科書Ⅰ作者:鈴木タケシAmazon

【自習メモ】インストレージコンピューティング

MFT2022のキオクシアブースで聞いた話のメモ。画像処理や音声解析、あるいは私のやろうとしてる制御工学など、データに紐づいた細かい計算の塊みたいな処理は結構あります。 こういう処理は一旦メモリ上に載せられた一時情報をCPUで計算して、最終結果をスト…

【読書メモ】基礎から学ぶ 組込みRust

基礎から学ぶ 組込みRust作者:中林 智之,井田 健太発売日: 2021/04/20メディア: 単行本(ソフトカバー)今を時めく低レイヤー向けの新兵器、Rust。 そのRustをSeeed社が出してる高機能STM32ボードWio-Terminalをターゲットにして組み込み技術を学んでいく本…

ラトックシステム Bluetooth RS-232C変換アダプター REX-BT60をつかう

ラトックシステム Bluetooth RS-232C変換アダプター REX-BT60発売日: 2013/02/26メディア: Personal Computersとある案件で、すでに稼働している装置のBluetooth化をする必要があったので アレコレ探していたところ、協力企業に勧められたのが、こちら。メカ…

sparkfun社のバッテリーベビーシッターがLiPo用チャージャーとしては高機能で使えそう

switch-science社の公式ページから引用LiPo用の電源管理モジュールです。 単純に充放電するのみならず、残量等の情報をI2Cで出力してくれる機能まで備わっています。出力電圧については少々独特で、電源の接続状態によって決まるようです。 バッテリーのみの…

【読書メモ】私も電子回路のオタクになる: 初歩のデジタル回路から実践的回路設計へ

私も電子回路のオタクになる: 初歩のデジタル回路から実践的回路設計へ作者:北島 繁優発売日: 2015/02/23メディア: Kindle版Kindle Unlimited にあったので登録。 タイトルの通り、デジタル回路の入門本です。二進数の解説だったり74系の論理石があったりと…

【読書メモ】組込み開発のための実践的プログラミング

組込み開発のための実践的プログラミング作者:鷹合 大輔,田村 修発売日: 2018/04/03メディア: 単行本組み込み系では評価の高い本です。 大学の講義資料が元になっているだけあって、説明が掘り下げてある印象。 ブザーやスイッチ、マトリクスLEDの仕組みまで…

Linux系ボードでi2cで通信しないならi2cdetectでアドレスを調べなおすのも手

それまで使っていたRasPi用I2CPythonスクリプトを違うデバイスで転用したところ IOError: [Errno 121] Remote I/O error などと怒られたのですが、全く検討がつかず。入れ替えこそしたものの、中の石も周辺回路もほぼ同じなのに一体なぜ……?あれこれ調べてい…

RasPiでステッピングモーターを動かす その3:二つ動かす

Raspberry Pi 3BにはハードウェアPWMが実装されています。 2チャンネル各2ピンが割り当てられているので合計4ピンあるわけですが、 同じチャンネルのピンは同時に駆動できません。 たとえばXY平面で斜めに動かしたいなら、XとYはCH1とCH2に分離する必要が…

【自習メモ】ロボットアームつきドローン

何度目かのドローン元年を迎えた今日この頃、みなさん如何お過ごしでしょうか。 私はドローンにはついぞ食指が動かず静観していたのですが、 どうも巷にはロボットアームとドローンを組み合わせたプロダクトがチョロチョロと出ているらしいという話を耳にし…

socatコマンドでリモート先にTCPで通信する

サーボにせよセンサーにせよ、だんだんとEthanet対応の機器が増えてます。 こういうのに繋ぐツールとしてはnetcat/ncコマンドがありますね。 これの上位版……というか、高機能版としてsocatというのもあります。 実際のところ デフォ設定のまま192.168.1.31:5…

圧着端子と端子台

圧着端子は機械屋さんがセンサーや動力線の配線に使う部品です。ニチフ 裸圧着端子 Y形(100P) 1.25Y3出版社/メーカー: ニチフ端子工業メディア: Tools & Hardwareこの商品を含むブログを見るこれを圧着ペンチとか圧着工具と呼ばれるモノで輪っかを押しつぶし…

WiringPiでRasPiのインターフェイスをC言語経由で扱う

WiringPiというライブラリを使うと、RasPiのインターフェイスをC言語経由で扱うことができます。 Pythonとかで扱うケースは結構みますけど、 ある程度突っ込んだことをするケースとかでは何やかんやでC言語はアテになります。 実際のところ 導入 $ cd #YOURD…

Linux系のシェルでi2cを扱う

i2cのインターフェイスが出ているLinux系環境でシェル経由でi2cデバイスを扱うコマンドがあります。 実際のところ 導入 $ sudo apt-get install i2c-tools つかいかた i2cset "-y"は対話モードを無効化。パイプでつなぐなら必須。 i2cset [-f] [-y] [-m mask…

Groveシステムのモジュールを使って楽にプロトタイピングする

GroveシステムはMaker系の人がプロトタイピングでよく使うコネクタ規格です。 wiki.seeedstudio.com シンプルな4本線で「アナログ」「デジタル」「UART」「I2C」を扱うという豪快な仕様。 電源電圧や実際に繋ぐ種類はユーザーが判断しろって事のようです……俠…

Valgrindをつかってメモリ破壊してないかチェックする

実際のところ まずは公式チュートリアル通りの以下のスクリプトをやってみましょう。 (コメントは日本語してみました) #include <stdlib.h> void f(void) { int* x = malloc(10 * sizeof(int)); x[10] = 0; // 問題その1: ヒープ領域ぶっちぎってる } // 問題その2: </stdlib.h>…

Make: Electronics ―作ってわかる電気と電子回路の基礎

Make: Electronics ―作ってわかる電気と電子回路の基礎 ((Make:PROJECTS))作者:Charles Platt発売日: 2010/11/29メディア: 大型本Makeまわりから出て来た電気回路の入門書です。 絵が多く数式をあんまり使わないため、比較的読みやすい構成です。話題は抵抗…

LPC系下調べとIchigo Jamを使う野望

www.nxp-lpc.com そこで出てくるのがLPC1100。 Ichigo Jamで使われてる fukuno.jig.jp「Ichigo JamでARMのハンドアセンブル」というキマった記事もあるので ARM Cortex M0の低水準言語をアレコレ弄り回すスキルもつくよ! http://fukuno.jig.jp/1184ボクのLP…

パイプ経由で出力をうけとる時、単純にscanf使えばいい

考えてみりゃ当たり前だったのですが……パイプ経由で出力をうけとる時、単純にscanf使えばいいです。 実際のところ #include <stdio.h> int main() { char str[1][0x100] = { "" }; scanf("%s", str[0]); printf("%s is good!\n", str[0]); return 0; } $ echo 'hoge' </stdio.h>…

文字列を複数持たせる場合

#include <stdio.h> int main() { //多次元配列 char str[2][0x10] = { "", "yeah!" }; //ポインタ変数の配列 char *str2[2] = { "", "yeah!!" }; printf("%p,%p\n", &str[0], &str[1]); printf("%p,%p\n", &str2[0], &str2[1]); return 0; } 多次元配列が宣言通りの</stdio.h>…

OpenPLCやCODESYSでRasPiをPLC化

産業用自動機械の制御は今でも結構な割合がPLC方式です。 学習しようにもシーケンサー高いし、プログラムツールもメーカ固定だし……なんかヤダ。 そんな私と貴方のためのオープンなPLCが存在します。 どちらもラダー言語は国際標準に則っているので、 基本的…

品質管理検定(QC検定)

展示会ログなんかでも書いている通り、最近はハードウェアの仕事が増えてます。 そんな中で、品質管理が課題になってました。 いつまでも研究室めいた出たとこ勝負のワンオフ装置ばかり作ってるわけにも行きませんからね。 そろそろ品質管理の必要があるなと…

TWELITEを使って野外通信実験 その2:野外通信してみた

予告通り、TweLiteで野外通信をしました。 実際のところ ハードウェア ありあわせの部品で実験したので、バラバラなのはご愛嬌 子機 二個電池ケースの3.0Vで使用。 動作加減が2.4Vなので、こんな雑でもOK。 親機 消費電力が大きいと予想されたので、3個電池…

Arduino UNO R3 と秋月のGPS受信キット「AE-GYSFDMAXB」をつかう

Arduino UNO R3 と秋月のGPS受信キット「AE-GYSFDMAXB」をつかう方法です。AE-GYSFDMAXBは2200円で購入可能ならくらくGPSキットです。 レギュレーターやバックアップ電池まわりが予め実装されておりお手軽。 画像は秋月公式よりお借りしましたakizukidenshi.…

モータドライバTA7291Pで遊ぶ

東芝のTA7291Pは直感的に使いやすいモータドライバです。モータードライバー TA7291P 2個セット出版社/メーカー: 株式会社東芝セミコンダクター社(TOSHIBA)メディア: その他この商品を含むブログを見る 性能表は公式によるとこんな塩梅です。 今回使ったTA72…