LoRa 모듈 E22-900T22S Breakout Board 설계 2

Image
지난번 설계 에서 두 가지 업데이트 사항이 있다. 첫 번째로 3.3V 로 로직 컨버터를 거치지 않고 직접 통신할수 있는 포트를 구성하였다.  이 포트를 통해 3.3V 동작의 MCU를 사용할때 좀 더 빠르게 회로를 구성  할수 있을것으로 기대한다. 두 번째로 동작 전압 레벨이 서로 다른 MCU 와 Lora 모듈이 통신할때 사용할 기준전압을 직접 인가 할 수 있도록 하였다. 보드에는 위 와같은 점퍼가 주어지는데 3.3V 나 5V 로 점프 시키지 않을 경우 VREF 핀에 사용할 소스전압을 직접 인가해 주어야한다. 특수한 경우가 아니라면 Vref를 사용하는일은 없을것 같다. 위사 진들은 이번에 제작한 테스트 모듈이다.  왼쪽은 E22-900T22S 모듈이고 오른쪽은 ATmega328P/PB 3.3V 8Mhz 보드를 준비했다. 오른쪽의 보드는 ATmega328P/PB 를 모두 장착하여 사용할 수 있도록 설계했다. E22-900T22S 보드의 전체 회로는 다음과 같다. 동작 전압 레벨이 서로 다른 장치와 통신 할 수 있도록 레벨 컨버터를 추가 하였고, 핀 헤더를 장착하여 다른 MCU 보드와 통신하거나 점퍼를 수정해서 USB 시리얼 통신을 할수 있도록 했다. 모듈의 테스트는 mischianti의 E22 라이브러리 를 사용했다. 정리가 아주 잘 되어있는 라이브러리로 생각된다. 아래 코드는 라이브러리에 포함된 시리얼 입력을 LoRa 통신으로 전송하는 예제이다. Lora ATmega328p AUX D3 RX D4 TX D5 M1 D6/GND M0 D7/GND 송신측 코드 #include "Arduino.h" #include "LoRa_E22.h" LoRa_E22 e22ttl(4, 5, 3, 7, 6); void setup() { Serial.begin(9600); delay(500); // Startup all pins and UART e22ttl.begin(); Serial.println(&q

[Arduino] 레몬의 모이스쳐라이징 2


테스트하면서 모듈의 특정부분을 만지면 값이 매우 불안해지는것을 목격했다.
붙여놓은 절전 테이프가 소용없었다. 해당하는 위치는 어제 납땜한 곳인 "->" 이다.
"->"는 습도센서에서 측정한 값을 출력해주는데 이 값을 바탕으로 아두이노의 프로그램이 작동하게된다. 문제는 이 곳을 건들게되면 값이 매우 부정확하게 출력이되는 것이다.
여러 테스트를 해본결과 해결법을 찾게 되었다.
출력과 입력을 묶어주고 위에서 보았을때 빈자리에 10k 저항을 달아 주었더니 저 부분은 만지거나 해도 이상없이 균일한 값들이 출력 되었다.



이번일을 해결하면서 16x2 LCD를 연결해 보았다.
라이브러리가 필요하기때문에 라이브러리 메니저를 통해 LiquidCrystal_I2C를 설치한다.
hello, world 한번 찍어보고 바로 사용하면된다.
안나온다면 왜 안나오는지 생각을 해보면된다. 그러면 답이나온다.
아무리 해도 글씨가 안나온다거나 문장의 첫 글자만 나온다거나 둘다 아니거나
대부분 3가지 문제중 하나이다.



값에 따른 알림과 범위도 전체적으로 수정하였다.
700 이상 : Drought, Red
400에서 700 : Thirsty, Orange
250에서 400 : i'm ok, Yellow
5에서 250 : i feel good!!, Green
0에서 5 : Drowning! >_< too much water! , Blue



물을 주면서 테스트를 했더니 90%가 되어버렸다...
물을 많이주지 않도록 하자 빠져죽는다.

Comments

Popular posts from this blog

[POE] - 패스 오브 엑자일 획득키 F 의 사용법 (Path of Exile)

[Arduino] - HC-06를 이용해 PC 와 Arduino 블루투스 연결

[Python] - 블루투스 모듈 HC-06의 MAC 주소를 이용하여 통신 포트 찾기