俺言語。

自分にしか理解できない言語で書かれた備忘録

Arduino

【Arduino】【MCP_CAN】Seeed CAN BUS Sheild 古いライブラリ

最新のSeeed MCP CAN Shield (MCP2515) のライブラリを導入したところ下記のエラーが発生。cannot declare variable 'CAN' to be of abstract type 'MCP_CAN' 調べたところライブラリが大きくアップデートされているようで、インポートする側のプログラムも…

【Arduino】Hexでの配布とFlash方法

ArduinoのプログラムをHexで配布し,Flashするまでの備忘録. Arduinoのメニューから”コンパイルしたバイナリを出力”を選択.スケッチと同じフォルダにHexファイルが生成される. avrdude.exeのパスを調べておく.パスを通しておいた方が便利かも.e.g.)C:\P…

【C,ポインタ】改めてCのポインタ 個人的まとめ

あっているかわからないけど,ポインタは結局は組み込みなどメモリ容量が制限される環境と,戻り値が2以上の関数でグローバル関数を使いたくない場合に有効な手段. 裏を返すと,メモリに余裕があって,動けば良くて,ポインタで躓いて時間を食うくらいなら…

【C】2byte以上のデータを1byteずつ送信する方法

例えば65535(0xFFFF)のような2byteのデータをシリアル通信で送信する場合、1) 文字列のまま送る→ 0x54 0x53 0x53 0x51 0x53 で5byte必要 2) バイナリデータで送信 → 0xFF 0xFF で2byteとバイナリデータで送信する方が効率がよい.2byteデータをバイナリデー…

【Arduino】シリアル通信の送受信バッファサイズ変更

Arduino Micoroのシリアル送受信バッファサイズ、初期設定は64byteらしい(RAMサイズによっては16byte).SPIで受信したCANデータをシリアルで送信する際に,IDあたり12byte(ID 2byte, data 8byte, start/end時にend符号で各1byte)に加えて, SLIPフォーマット…

【Arduino】MCP2515で受信するCAN信号のフィルタ方法 ~MaskとFilterの使用方法

MCP2515というCANコントローラは 2個の受け入れマスク(2個受信バッファがあり、各バッファに1つずつ)と 6個の受け入れフィルタがあって、これをしっかり設定しないと意図したメッセージが取得できない。SeeedのCAN_BUS_Shieldを使う。READMEがわかりやすくて…

【Arduino,C】文字宣言時にオーバーフロー?

オーバーフローといっていいのかよくわからないけど文字宣言のところで変数の意味が分かるように掛け算で数値を代入したとき,具体的には unsigned long time_millisec = 135 * 1000 //msec としてミリ秒にするため1000をかけて代入したところなぜか代入され…

【CAN】seeed studio製CANBUSシールド ピンアサイン

・CANBUSシールド側のピンアサインは下記から見た方向のピンが画面の表示内容になる。 ・CANネットワーク側

【Arduino】seeed studio製CANBUSシールドのバージョン

seeed studio製のCANBUSシールドは2015/2月現在2バージョンある模様。旧バージョンはICSPピンとSPI信号ピンがつながっていないため,Leonardoで使うにはひと手間必要。注意! ・旧バージョンv1.0 03/06/2013 緑色の外箱 ・新バージョンv1.1 06/27/2014 黒い…

【Arduino】わかりやすいピン配置図

http://www.pighixxx.com/test/pinoutspg/boards/

RS232CコネクタのRx,Txについて

RS232C 9PinコネクタのRx,Txに送信・受信データどちらをつなぐべきかいつも迷うのでここで自分まとめ。 なんで迷っていたのかというと 基盤に載っている9Pinコネクタの基盤上のICからデータが送信されていてもコネクタから見ると受信データになる データ送…

【Arduino】RS-232C パリティあり等の通信設定

ただ単にSerial.begin(9600)とするとデータ長8bit,ストップビット1bit,パリティなしのデフォルト設定になるがこれ以外も使用可能。 確かArduinoIDEが1.0.2から使えるようになったっぽい。 使い方は ヘッダーで#include<HardwareSerial.h>をインクルード Serial.begin()の第2</hardwareserial.h>…

【荷重計】A&D FG-60Kのシリアル出力はRS232じゃなかった

A&D製荷重計 FG-60Kのシリアル出力をArduino等で受ける際の注意点 RS-232準拠とあるが,どうやらTTLっぽい → 0-5Vで正論理だったため ex) 受信1byte目を解析すると データbitは負論理で「0101100」 → ASCIIコードで ”,”となり意味不明 データbitを反転する…

【Leonardo】Unoと違う点,メリット覚え書き

LeonardoがUnoと違う点 まだまだあるはずだけど気になったところのみ。 ハードウェアシリアルはSerialではなくSerial1SerialにするとUSB出力のシリアル通信になる ソフトウェアシリアルの受信側に使えるポートに制限あり8, 9, 10, 1114(MISO), 15(SCK), 16(M…

Arduinoシリアル通信設定

デフォルトの通信設定は下記仕様 ビットレート 300, 600, 1200, 2400, 4800, 9600, 14400, 19200, 28800, 38400, 57600, or 115200.から選択。 データ長 8bit パリティチェック 無し ストップビット 1bit<参照元>ttp://www5a.biglobe.ne.jp/~nkgwtty/hn_ardu…

NJM431シャントレギュレータを使った定電源回路

ストロークセンサ(ポテンショメータ)用の高精度定電圧回路・出力電圧 5V・出力電流(max) 70mA・入力電圧 12V・NJM431シャントレギュレータ使用

【Arduino】【XBee】【I2C】ArduinoでXBeeAPIとI2Cを使ってデータを送信するプログラム

特にはまったところ。①送信メソッドの引数につかうZBTxRequest , この引数であるデータは2個以上ないと何故かエラーになる・・・。②送信データの引数の型は"uint8_t"のみ。 同じ意味のunsigned int ではダメだった。 "const"をつけて宣言してもダメ。③送信…

【xbee】手持ちxbeeのアドレス

全てXBEE ZB。1号機:0013A200 408B4410 →PC2号機:0013A200 408B43F0 →カメラ(Side)3号機:0013A200 408B4AA7 →カメラ(Front)4号機:0013A200 408B4401 →アブソーバ温度5号機:0013A200 408B4068 →輪留めタッチ<APIモード設定覚え書き>・PAN ID:9300・1台は"COODINATOR",他は</apiモード設定覚え書き>…

自動レリーズ装置(USBminiBピンアサインとカメラへ入力するパルス)

ピンアサインを間違えたので覚書。

SDカード書込みの注意点

結構はまったのでここにおぼえがき。使用ライブラリ:ArduinoIDEに付属のSD.h・SD.print(***)だけではSDカード内のファイルに書き込みされていない模様。 file.SD.close()で閉じて初めて書き込まれるみたい。・データを連続してロギングする場合はいつ電源ダ…