組み込み

ラトックシステム 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…

WIFIモジュールESP8266EXのATモードがうまく動かない場合……動作電力が足りてないのかも

ESP8266EXは550円程度で調達できるWiFiモジュールです。 32bitのMCUも内蔵しておりなかなか高性能です。 基本的な設定はよくあるように、ATコマンドで出来ます。 もし、このATコマンドが正常に動作しないなら、配線以外に供給電力を疑ったほうが良…

FlashAir内蔵Luaを使ってWEBブラウザからLEDをチカチカさせる

FlashAirにはLuaという軽量言語が内蔵されています。 RubyやPythonのような文字列、配列を軽く操作できる便利関数が揃っています。 それに加えて、極めて高速。 どれほどかと言えば、ゲームエンジンの開発初期段階でパラメータ調整なんかに使われる程。 フッ…

【読書メモ】電子工作は失敗から学べ!

電子工作は失敗から学べ!作者:後閑 哲也発売日: 2016/04/14メディア: 大型本「電子工作は失敗から学べ!」は、その名の通り電子工作の本です。 チョット前に出版された「電子工作入門以前」の作者さんの本で表紙の感じも何となく似ています。この手の本に出…

JSON-RPCが便利そう

RPC=>遠隔制御。 JSON-RPCは、そのJSON版。JSONらしいシンプルな記法で、遠隔操作を実現します。 ダウンローダのAria2ですとか、BItcoin、あとはopenElecみたいなエンタメサーバの制御に使われています。RESTなAPIと違い、受け手がHTTPを解釈できなくとも…

アナログ回路系の知識は部品メーカの解説サイトを参照した方が良い

アナログ回路系の知識は部品メーカの解説サイトが参考になります。 もちろん、背景知識があるなら、Wikipediaでも問題ありません。 が……大抵の場合妙にアカデミックに寄っており、すんなりアタマに入ってこない可能性があります。 また、テストやレポートの…

Linuxカーネルのメニュー設定画面が出ないときは画面サイズを再チェックしてみる

今回の話は実にショーもない話です。Armadillo-IoT用にLinuxカーネルをビルドすべく設定画面を出そうとしたところ……画面が出ない! 特に設定いじった訳でも無いのに……ナンデ??次のようなエラーが。 $ make menuconfig config/mkconfig > config.in make -C…

PC版のSerialPortアプリで動いて組み込み機器で動かない場合、timeoutまわりを疑ってみる

とある案件で、組み込み機器で通信を受けて彼是するアプリを開発した事があります。 いわゆる組み込みLinux関係でしかもdebianだったので楽勝だろーとrubyのSerialPort系gemをつくってチャッチャッとつくってみました。……ところが。 いざ、本番環境の機器で…

遊び甲斐のありそうなSDカード型無線LAN「FlashAir」

FlashAirは遊び甲斐のありそうなSDカード型無線LANカードです。基本的な用途は、デジタルカメラに内臓してスマホと連動させる事でカメラ画像の同期です。 この用途で先行する類似品に「Eye-Fi」があります。が、この子がひと味違うのはこれ自体がWebサーバ風…