반응형

 

회로도준비중

 

(RS485/MAX485 통신모듈(5편) 1:N통신으로 온습도센서와 먼지센서값 측정하기)
마스터 아두이노 1개와 슬레이브 아두이노 2개를 1:2로 연결(rs485)
첫번째 슬레이브 아두이노에 온습도센서 연결
두번째 슬레이브 아두이노에 미세먼지센서 연결
예제1)마스터에서 각각의 슬레이브의 정보를 request하면 데이터를 response하기
예제2)데이터 출력을 0.91인치 OLED 디스플레이에 해보기

예제122-1-1 (마스터코드)
 * 슬레이브1번 아두이노에 온습도센서 DHT11이 연결되어있다
 * 슬레이브2번 아두이노에 먼지센서인 GP2Y가 연결되어있다.
 * 슬레이브1의 ID는 0x00이고 슬레이브2의 ID는 0x01이다
 * 온습도센서의 command code는 0x01이다
 * 먼지센서의 command code는 0x02이다
 * (예제 패킷)
 * 0x00 0x01 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
 * → ID가 0x00인 슬레이브에게 온습도센서의 값을 요청하는 패킷
 * 0x01 0x02 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
 * → ID가 0x01인 슬레이브에게 먼지센서값을 요청하는 패킷

122-1-1.txt
0.00MB
122-1-2.txt
0.00MB
122-1-3.txt
0.00MB


예제122-2-1 (마스터코드)
 * 마스터에 OLED 디스플레이가 연결되어있다.
 * OLED디스플레이는 I2C통신을 하므로 고정된 위치에 연결해야한다
 * SDA : A4, SCL : A5
 * 슬레이브1번 아두이노에 온습도센서 DHT11이 연결되어있다
 * 슬레이브2번 아두이노에 먼지센서인 GP2Y가 연결되어있다.
 * 슬레이브1의 ID는 0x00이고 슬레이브2의 ID는 0x01이다
 * 온습도센서의 command code는 0x01이다
 * 먼지센서의 command code는 0x02이다
 * (예제 패킷)
 * 0x00 0x01 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
 * → ID가 0x00인 슬레이브에게 온습도센서의 값을 요청하는 패킷
 * 0x01 0x02 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
 * → ID가 0x01인 슬레이브에게 먼지센서값을 요청하는 패킷

122-2-1.txt
0.00MB
122-2-2.txt
0.00MB
122-2-3.txt
0.00MB


온습도라이브러리(DHT11)

github.com/adafruit/DHT-sensor-library

0.91인치 OLED 라이브러리(SSD1306)

github.com/adafruit/Adafruit_SSD1306

 

레퍼런스코드(rs485/예제112-1)

bota.tistory.com/1340

레퍼런스코드(먼지센서/예제36-1)

bota.tistory.com/1169

반응형
Posted by 덕력킹
,