티스토리 뷰
개요
- 아두이노와 온습도센서를 i2c 로 연결하여 온습도 정보를 얻어서
- 아두이노와 PC 를 연결하여 UART 로 온습도 정보를 전달한다.
- 5분이면 되는데 1분 간격으로 전달할 예정 (PC에서 알아서 쓰시라)
준비물
- 아두이노 우노
- 온습도센서 AM2315
- 더 저렴한 제품도 있으나 어느정도 뽀대는 나도록 선정
- 저항 10 킬로옴 2개 필요
소프트웨어
AM2315 arduino 로 검색하여 찾음: https://goo.gl/YHS65Q
- 예제 스케치: Download - Sketch File
- AM2315 라이브러리:Download - AM2315 Library (실제 i2c 통신 부분까지 들여다 보려면 여기를 보아야 함)
작업
회로 구현
1) 5V, GND 를 연결
2) 아두이노의 SCL, SDA 연결 - 각각 5V 전원과 10 킬로옴 저항 연결해줘야 함 (아래 보드는 아두이노는 아니니 주의)
라이브러리 설치
- 아두이노를 설치한 폴더의 라이브러리 폴더에 복사해넣는다.
센서 예제 실행
1) 다운로드 받은 스케치 파일을 실행. AM2315_Sketch.ino
2) 아두이노 IDE 에서 UART 설정
3) 실행 후 모니터링
- 업로드 아이콘을 눌러서 실행
- 시리얼 모니터로 확인 (Baud rate는 9600)
센서 예제 수정
- 섭씨온도와 습도값만 보내기
- 특정 주기마다 보내기
* 아두이노에서 float 변수들과 string 을 concat 하기.
- float 인 온도, 습도값과 콤마를 concat 하여 하나의 String 으로 만드는 방법을 코드에서 확인할 것
- F() macro 는 string 을 저장공간이 넉넉한 Flash memory에 저장한다.
- 참고링크: http://playground.arduino.cc/Learning/Memory
* 너무 긴 interval 은 delay() 보다는 millis() 를 이용하자.
- 참고링크: https://www.arduino.cc/en/Tutorial/BlinkWithoutDelay
원본: AM2315_Sketch.ino |
|
|
|
수정. temp_humid.ino |
|
|
PC 수신 확인
위에서 본 아두이노 IDE 의 시리얼 모니터로도 확인 가능하지만
TeraTerm 을 이용해서 확인해본다.
1) 설정에서 Serial 을 선택하고 아두이노가 연결된 COM port 를 선택한다
2) 설정확인
|
|
3) 값이 잘 들어오고 있다.
마지막으로, 이렇게 구현한 것을 다른 PC에서 동작시키려면?
이렇게 개발 PC 에서 작업한 다음, 다른 PC 에 설치(?) 할 필요가 있다.
1) 구현한 .ino 파일과 동일한 폴더를 만든다. (여기선 temp_humid )
2) 아두이노 라이브러리 폴더에 복사해 넣었던 cactus_io_AM2315 폴더의 파일들을 모두 복사해 옮겨넣는다.
3) 이 폴더째로 원하는 PC로 옮긴 후에 .ino 파일을 실행하면 된다.
'embedded' 카테고리의 다른 글
UART, TTL, RS232, RS422, RS485 간단 구분 (3) | 2018.08.24 |
---|---|
아두이노에서 ds18b20 온도센서 다루기 (0) | 2018.08.22 |
현 시점 라즈베리파이 OS 설치 - 180730 (0) | 2018.07.30 |
banana pi quick start - 원격 접속 (0) | 2018.07.18 |
banana pi quick start - microSD 용량 (0) | 2018.07.18 |
- Total
- Today
- Yesterday
- 영화
- Bug
- 인텔리제이
- 엉클 밥
- bun
- 노션
- clean agile
- github
- 티스토리챌린지
- folklore
- API
- 제이펍
- websocket
- notion
- agile
- 오블완
- intellij
- OpenAI
- 독서후기
- solid
- 잡학툰
- 체호프
- 2023
- 독서
- golang
- go
- Gin
- strange
- 클린 애자일
- ChatGPT
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |