구분

센서유형

센서 

단가

구입가

 

 

 센서

 진동센서

 801s

10,980

13,480 

 

 

 

 DC 컨트롤러

 

3,500 

20,000 

 

 

 센서 

 진동

피에조 

6,600 

 

 

 

 센서

 먼지센서

 

15,400

 

 

 

 소모품

 리드전선

 

1,500 

9,000 

 

 

 

 충전기

 

45,000 

47,500 

 

 

 센서

온습도센서

DHT22 AM2302 

13,000 

 

 

 

 소모품

 PCB 5*7

 

1,900 

5,100 

 

 

 소모품

 PCB 7*9

 

2,500 

7,500 

 

 

 센서 마이크로폰   5,200       
 

WiFi

  14,900       
 센서

자이로

MPU6050  

       

 센서

고도센서

BPM180  

       

 센서 

 고도센서 BPM180   4,000 14,500     

 센서

 복합센서  MPU6050 HMC5883 BMP180  4,000 14,500     
             
             
             

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

반응형

'아두이노 > 센서' 카테고리의 다른 글

801s : 진동센서  (0) 2014.11.20
BMP180 : 고도센서, 기압센서, 온도센서  (0) 2014.11.20
GP2Y1010AU0F : 먼지 센서  (0) 2014.11.18
Piezo Disk Sensor  (0) 2014.11.18
DHT22-AM2302 : 디지털 온습도 센서  (0) 2014.11.17

 

□ GP2Y1010AU0F : 먼지 센서 

 

 

 

 

□ GP2Y1010AU0F 특징(Specification)

 항목

 내용

 비고(Remark)

 공급전원(Supply Voltage)

 5 ~ 7 V

 Vcc 

 동작온도(Operating Temperature)

 -10 ~ 56 도(Celsius)

 

 납땜허용온도(Soldering Temperature)

 -20 ~ 80 도(Celsius)

 

 전류소모(Comsumption current)

 MAX 20 mA

 

 터미널전원(Input Terminal Voltage)

 -0.3 to Vcc

 V-Led

 

 

□ GP2Y1010AU0F와 아두이노 핀 배열(Arduino pin map)

 

 

* 1번 ~ 3번은 LED 신호와 관계된 것으로 LED확인이 필요하지 않을 경우 연결 필요 없음

 

 

 

□ GP2Y1010AU0F 핀 구성도(Pin Design) 

 핀 구성도

 (Pin Design)

 

 

 설명

 (Detail)

GP2Y1010AU0F 

 Arduino

 비고(Remark)

 ① V-Led

5V (150ohm resistor) 

 LED 신호용

 ② LED-GND

 GND

 ③ LED

 Digital pin 2

 ④ S-GND

 GND

 Data 출력용

 ⑤ Vo

 Analog pin 0

 ⑥ Vcc

 5V

* V-Led, LED-GND, LED(1번~3번)는 LED 신호와 관계된 것으로 LED확인이 필요하지 않을 경우 연결 필요 없음

 

 

□ GP2Y1010AU0F 샘플(Sample Source) 

 

/*
 Standalone Sketch to use with a Arduino UNO and a
 Sharp Optical Dust Sensor GP2Y1010AU0F
*/
  
int measurePin = 0; //Connect dust sensor to Arduino A0 pin
int ledPower = 2;   //Connect 3 led driver pins of dust sensor to Arduino D2
  
int samplingTime = 280;
int deltaTime = 40;
int sleepTime = 9680;
  
float voMeasured = 0;
float calcVoltage = 0;
float dustDensity = 0;
  
void setup(){
  Serial.begin(9600);
  pinMode(ledPower,OUTPUT);
}
  
void loop(){
  digitalWrite(ledPower,LOW); // power on the LED
  delayMicroseconds(samplingTime);
  
  voMeasured = analogRead(measurePin); // read the dust value
  
  delayMicroseconds(deltaTime);
  digitalWrite(ledPower,HIGH); // turn the LED off
  delayMicroseconds(sleepTime);
  
  // 0 - 5V mapped to 0 - 1023 integer values
  // recover voltage
  calcVoltage = voMeasured * (5.0 / 1024.0);
  
  // linear eqaution taken from http://www.howmuchsnow.com/arduino/airquality/
  // Chris Nafis (c) 2012
  dustDensity = 0.17 * calcVoltage - 0.1;
  
  Serial.print("Raw Signal Value (0-1023): ");
  Serial.print(voMeasured);
  
  Serial.print(" - Voltage: ");
  Serial.print(calcVoltage);
  
  Serial.print(" - Dust Density: ");
  Serial.println(dustDensity); // unit: mg/m3
  
  delay(1000);
}

 

 

