Created
April 12, 2019 08:15
-
-
Save hiroshi-nishiura/1d6bfd33508d1d76ce6b2c758cc3cc0a to your computer and use it in GitHub Desktop.
Arduino 周辺機器情報
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
-------------------------------------------------- | |
MPU-6050 使用 3軸ジャイロスコープ・3軸加速度センサー モジュール | |
入力電圧 3-5V | |
インターフェイス: I2C (2 wire, IIC) | |
ジャイロ測定範囲:±250 500 1000 2000 °/s | |
加速度測定範囲:±2±4±8±16g | |
モジュールピン間隔: 2.54mm (標準インチ・ミル系) | |
MPU-6050を使用した、3軸ジャイロ+3軸加速度センサーのブレイクアウト・モジュール。 3端子レギュレータを内蔵し\ | |
ているため、3Vのほか、5Vの電源入力が可能。 | |
サンプルプログラム Arduino | |
https://github.com/jrowberg/i2cdevlib/tree/master/Arduino/MPU6050 | |
インベンセンス社(InvenSense)の三軸加速度(Accelerometer)三軸ジャイロ(Gyroscope)デバイスMPU-6050(英語仕様書)が\ | |
搭載されているモジュールの完成品です(ピンヘッダは半田付けされていません)。MPU-6050を使用するためのすべての電\\ | |
路が揃っています。 | |
MPU-6500はインベンセンス社のスマートフォン、タブレット、着用可能なセンサーまたは他の消費市場における二代目の6\ | |
軸MotionTrackingデバイスです。QFNパッケージはx3x0.9mmの大きさであるため、MPU-6500は世界で最も小さい6軸のMotio\ | |
nTrackingデバイスです。インベンセンス社の最新MEMSジャイロと加速度計の設計革新が組み込まれ、パフォーマンスとコ\ | |
ストが改善されました。またチップサイズと電力消費量が大きく減少されました。MPU-6500には、3軸加速度計、3軸ジャ\\ | |
イロスコープまたはデジタルモーションプロセッサー(DMP:Digital Motion Processor)が内蔵されています。複雑なモー\\ | |
ション合成やタイミング同期または身振り検知等は、デジタルモーションプロセッシングエンジンで行います。ジャイロ\\ | |
スコープの最大感度131LSBs/dps、最大測定範囲は±250、±500、±1000、±2000dpsです。加速度計の最大測定範囲は±2\ | |
g、±4g、±8g、±16gです。 | |
3.3~5.0Vの電源入力をサポートしています。 | |
電源表示LEDが搭載されています。 | |
I2Cをサポートするための必要な回路が搭載されています。 | |
ストレートとライトアングル(L型)の2本ピンヘッダが付属されています。 | |
外形寸法約:20.6mm(L)x15.6mm(W)x3.3mm(H)(実測) | |
型番 | |
SNS-1007V2 | |
ピン配置 | |
名称 機能 | |
VCC 3V~5V電源入力 | |
GND グランド | |
SCL I2Cインターフェースクロック端子 | |
SDA I2Cインターフェースデータ端子 | |
XDA マスタI2Cインターフェースデータ端子、外部のセンサーに接続します。 | |
XCL マスタI2Cインターフェースクロック端子、外部のセンサーに接続します。 | |
AD0 I2CインターフェースアドレスLSB入力(空の時、LOWになります)。(内部の1K抵抗を通ってGNDに繋がっています\ | |
。) | |
LOWに入力される時:I2Cのアドレスはb1101000(0x68)になります。HIGHに入力される時: I2Cのアドレスはb1101001(0x6\ | |
9)になります。 | |
INT 割り込み出力 | |
データシートのありか | |
http://www.invensense.com/products/motion-tracking/6-axis/mpu-6050/ | |
-------------------------------------------------- | |
Arduino NANO 3.0 互換機 ヘッダピン付属 | |
チップは、ATmega328+CH340G。 | |
CH340Gのドライバーについては、下記が参考になるかもしれません。 | |
http://blogs.yahoo.co.jp/dascomp21/67992738.html | |
-------------------------------------------------- | |
8×8 マトリックスLED+MAX7219 完成品 | |
Arduino/PICに赤色の8×8ドット マトリックスLEDです。 | |
LEDコントロールICのMAX7219で制御しますので、 | |
面倒な配線やソフトでの制御をしないで、 | |
マトリックスLEDが使えます。 | |
また、完成品なので、半田付けもいりません。 | |
http://blogs.yahoo.co.jp/dascomp21/archive/2015/01/08 | |
-------------------------------------------------- | |
Arduino/Raspberry Pi で無線通信!2.4GHz無線モジュール nRF24L01+ | |
4点1件の商品レビュー | |
ArduinoやRaspberryPi で無線通信ができます。 | |
それぞれにライブラリもあって、簡単に使うことできます。 | |
1個では通信できません。通信をするには同じものが2個必要です。 | |
ArduinoやRaspberryPi も2台必要です。 | |
2.4GHz無線通信 Arduino | |
http://blogs.yahoo.co.jp/dascomp21/archive/2014/10/24 | |
無線通信ってなんか憧れる。 | |
リモコンみたいな使い方だけでなく、 | |
離れたところの温度や湿度を計測したり、状況を知るにも必要。 | |
2.4GHzで無線通信ができるnRF24L01+。 | |
しかもライブラリも充実しているので、ArduinoでもRaspberryPiでも使えちゃうのがスゴイ。 | |
無線通信だと、XBeeが有名だけど、1個2000円はする。送受信で最低2だ必要で、4000円はかなり。 | |
そこが、これだとかなり安あがり。 | |
実際に使うには、組み合わせは自由だがAUduinoやRaspberry Piが2台必要。 | |
さて、Arduino でのやり方。 | |
ライブラリは、https://github.com/stanleyseow/RF24 | |
例によって、右下の「Download ZIP」をクリックして、 | |
「RF24-master.zip」というファイルを「保存」。 | |
「ファイルを開く」で開いたら、左上のバーの「ファイルをすべて展開」で「展開(E)」する。 | |
展開できたら「RF24-master」というフォルダの名前を「RF24」に変更する。 | |
そして、コンピューター→ボリューム(C:)→Program Files→Arduino→Librariesの中にドラッグ&ドロップする。 | |
これでIDEでライブラリが使えるようになり、「スケッチの例」も使えるようになる。 | |
接続は、下記のようにする。 | |
イメージ 2 | |
Arduino nRF24L01+ | |
Pin 11 Pin 6 ( MOSI) | |
Pin 12 Pin 7 ( MISO ) | |
Pin 13 Pin 5 ( SCK ) | |
Pin 8 Pin 4 ( CSN ) | |
Pin 7 Pin 3 ( CE ) | |
3.3V Pin 2 ( VCC / 3.3V ) | |
GND Pin 1 ( GND ) | |
nRF24L01+の8番PINは使わない。 | |
また、PINの1と2の間にパスコン(1μF程度のコンデンサ)を入れると安定する。 | |
そして、IDEから、ファイル→スケッチの例→RF24→GettingStarted。 | |
そして、「→」でコンパイル&書き込み。 | |
シリアルモニタを開くとこんな感じ | |
イメージ 3 | |
最初は、受信状態になっている。 | |
「T」を入力して送信状態にすると/// | |
-------------------------------------------------- | |
2.4GHz無線通信 RaspberryPi | |
http://blogs.yahoo.co.jp/dascomp21/archive/2014/10/25 | |
実際に使うには、組み合わせは自由だがArduinoやRaspberry Piが2台必要。 | |
さて、RaspberryPiでのやり方。 | |
接続は、下記のようにする。 | |
イメージ 1 | |
RaspberryPi nRF24L01+ | |
Pin 21 Pin 7 ( MISO ) | |
Pin 19 Pin 6 ( MOSI) | |
Pin 23 Pin 5 ( SCK ) | |
Pin 22 Pin 4 ( CSN ) | |
Pin 24 Pin 3 ( CE ) | |
Pin 17 Pin 2 ( VCC / 3.3V ) | |
Pin 25 Pin 1 ( GND ) | |
nRF24L01+のPin 2は、5Vに繋ぐと壊れるらしい。絶対に3.3V。 | |
nRF24L01+の8番PINは使わない。 | |
また、Arduinoでは、PINの1と2の間にパスコンを入れたが、 | |
RaspberryPiでは、なくても大丈夫なようだ。 | |
ライブラリは、Arduinoで使ったのと同じhttps://github.com/stanleyseow/RF24 | |
の中の「RPi」というもの。ここをクリックするとRaspberryPiでのやり方が出てくる。 | |
mkdir ~/rf24libs | |
cd ~/rf24libs | |
git clone https://github.com/tmrh20/RF24.git rtemp | |
mv rtemp/RPi/RF24 ./ | |
rm -r rtemp | |
cd RF24 | |
sudo make install | |
cd examples | |
make | |
sudo ./gettingstarted | |
「1」を入れると送信モードに「0」だと受信モードになる。 | |
-------------------------------------------------- | |
超音波距離センサーモジュール HC-SR04 Arduino | |
使い方は、簡単で | |
トリガ端子を10μs以上HighにしてからLowにします。 | |
これで、センサモジュールが発信を始めます。 | |
出力を監視して、Highになっている時間を計測します。 | |
この時間が、目標物まで音が往復した時間です。 | |
小学校で勉強した音の速度で、距離を計算できます。 | |
http://blogs.yahoo.co.jp/dascomp21/archive/2015/08/13 | |
超音波を発して、帰ってきた音を感知して、その時間が計測できるセンサー。 | |
イメージ 1 | |
裏側はこんな感じ。 | |
イメージ 2 | |
このHC-SR04の仕様。 | |
電源電圧:5V | |
電流:15mA、待機で2mA以下 | |
センサ角度:30度 | |
検出距離:2cm-4m | |
VCCとGNDに5Vの電圧をかけて、 | |
Trigを一度LOWにして、10マイクロ秒以上Highにしてから、LOWにすると、 | |
40kHzの超音波を8回出す。 | |
この後EchoがHighになり、出した音波が帰ってくるとLOWになる。 | |
つまり、このEchoがHighになっている時間を計測すると、 | |
音が出て、対象物に反射して帰ってきた時間がわかる。 | |
この時間から距離を計算するのは、音の速度を340m/sとして、 | |
距離=時間/2×340 | |
音の速度は、気温によって変わるので、正確に計算したければ、気温を測って、 | |
音の速度=331.5+0.6×温度 | |
イメージ 3 | |
VCC←5V | |
Trig←8 | |
Echo←9 | |
GND←GND | |
と4本つなげば使えるようになる。 | |
********************************************************************** | |
int Trig = 8; | |
int Echo = 9; | |
int Duration; | |
float Distance; | |
void setup() { | |
Serial.begin(9600); | |
Serial.println("START"); | |
pinMode(Trig,OUTPUT); | |
pinMode(Echo,INPUT); | |
} | |
void loop() { | |
digitalWrite(Trig,LOW); | |
delayMicroseconds(1); | |
digitalWrite(Trig,HIGH); | |
delayMicroseconds(1); | |
digitalWrite(Trig,LOW); | |
Duration = pulseIn(Echo,HIGH); | |
if (Duration>0) { | |
Distance = Duration*0.017; // Duration/2*340*100/1000000; | |
Serial.print(Duration); | |
Serial.print(" us "); | |
Serial.print(Distance); | |
Serial.println(" cm"); | |
}else{ | |
Serial.println("Error"); | |
pinMode(Echo,OUTPUT); | |
digitalWrite(Echo,LOW); | |
pinMode(Echo,INPUT); | |
} | |
delay(500); | |
} | |
********************************************************************** | |
超音波なので、距離を測る対象物は、ある程度の硬さが必要で、 | |
服やカーテンなど柔らかいものだと音が反射せずに計測できなくなくなる。 | |
-------------------------------------------------- | |
Arduino UNO R3 互換機+ヘッダピン セット【全国送料164円】 | |
Arduino UNO R3 互換機です。 | |
ヘッダーピン(10ピン×4本)も付属し、 | |
取付ければ、オスメス両方のケーブルが使えて、本家より便利です | |
http://blogs.yahoo.co.jp/dascomp21/archive/2014/10/14 | |
Arduino UNO のオリジナルというかオフィシャルのものには、 | |
書き込んだプログラム(スケッチ)を実行するATmega328というチップと | |
Arduinoの特徴である簡単にUSBに繋ぐためのAtmega16U2というチップが載ってる。 | |
完全互換品のFuduinoなど(コピー品も含めて)は、これと同じなので、 | |
Arduino IDEと同じ扱いで使えるようになる。 | |
一方互換品のDcduinoとかは、部品代節約のため | |
Atmega16U2をCH340というのに置き換えている。 | |
(メインのATmega328も直付けになってる。直付けだとソケット代が浮くからかな?) | |
このため、CH340のドライバーをインストールしなくてはならない。 | |
といっても。とても簡単で、↓のサイトからインストールするだけ。 | |
http://www.wch.cn/downloads.php?name=pro&proid=65 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment