2016年6月19日日曜日

Arduino と 照度センサ モジュール 使ってみた

準備   

◆Arduinoのソフト(PCにインストール無料)

◆Arduino のハード(ンヘッダー同梱)(360円+送料170)



Arduinoのソフト(PC)とArduinoのハードをつなぐUSBケーブル(100円+送料170)

照度センサー モジュール (520円+送料170)

DatasheetsensorROHM
 データシート  (センサー)ROHM


 工作開始
全てつなぎましょう。照度センサー モジュールは電圧変換内臓


Arduino Unoにスケッチ を書き込みましょう

ツール > マイコンボード > Arduino Uno

 ツール > シリアルポート > Arduino Unoが接続されているポート

スケッチを書く
 #include <Wire.h> //IIC
  int BH1750address = 0x23;//ADDR<0.3VCC
//int BH1750address = 0x5c;//ADDR>0.7VCC   
  int HighByte, LowByte;
  float MeasurementAccuracy, val;
 
void setup()
{   
  Wire.begin();
  Serial.begin(9600);
 
  Wire.beginTransmission(BH1750address);
Wire.write(0x10); MeasurementAccuracy = 1.2;//1lx reolution 120ms
//Wire.write(0x11); MeasurementAccuracy = 2.4;//0.5lx reolution 120ms 
//Wire.write(0x13); MeasurementAccuracy = 1.2;//4lx reolution 16ms
//Wire.write(0x20); MeasurementAccuracy = 1.2;//1lx reolution 120ms oneTime
//Wire.write(0x21); MeasurementAccuracy = 2.4;//0.5lx reolution 120ms oneTime
//Wire.write(0x23); MeasurementAccuracy = 1.2;//4lx reolution 16ms oneTime
  Wire.endTransmission();  
  delay(240); 
}

void loop()
{  
  Wire.beginTransmission(BH1750address);
  Wire.requestFrom(BH1750address, 2); 
  HighByte = Wire.read();
  LowByte = Wire.read();
  Wire.endTransmission(); 
         
  val=(HighByte*128+LowByte)/MeasurementAccuracy;       
  Serial.print(val,1);
  Serial.println("[lx]");     
  delay(160);
}


◆シリアルモニタで見てみましょう





 
 

2016年6月13日月曜日

Arduino と 5V リレー モジュール 使ってみた

 準備   

◆Arduino IDE(PCにインストール無料)

◆Arduino Uno(ンヘッダー同梱)(360円+送料170円)
Arduino IDE(PC)とArduino UnoをつなぐUSBケーブル(120円+送料170円)
 


5V リレー モジュール(100円+送料170円)

◆負荷(リレー接点容量越えないものを何か用意する)

◆電源直流5V(何か用意する)


 ◆電源直流7~12V(何か用意する)
 
工作開始
Arduino IDE(PC)とArduino Unoをつなぎましょう 

Arduino Uno にスケッチ を書き込みましょう
 ツール > マイコンボード > Arduino Uno
 

 ツール > シリアルポート > Arduino Unoが接続されているポート

 

 スケッチを書く
 void setup() {
  pinMode(7, OUTPUT); 
}

void loop() {
  digitalWrite(7, HIGH); 
  delay(5000);                
  digitalWrite(7, LOW);  
  delay(5000);
}


 ◆Arduino UnoをPCから外し、下の図のようにつなぎましょう
 



 

2016年6月10日金曜日

Arduino と 温度計・DS18B20 使ってみた

 準備   

◆Arduinoのソフト(PCにインストール無料)


◆Arduino のハード(ンヘッダー同梱)(360円+送料170)



◆Arduinoのソフト(PC)とArduinoのハードをつなぐUSBケーブル(100円+送料170円)
  


1-Wireデジタル温度計 DS18B20 (320円+送料170円) (抵抗5.1kΩ1本同梱)


 工作開始
◆全てつなぎましょう.

ライブラリをダウンロードしましょう




ダウンロードしたライブラリを移動し
home/sketchbook/libraries

解凍し、



適当な名前にしましょう(OneWireMaster、 TemperatureControlLibraryMaster)



◆Arduinoのソフトにライブラリを追加しましょう

/home/sketchbook/libraries/OneWireMaster

/home/sketchbook/libraries/TemperatureControlLibraryMaster


◆Arduinoハードにスケッチを書き込みましょう


 
 


 ◆シリアルモニタで見てみましょう





2016年6月8日水曜日

Arduino と 温湿度センサ モジュール AM2320 使ってみた

 準備   

◆Arduinoのソフト(PCにインストール無料)

◆Arduino のハード(ンヘッダー同梱)(360円+送料170円)


◆Arduinoのソフト(PC)とArduinoのハードをつなぐUSBケーブル(100円+送料170円
 

◆温湿度センサ モジュール AM2320(440円+送料170円)

 工作開始
◆全てつなぎましょう

Arduino Unoにスケッチ を書き込みましょう

ツール > マイコンボード > Arduino Uno
 

ツール > シリアルポート > Arduino Unoが接続されているポート
 

スケッチを書く
#include <Wire.h> //by dd647
void setup()

  Wire.begin();      
  Serial.begin(9600);
  delay(100);
}
void loop()
{
  Wire.beginTransmission(0x5c);     // address(0x5c)  sensor(AM2320)
  Wire.write(0x03); //Arduino read senser
  Wire.write(0x00); //address of Humidity
  Wire.write(0x04); //The number of address
                    //(Humidity1,Humidity2,Temperature1,Temperature2)
  Wire.endTransmission();//
  delay(1000); 
  int ans = Wire.requestFrom(0x5c,6);// request 6 bytes from sensor(AM2320)
  
    while(Wire.available() !=0){  
    int H1,H2,T1,T2 = 0;
    float h,t =0; 
        for(int i = 1; i <  ans+1; i++){    
        int c = Wire.read();       
            switch (i){   
            case 5:
            T1 = c;
            break;
            case 6:
            T2 = c;
            break;
            case 3:
            H1 = c;
            break;
            case 4:
            H2 = c; 
            break;
            default:
            break;
            }      
        }      
    h = (H1*256 + H2)/10.0;
    t = (T1*256 + T2)/10.0;
    Serial.print("  Humidity=");
    Serial.print(h);
    Serial.print("   ");
    Serial.print("  Temperature=");
    Serial.println(t);
    }
}


◆シリアルモニタで見てみましょう




1: これでいいのだろうか?Are these correct?
2:OneWireのやりかたが分からない。I don't know how to OneWire