□ GP2Y1010AU0F 참고자료

 - Datasheet         먼지센서 001 gp2y1010au_e.pdf

 

 

 

반응형

'아두이노 > 센서' 카테고리의 다른 글

BMP180 : 고도센서, 기압센서, 온도센서  (0) 2014.11.20
복합 센서  (0) 2014.11.19
Piezo Disk Sensor  (0) 2014.11.18
DHT22-AM2302 : 디지털 온습도 센서  (0) 2014.11.17
사운드 감지 센서  (0) 2014.11.17

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Specification

  • Power supply:5V
  • Interface:Analog

 

 

//Arduino Sample code
void setup()
{
  Serial.begin(9600); //
}

void loop()
{
      int val;
      val=analogRead(0);//Connect the sensor to analog pin 0
      Serial.println(val,DEC);//
      delay(100);
}

 

 

 

 

반응형

'아두이노 > 센서' 카테고리의 다른 글

복합 센서  (0) 2014.11.19
GP2Y1010AU0F : 먼지 센서  (0) 2014.11.18
DHT22-AM2302 : 디지털 온습도 센서  (0) 2014.11.17
사운드 감지 센서  (0) 2014.11.17
MPU-6050 : 6축 센서 ( 가속도, 자이로 )  (0) 2014.11.12

 

□ 실물사진


□ 센서 특징

 특징

 내용

 모델

 DHT22 / AM2302

 정밀도

 0.1

 습도 측정 범위

 0 ~ 100% RH ( +- 2% RH)

 온도 측정 범위

 섭씨 -40 ~ 80 도 ( +- 0.5 도 )

 기타

 저전력, 부가회로 불필요

 사용 전압

 3.3 ~ 5V DC 

 응답시간

 2s 

 

□ 회로구성도



□ 연결방법

DHT PIN1 → Arduino 5V

DHT PIN2 → 10K Resistor Arduino 5V (Full up Resistance)
DHT PIN2 → Arduino Digital Pin 2
DHT PIN3 → Not Used
DHT PIN4 → Arduino GND

 

□ 구현 시 주의사항

마이크로 컨트롤러의 I/O 포트와 DHT22 온습도 센서의 출력과 연결하여 풀업저항을 하나 설치

1. 센서와의 길이는 가급적 짧게 하여 전압강하로 인한 오류  예방

2. 센서로 부터 데이터 리딩 시에는 최소 5초 간격 필요

 

□ 전송 데이터 포맷

습도 정수 데이터( 8bit ) + 습도 소수점 데이터( 8bit ) + 온도 정수 데이터( 8bit ) + 온도 소수점 데이터( 8bit )
+ 패리티 비트( 8bit )


□ Sample


#include <DHT22.h> 

// Only used for sprintf 

#include <stdio.h>


// Data wire is plugged into port 7 on the Arduino 

// Connect a 4.7K resistor between VCC and the data pin (strong pullup) 

#define DHT22_PIN 7


// Setup a DHT22 instance 

DHT22 myDHT22(DHT22_PIN); 

 

void setup(void) { 

    // start serial port 

    Serial.begin(9600); 

    Serial.println("DHT22 Library Demo"); 

 

void loop(void) {  

    DHT22_ERROR_t errorCode; 

    

    // The sensor can only be read from every 1-2s, and requires a minimum 

    // 2s warm-up after power-on. 

    delay(2000); 

    

    Serial.print("Requesting data..."); 

    errorCode = myDHT22.readData(); 

    switch(errorCode) { 

        case DHT_ERROR_NONE: 

            Serial.print("Got Data "); 

            Serial.print(myDHT22.getTemperatureC()); 

            Serial.print("C "); 

            Serial.print(myDHT22.getHumidity()); 

            Serial.println("%"); 

            // Alternately, with integer formatting which is clumsier but more compact to store and 

            // can be compared reliably for equality: 


            char buf[128]; 

            sprintf(buf, "Integer-only reading: Temperature %hi.%01hi C, Humidity %i.%01i %% RH", 

                         myDHT22.getTemperatureCInt()/10, abs(myDHT22.getTemperatureCInt()%10), 

                         myDHT22.getHumidityInt()/10, myDHT22.getHumidityInt()%10); 

            Serial.println(buf); 

            break; 

        case DHT_ERROR_CHECKSUM: 

            Serial.print("check sum error "); 

            Serial.print(myDHT22.getTemperatureC()); 

            Serial.print("C "); 

            Serial.print(myDHT22.getHumidity()); 

            Serial.println("%"); 

            break; 

        case DHT_BUS_HUNG: 

            Serial.println("BUS Hung "); 

            break; 

        case DHT_ERROR_NOT_PRESENT: 

            Serial.println("Not Present "); 

            break; 

        case DHT_ERROR_ACK_TOO_LONG: 

            Serial.println("ACK time out "); 

            break; 

        case DHT_ERROR_SYNC_TIMEOUT: 

            Serial.println("Sync Timeout "); 

            break; 

        case DHT_ERROR_DATA_TIMEOUT: 

            Serial.println("Data Timeout "); 

            break; 

        case DHT_ERROR_TOOQUICK: 

            Serial.println("Polled to quick "); 

            break; 

    } 

}


□ 라이브러리 파일 

Arduino-DHT22-master.zip

 

  

반응형

'아두이노 > 센서' 카테고리의 다른 글

복합 센서  (0) 2014.11.19
GP2Y1010AU0F : 먼지 센서  (0) 2014.11.18
Piezo Disk Sensor  (0) 2014.11.18
사운드 감지 센서  (0) 2014.11.17
MPU-6050 : 6축 센서 ( 가속도, 자이로 )  (0) 2014.11.12

 

 

 

 

- 기본 정보


 * 고감도 사운드 감지 센서
 * 아날로그(AO)와 디지털(DO) 신호 모두 검출 가능

 


 

- 핀 연결 

 센서

 아두이노핀

 D0

 D2

VCC

 5V

 GND

 GND

 A0

 A0

 

핀 연결 (3PIN)

 센서

 아두이노핀

 D0

 D2

VCC

 5V

 GND

 GND

 

 

1) 센서의 그라운드 – 5k옴 – 아두이노 그라운드
2) 센서의 signal output – 아두이노아날로그0번핀 – 2k옴 – 아두이노그라운드(2번은 있으니 1번만)

   내 경우 2K옴으로 실험함

몇옴을 달아야 하는지는 정확하지 않으니까 10k 가변저항 두개를 달고 조절해보면서 해보삼..

 

 

- Arduino 소스 코드 (센서 핀 A0 사용)

 

const int S = 0;
const int ledPin = 13;
int sensorstate = 0;

 

void setup() {

  pinMode(ledPin, OUTPUT);
  pinMode(S, INPUT);

  Serial.begin(9600);

void loop() {
  sensorstate = analogRead(S);

  Serial.println( sensorstate, DEC);
  if (sensorstate > 50) {
    digitalWrite(ledPin, HIGH);
  } else {
    digitalWrite(ledPin, LOW);
  }
  delay(500);
}

 

 

 

 

 

- Arduino 소스 코드 (센서 핀 D2 사용)

 

const int S = 2;
const int ledPin = 13;
int sensorstate = 0;


void setup() {

  pinMode(ledPin, OUTPUT);
  pinMode(S, INPUT);
}

 

void loop() {
  sensorstate = digitalRead(S);
  if (sensorstate == HIGH) {
    digitalWrite(ledPin, HIGH);
  } else {

    digitalWrite(ledPin, LOW);
  }
}

 

 

 

[참조 사이트]

 

1. 아두이노 + 사운드 센서 : http://blog.naver.com/PostView.nhn?blogId=knexkorea&jumpingVid=E4998EC56EA103ED9EB6AB971E9D64454F30&logNo=184782761


2. 아날로그 사운드 센서로 LED 밝기 제어 : http://makewhatever.wordpress.com/2013/03/06/%EC%95%84%EB%82%A0%EB%A1%9C%EA%B7%B8-%EC%82%AC%EC%9A%B4%EB%93%9C-%EC%84%BC%EC%84%9C%EB%A1%9C-led-%EB%B0%9D%EA%B8%B0-%EC%A0%9C%EC%96%B4/

 

http://kocoafab.cc/view/tutorials/77

 

 

http://seeedstudio.com/wiki/index.php?title=Twig_-_Sound_Sensor#Introduction

반응형

'아두이노 > 센서' 카테고리의 다른 글

복합 센서  (0) 2014.11.19
GP2Y1010AU0F : 먼지 센서  (0) 2014.11.18
Piezo Disk Sensor  (0) 2014.11.18
DHT22-AM2302 : 디지털 온습도 센서  (0) 2014.11.17
MPU-6050 : 6축 센서 ( 가속도, 자이로 )  (0) 2014.11.12

□ MPU-6050 

 

 

 

 

 

 

핀배열

 

아두이노

MPU6050

비고

+5V

VCC

 

A4

SCA

 

A5

SDL

 

GND

GND

 

 D2

INT 

Optional 

 

 

 

 

 

□ Sample Source

 

MPU6050.ino

 

 

 

// I2C 사용예제

#include<Wire.h>

const int MPU=0x68;  //MPU 6050 의 I2C 기본 주소
int16_t AcX,AcY,AcZ,Tmp,GyX,GyY,GyZ;

void setup(){
  Wire.begin();      //Wire 라이브러리 초기화
  Wire.beginTransmission(MPU); //MPU로 데이터 전송 시작
  Wire.write(0x6B);  // PWR_MGMT_1 register
  Wire.write(0);     //MPU-6050 시작 모드로
  Wire.endTransmission(true);
  Serial.begin(9600);
}

void loop(){
  Wire.beginTransmission(MPU);    //데이터 전송시작
  Wire.write(0x3B);               // register 0x3B (ACCEL_XOUT_H), 큐에 데이터 기록
  Wire.endTransmission(false);    //연결유지
  Wire.requestFrom(MPU,14,true);  //MPU에 데이터 요청
  //데이터 한 바이트 씩 읽어서 반환
  AcX=Wire.read()<<8|Wire.read();  // 0x3B (ACCEL_XOUT_H) & 0x3C (ACCEL_XOUT_L)   
  AcY=Wire.read()<<8|Wire.read();  // 0x3D (ACCEL_YOUT_H) & 0x3E (ACCEL_YOUT_L)
  AcZ=Wire.read()<<8|Wire.read();  // 0x3F (ACCEL_ZOUT_H) & 0x40 (ACCEL_ZOUT_L)
  Tmp=Wire.read()<<8|Wire.read();  // 0x41 (TEMP_OUT_H) & 0x42 (TEMP_OUT_L)
  GyX=Wire.read()<<8|Wire.read();  // 0x43 (GYRO_XOUT_H) & 0x44 (GYRO_XOUT_L)
  GyY=Wire.read()<<8|Wire.read();  // 0x45 (GYRO_YOUT_H) & 0x46 (GYRO_YOUT_L)
  GyZ=Wire.read()<<8|Wire.read();  // 0x47 (GYRO_ZOUT_H) & 0x48 (GYRO_ZOUT_L)
 
  //시리얼 모니터에 출력
  Serial.print("AcX = "); Serial.print(AcX);
  Serial.print(" | AcY = "); Serial.print(AcY);
  Serial.print(" | AcZ = "); Serial.print(AcZ);
  Serial.print(" | Tmp = "); Serial.print(Tmp/340.00+36.53); 
  Serial.print(" | GyX = "); Serial.print(GyX);
  Serial.print(" | GyY = "); Serial.print(GyY);
  Serial.print(" | GyZ = "); Serial.println(GyZ);
  delay(333);
}

 

 

반응형

'아두이노 > 센서' 카테고리의 다른 글

복합 센서  (0) 2014.11.19
GP2Y1010AU0F : 먼지 센서  (0) 2014.11.18
Piezo Disk Sensor  (0) 2014.11.18
DHT22-AM2302 : 디지털 온습도 센서  (0) 2014.11.17
사운드 감지 센서  (0) 2014.11.17

+ Recent posts