Posts

Showing posts from April, 2019

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] - 아두이노 프로 미니를 이용해 피버시노 만들기

Image
피버시노는 매우 간단한 장치이기 때문에 누구나 손쉽고 저렴하게 만들어 볼 수 있다. 지난번에  HC-06 을 이용해 PC와 아두이노 우노의 블루투스 연결을 테스트 해보았다. 이번에는 Arduino Pro mini 3.3v, MPU6050(가속도 센서), HC-06(블루투스) 를 이용해 피버시노( PivotIno )를 만들어보려고 한다. 아두이노 소스코드는 피버시노 1.1.3 에서 사용한 코드를 그대로 사용했다. 만들기에 앞서 잘 작동이 되는지 테스트를 해보았다. 테스트 모델은 MPU6050의 여분이 없기때문에 ADXL335을 이용해서 라이브러리에 있는 예제를 업로드해서 결과를 블루투스를 통해 받아보았다. 장치를 서로 연결하기 앞서 아두이노에 프로그램을 업로드해야한다. 아두이노의 Rx Tx에 직접 블루투스를 연결하기 때문에 무선 업로드를 고려해 볼 수도 있지만, 혈압이 상승 할 수 도 있다. 그렇기 때문에 블루투스 모듈을 연결하기 전에 업로드는 유선으로 하는것이 좋다. 무선 업로드를 알아보고 있다면  이 포스트 가 도움이 될 것이다. 이번 피버시노는 시리얼 넘버가 없고 블루투스를 이용한다. 피버시노 1.1.3  의 파이썬 코드에서 시리얼 넘버를 이용해 피버시노의 포트를 자동으로 찾아 연결하도록 만들었는데 블루투스로 PC와 직접 연결하기 때문에 필요가 없어졌다. MAC 주소가 있기 때문이다. 다음에는 MAC주소를 이용해서 탐색하도록 만들어야겠다. 만약 이 방법이 잘 안되면 사용자가 프로그램에서 포트를 선택 할 수 있게 하는것도 좋은 생각이다. 지금은 아래의 코드를 사용하고있다. 파이썬 소스코드 수정 시리얼 포트 탐색기능 제거 def  waitForSerialInit():     com_Port  =  [ "COM7" ]      while  True:          for  device_Port  in  com_Port:              try :

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

Image
아날로그 자이로 센서의 값을 블루투스 HC-06를 통해 컴퓨터로 전달 받을 수 있게 하려고 한다.  블루투스로 통신을 하기 위해서 지난번과 같은 문제 를 방지하기 위해 HC-06 의 baud rate를 115200로 변경해야한다.  115200로 사용해야 정상적으로 업로드가 된다. baud rate 수정 우선 아래의 코드를 아두이노에 업로드한다. #include  SoftwareSerial BTSerial( 2 ,  3 );    / / Tx:Digital 2pin, Rx:Digital 3pin void setup() {   Serial.begin( 9600 );   BTSerial.begin( 9600 );   Serial.println( "Annajin AT" ); } void loop() {    if  (BTSerial.available())     Serial.write(BTSerial.read());    if  (Serial.available())     BTSerial.write(Serial.read()); } Colored by Color Scripter cs AT 커맨드를 순서대로 입력한다. AT+BAUD8 을 입력하면 baud rate 가 115200로 바뀐다 다시 9600으로 바꾸려면 다음과 같이 수정하고 AT+BAUD4 를 입력하면 된다. void setup() {   Serial.begin( 115200 );   BTSerial.begin( 115200 );   Serial.println( "Annajin AT" ); } cs HC-06 페어링 컴퓨터와 페어링을 하기 앞서 아두이노의 디지털 2번과 3번에 연결했던 HC-06의 TX, RX 핀을 디지털 0번 1번으로 옮겨준다. 여기까지 한 다음에 컴퓨터에 페어링을 해야한다. 블루투스 페

레몬나무 키우기 2년

Image
레몬 씨앗을 심은 지 2년이 다 되어간다. 날이 따듯해지면 성장하고 추워지면 멈추었다. 이제는 어느정도 나무처럼 바뀌어가고 있다. 13/Apr/2019 추위가 어느정도 가신 4월 주말에 레몬나무의 상태를 살펴 봤더니 온몸이 벌레에 끈적끈적헤져 있었고 성장은 멈춰있는 듯 했다. 그 날은 하루종일 벌레를 때주고 잎을 닦아주었다. 이제 날도 따듯하니 잘 자라라고 화분 정리도 해주고 샤워도 해주었다. 깨끗해 진 레몬 나무는 바로 새 잎이 자라나기 시작했다. 흙에서 부터 키가 50cm 정도 되는데 이 정도 자라면 생각보다 잘 안죽는 것 같다. 26/Apr/2019 위로만 자라 길래 윗 부분을 잘라 냈더니 놀랍게도 일주일만에 가지가 하나 둘 생겨났다. 그렇게 가지가 생겨나기 시작하더니 밑에있던 잎들이 오래된순서로 스스로 떨구기 시작했다. 지금은 봄에 자라난 새로운 잎들이 대부분이다.  가운데 파인 곳은 벌레들을 때어내다가 생긴 상처다. 그 당시에는 이러다 죽는건 아닌가 걱정했지만 금방 아물었다. 그와 동시에 관목 이였던 녀석이 제법 나무처럼 두꺼워지고 껍질이 생기기 시작했다. 자랄수록 새로나는 잎들은 더 크고 반짝였고, 아래쪽 잎들은 짙은 녹색에서 점점 낙엽져 떨어졌다. 이렇게 식물이 자라나는 모습은 옆에서 바라만 봐도 놀랍다.

[BSC] - 퀵핀 스마트폰 조이스틱 터치인식 문제

Image
최근 게임패드에서 그립으로 모바일 게임환경을 바꿨다. 게임패드보다 저렴하고 손가락도 덜아프고 여러모로 신경 스지 않아도 되기 때문에 좋다. 그리고 쓸림으로 화끈거리는 엄지를 위해 평가가 괜찮은 퀵핀 조이스틱을 구매했다. 하지만 이 녀석을 휴대폰화면에 부착하고 사용해 봤더니 터치 인식이 잘 안된다. 하나만 그런것도 아니고 두개 모두 터치가 잘 안되서 제품을 이리저리 살펴봤더니 원인을 알수 있었다. 미끄럼 방지 패드의 두깨가 원인이였다. 옆으로 보면 미끄럼 방지 패드가 터치 단추의 위치보다 조금 더 높아서 힘으로 누르지 않으면 화면에 닿질 않아 발생하는 문제였다. 구조가 이렇다 보니 터치인식 단추가 화면에 닿게 하기위해 보이스틱을 힘주어 누르게 되는데 이 과정에서 화면에 스크레치가 발생 할 수 도 있다. 해결방법은 아주 간단하기 때문에 불량이라고 교환을 한다던가 반품을 하는건 제품의 가격을 생각해보면 그렇게 좋은 생각은 아니다. 퀵핀은 미끄럼 방지 패드를 제거하면 쉽게 분리가 되는데 저 홈에 은박지나 종이 혹은 동봉된 알코올 티슈를 조금 잘라 쑤셔넣고 재조립 하면된다. 감도는 은박지가 제일 좋다. 이렇게 해주면 단추가 좀 더 화면에 가까워지기 때문에 터치가 잘된다. 화면에 가까워 졌지만 그 만큼 힘주어 누르지 않아도 되기에 스크레치도 예방이 가능하다. 사용감은 부드럽고 흡착도 훌륭하고 보관도 깔끔하다. 퀵핀조이스틱은 단순하지만 강력한 아이템이라 생각된다. 매우 만족스럽다

모바일 게이밍 그립패드

Image
얼마전까지 휴대폰에 장착할수 있는 게임패드를 이용하고 있었다. 요즘 모바일 게임을 많이 해서 그런가 엄지손가락에 통증을 느끼고 게임패드를 사용하지안고있다. 버튼이 엄지 손가락 관절에 무리를 주는것 같다. 하지만 그립 부분이 없으니 휴대폰을 잡고 있는손도 불편하고 장시간 플레이시 발생하는 발열로 인해 손에 발생하는 땀 때문에 불편했다. 그래서 예전에는 거들떠 보지도 않았던 모바일 게이밍 핸들을 찾아보게 되었다. 검색을 조금 해보니 다양한 디자인과 가격대가 형성되어 있었다. 사실 무시해오던 제품이라 이렇게 많은 제품이 있을거라 생각하지 못했고 놀라웠다. 이런 제품들을 보면 게임패드에 매달릴 필요는 없어보였다. 하지만 기껏해야 플라스틱 쪼가리 만원이상 쓰기 싫었다. 그 중 재미있게 생긴 제품으로 구입하였다. 갤럭시 S9+ 는 장착하고 있으면 결합부분이 부러질 것처럼 불안해서 넥서스5x 에 장착해봤다. 마감은 사진과 비교해서 상당히 형편없었고 기대에 미치치 못했다. 정말로 구매후기를 작성한 사람들은 이런게 마음에 든단 말인가? 내가 받은 제품은 공정을 간소화한 유사삼품 중 하나인것 같다. 기능에는 아무런 문제가 없고, 보관 하는 방법도 재미있다. 그러나 휴대폰을 잡고있는 부분에 휴대폰에 손상을 줄이기위한 고무나 실리콘과 같은 처리가 없기 때문에 스크레치에 유의해야한다. 단순히 스프링의 힘에 의지하고 있다. 이건 그냥 놔두고 다른 제품을 알아봐야 할것 같다. 장점은 가볍고 보관이 편하다. 장창 상태에서 충전을 할 수 있다. 단점은 사진과 실물의 디자인이 다르다. 연결 부분이 약해보인다. 비슷한 제품이 많기 때문에 내용물을 바꿔치기해서 파는건지 공정간소화해서 파는건지 원래 이런건지는 모르겠다.