만들어놨다가 잠깐 쓰고, 깜빡하고 있었는데.. 아 이런거 만들었었지..

micro usb로 RF모듈에 전원이 공급이 되고,
RF모듈이 무선리모콘의 신호를 받으면 MCU(attiny85)에 일시적으로 전원이 공급이 되게 된다.
MCU에 프로그래밍된 펌웨어에 따라서 특정 적외선 리모콘 신호를 IR Transmitter 모듈을 통해 전송한다.

이걸 뭐하러 만들었냐면.. 아파트 공동현관을 여는 버튼이 월패드/주방화면 두군데 있는데 걸어가기가 너무 귀찮아서...
방에서 RF리모콘을 누르면 주방의 기기에 문여는 적외선 리모컨 신호를 쏴서 공동현관을 열도록 하는 기능을 했었다.
하지만 좀 지저분하게 생겨서 손님이 와서 치워놨었는데... 그냥 구석에 들어가 나오지 못하게 된것이었다.

그냥 제품화된 중국산 적외선 트랜스미터를 사는 게 좋을것 같다ㅋ

집에 안쓰고 굴러다니던 보조배터리가 있었습니다. 아마도 어딘가에서 공짜로 받은것 같은데 출처를 모르겠네요.

조금 작은편이고 샤오미 로고가 찍혀 있습니다만.. 샤오미의 짝퉁으로 보입니다.
샤오미는 그래도 중국산중에서는 마감이 괜찮은편인데 어설프게 돼 있습니다.

뒷면에 보면 간단한 스펙이 있습니다. 용량이 10000mAh라지만..
충전되는 배터리가 3.7V... USB의 기본 출력인 5V출력을 위해서 승압을 하면 효율도 떨어질텐데...
그리고, 유럽(CE)및 미국 인증(FCC)을 받았다는것도 뻥일것 같네요. 이런 싸구려에..

가운대 플라스틱 부분을 밀면 열수 있을것 같아서 열심히 밀었습니다만 내용물이 나오지 않네요.. 어쩔수 없이 배를 갈랐습니다.
니퍼로 열심히...

충전회로와 배터리가 보이기 시작합니다. 계속 아래로 잘라 나갔습니다.

가장 기본적인 충전 방전 회로만 가지고 있는 단순한 구조 입니다.

이상, 보조배터리 분해기였습니다.

현역에서는 물러났지만, 아직도 테스트기기 겸 공공기관 사이트 접속용 윈도우머신 역할을 하고 있는 2011년 맥북이 있습니다.

충전기와 노트북 사이를 연결해주는 케이블이 다들 아시는 고질적인 문제가 많아 자꾸 케이블이 까지고 헤지고 하는 문제가 생깁니다.
보수하고 보수하면서 써보다가 최근 구입한 맥북의 USB-C형 충전기를 보면서, 저렇게 개조해볼까? 하는 생각이 들었습니다.

커넥터는, 일반 DC 어뎁터용으로 하기로 했습니다. USB나 USB-C 타입으로 하면 혼동할수 있고,
실수로 잘못된 기기를 꽂으면 해당 기기가 위험해질수도 있으니까요.
일단 재료를 이렇게 정했습니다.

재료비는 만원 미만인것 같네요.
이렇게 구성하면 맥북과 노트북 사이의 줄이 고장나면 줄만 교체하면 될것 같습니다.

충전기 줄을 다 잘라내고, 충전기를 분해했습니다. 안에 그냥 본드를 잔뜩 발라 붙여놓았으므로 그냥 강제로 벌려 열었습니다.

그리고 DC 소켓을 납땜하고 구겨 넣었습니다. 

그리고 닫습니다. DC 소켓은 앞뒤로 움직이지 않게 끼워두었습니다.
모양이 좋진 않네요ㅎ 테스트 후 좀 다듬긴 했는데.. 그래도 모양이 좋진 않네요ㅋ

이렇게 뺐다 끼웠다 할수 있습니다.
반대쪽은 DC커넥터와 magsafe2를 변환해주는 어뎁터를 끼워 맥북에 대봅니다.

잘 충전이 되네요.. 이제 선이 문제가 생기면 선만 교체하면 될것 같습니다.

이상 맥북 충전기 개조 후기였습니다.

집에서 계속 굴러다니던 액션캠인 SJ4000WiFi를 분해해 보았다.

SJ4000WiFi 회로 앞면

스피커는 분해하다가 납땜부분이 떨어졌지만 다시 납땜하면 문제는 없다.
와이파이 모듈은 RTL8188ETV를 사용한 모듈이다. 802.11bgn 2Ghz대역에 USB1.0/1.1/2.0인터페이스를 지원한다. 

rtl8188etv.pdf
0.38MB

와이파이 안테나는 메인회로에 프린트하지 않았고 별도의 필름회로로 구현해 놓았다.

SJ4000WiFi 뒷면

 메인 프로세서는 NT96655BG이다. 영상처리에 특화된 기능을 포함하고 있고, 액션캠에 필요한 모든 기능을 다 가지고 있는듯 하다.

Novatek NT96655 Data Sheet.pdf
1.40MB

그 아래에는 플래시 메모리로 추정하지만 관련 자료를 찾지는 못했다. 하지만 저 메인 프로세서와 함께 많은 제품에 응용되고 있는듯 하다.

렌즈 부분을 돌렸더니 렌즈 부분이 스크류처럼 풀려 분리되었고, 가장 아래쪽에 IR(적외선) 필터가 보여 박살내어 제거한 후에 다시 닫았더니
리모콘의 적외선 불빛이 찍힌다. 어두운 곳에서 적외선 플래시를 비추고 이 카메라로 찍으면 야간 촬영이 가능할듯 하다ㅎ

SJ4000WiFi 분해된 상태에서의 동작 확인

 

아이폰이 활성화 됐을 때 적외선을 쏘는 모습을 적외선 필터가 제거된 SJ4000WiFi로 촬영해 보았다.

한 2주 전? 덕*** 이라는 국내 업체를 국내에서 정식 판매되는 3D 프린터 Flashforge Finder 를 구입했습니다. 

외국에서 평가도 좋고 국내에서도 가정용으로 많이 사용하는 제품으로 확인했습니다.
당연히 와이파이 기능으로 원격으로 작업을 시작하고 상태를 확인할 수 있다는 점도 좋았습니다.
단, 베드가 좀 작은면이 좀 있지만...



이렇게 생긴 제품인데요... 받고나서 기쁜 마음으로 출력물 테스트를 두어번 한 다음에 알게 됐습니다.

와... 와이파이 기능이 없.. 어.... 워.. 원래 있는 제품 아니었어???


네, 카페에 글을 찾아보니 국내에 출시하면서 와이파이 모듈이 제거돼 판매된다고 합니다.
아마도 와이파이 모듈 관련해서 전파인증을 받기 싫었거나 문제가 있었겠죠?

해외 직구하면 비슷한 금액에 와이파이 되는걸로 살수 있었는데.. 젠장..


구글링을 아무리 해봐도 어떤 와이파이 모듈을 쓰는지 찾을수가 없었습니다.

그러다가 PCB 사진을 발견했어요.

PCB 우측에 모듈 형태로 달려있는 저 부분이 와이파이 모듈로 예상되었습니다.


실제로 확인을 해보니 제 3D 프린터에는 저 부분이 비어 있었습니다.

요렇게...


휴.. 그럼 이게 맞는건가? 저놈만 찾아서 달면 되는건가? 그런데 어떻게 찾아내지?

그러다가 제작사 사이트의 유저가이드 pdf 파일을 보다가 와이파이 맥 어드레스를 발견했습니다.



참고로 와이파이나 블루투스같은 무선 기기의 맥 어드레스는 등록을 하게 돼 있고 IEEE에서 관리되고 있습니다. 

맥 어드레스 등록 목록: http://standards-oui.ieee.org/oui.txt

물론 기기마다 다 등록은 하지는 않고 각 회사마다 앞 6자리를 각자의 코드로 갖는것 같습니다.


유저가이드에서 찾은 맥 어드레스는 FC:3D:FD로 시작하네요.


찾아보니 모듈의 제조사는 중국의 SHENZHEN BILIAN ELECTRONIC CO., LTD 라고 나왔습니다!


그리고 구글링으로 저 회사에서 만든 와이파이 모듈을 검색해보니 FCC에서 BL-R8188EU8 이라는 모듈이 나오네요.

https://fccid.io/S8JBLR8188EU8A/


저 위에 있는 보드 사진에 달려있는거하고 비교해보니 비슷한 것 같네요.


바로 모듈을 구입해서... 드디어! 오늘 도착했습니다. (혹시 몰라서 두개...)

메인 칩셋은 유명한 리얼텍꺼네요.



그리고 3D 프린터의 뒷 뚜껑을 열고, 바로 장착!

비포 앤 에프터 사진입니다.


그리고 전원을 켜보니 보이지 않던 와이파이 메뉴도 나오고,


제품 정보를 확인해보니 와이파이 맥 어드레스 정보도 나오고, 


원격으로 작업 시작도 되고 모니터링도 모두 됩니다!


휴.. 다행히 해피엔딩으로 끝났네요.



이 글을 보신분 중에서 한분에게 Genuino 101 보드를 드립니다.

MicrocontrollerIntel Curie
Operating Voltage3.3V (5V tolerant I/O)
Input Voltage (recommended)7-12V
Input Voltage (limit)7-17V
Digital I/O Pins14 (of which 4 provide PWM output)
PWM Digital I/O Pins4
Analog Input Pins6
DC Current per I/O Pin20 mA
Flash Memory196 kB
SRAM24 kB
Clock Speed32MHz
LED_BUILTIN13
FeaturesBluetooth LE, 6-axis accelerometer/gyro
Length68.6 mm
Width53.4 mm
Weight34 gr.

현재는 단종된 보드로 보입니다만 블루투스 4.0에 가속도 자이로 센서가 내장되어 있다는 장점이 있네요.


비밀 댓글로 손 들어 주세요~

이런거 가지고 놀기 좋아한다고 뜬금없이 다른 보드와 함께 선물받은 Genuino 101 보드.

좀 시대 지난 보드지만 그래도 다른 보드와 다른점도 있고(Intel® Curie™/x86 (Quark) and a 32-bit ARC architecture core, both clocked at 32MHz.),
나름 BLE도 내장하고 있다.

테스트로 한번 blink 코드를 올려보려 하는데 자꾸 에러가 난다.

# arduino101load -dfu=/Users/heisice/Library/Arduino15/packages/arduino/tools/dfu-util/0.9.0-arduino1 -bin=/var/folders/3v/62sy5_5j1b72zgmg3wrnll6c0000gn/T/arduino_build_60893/Blink.ino.bin -port=/dev/cu.usbmodem14201 -v -ble_fw_str="ATP1BLE00R-1631C4439" -ble_fw_pos=169984 -rtos_fw_str="" -rtos_fw_pos=0 -core=2.0.0
arduino101load 2.0.1 - compiled with go1.7.5
Starting download script...
Serial Port: /dev/cu.usbmodem14201
BIN FILE /var/folders/3v/62sy5_5j1b72zgmg3wrnll6c0000gn/T/arduino_build_60893/Blink.ino.bin
Waiting for device...
Waiting for device...
Device found!
exit status 74

구글링을 열심히 해보다가 뚜렷한 답이 없어서 쳐박아뒀었는데, 다시 꺼내봤다가 답을 찾았다.


결국 또 구글링이긴 한데
바이너리 업로드에 쓰이는 저 arduino101load라는 프로그램이 예전 버전은 되는데 기존 버전은 안된다는 것 같다.

결국 구글링한 페이지에 링크된 버전을 다운받아, 기존 프로그램이 있는곳에 복사해 넣어줬더니 정상 동작한다.

# arduino101load -dfu=/Users/heisice/Library/Arduino15/packages/arduino/tools/dfu-util/0.9.0-arduino1 -bin=/var/folders/3v/62sy5_5j1b72zgmg3wrnll6c0000gn/T/arduino_build_60893/Blink.ino.bin -port=/dev/cu.usbmodem14201 -v -ble_fw_str="ATP1BLE00R-1631C4439" -ble_fw_pos=169984 -rtos_fw_str="" -rtos_fw_pos=0 -core=2.0.0
arduino101load 2.0.2 - compiled with go1.7.5
Starting download script...
Serial Port: /dev/cu.usbmodem14201
BIN FILE /var/folders/3v/62sy5_5j1b72zgmg3wrnll6c0000gn/T/arduino_build_60893/Blink.ino.bin
Waiting for device...
Device found!
Verifying BLE version: ATP1BLE00R-1631C4439
BLE version: verified
dfu-util 0.9

Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.
Copyright 2010-2016 Tormod Volden and Stefan Schmidt
This program is Free Software and has ABSOLUTELY NO WARRANTY
dfu-util: Invalid DFU suffix signature
Please report bugs to http://sourceforge.net/p/dfu-util/tickets/

dfu-util: A valid DFU suffix will be required in a future dfu-util release!!!
Deducing device DFU version from functional descriptor length
Opening DFU capable USB device...
ID 8087:0aba
Run-time device DFU version 0011
Claiming USB DFU Interface...
Setting Alternate Setting #7 ...
Determining device status: state = dfuDNLOAD-IDLE, status = 0
aborting previous incomplete transfer
Determining device status: state = dfuIDLE, status = 0
dfuIDLE, continuing
DFU mode device DFU version 0011
Device returned transfer size 2048
Copying data from PC to DFU device

Download [ ] 0% 0 bytes
Download [= ] 4% 2048 bytes
Download [== ] 8% 4096 bytes
Download [=== ] 12% 6144 bytes
Download [==== ] 16% 8192 bytes
Download [===== ] 20% 10240 bytes
Download [====== ] 24% 12288 bytes
Download [======= ] 28% 14336 bytes
Download [======== ] 32% 16384 bytes
Download [========= ] 36% 18432 bytes
Download [========== ] 40% 20480 bytes
Download [=========== ] 44% 22528 bytes
Download [============ ] 48% 24576 bytes
Download [============= ] 52% 26624 bytes
Download [============== ] 56% 28672 bytes
Download [=============== ] 60% 30720 bytes
Download [================ ] 64% 32768 bytes
Download [================= ] 68% 34816 bytes
Download [================== ] 72% 36864 bytes
Download [=================== ] 76% 38912 bytes
Download [==================== ] 80% 40960 bytes
Download [===================== ] 84% 43008 bytes
Download [====================== ] 88% 45056 bytes
Download [======================= ] 92% 47104 bytes
Download [======================== ] 96% 48732 bytes
Download [=========================] 100% 48732 bytes
Download done.
Sent a total of 48732 bytes
state(2) = dfuIDLE, status(0) = No error condition is present
Done!
dfu-util: can't detach
Resetting USB to switch back to runtime mode
SUCCESS: Sketch will execute in about 5 seconds.


해당 프로그램 바이너리는 나중에 참조를 위해 이 글에 첨부하기로 한다.

arduino101load-2.0.0-darwin-testU.zip


참조: https://forum.arduino.cc/index.php?topic=467201.msg3205748#msg3205748

자작한 심플 USB IO보드(링크)를 이용해서 

 안드로이드 앱을 통해 자동차 문을 잠그고 열수 있는 장치를 제작. (내용물은 부끄러워 감춤ㅋ)


앱은 이렇게 생겼다 ㅋ (개 단 순 함)



아주 목적에만 충실한 앱이다. ㅋ




안드로이드로 제어 가능한 저렴하게 만든 보드




얼마전부터 싱크대쪽 형광등이 자꾸 깜빡여서 램프가 수명이 다됬나 하고 바꿔도 깜빡거리는거다.



그래서 전등 전체를 교체하자니 요즘은 저렇게 길쭉한 모양이 안나온다고 해서...
근데 천장엔 벽지가 전등 모양으로 일자로 쭉.. 도배도 안되있고.. 좀 애매했다.

그래서 잠시 귀찮아서 뒀었는데, 갑자기 생각나서 고쳐보기로 했다.
형광등은 전기적인 부품이라고 해봐야 안정기 + 램프의 조합이기 때문에 램프가 아니면 안정기지 뭐..
그래서 스펙에 맞는(긴~ 형태의 40W 형광등이다.) 안정기를 인터넷으로 주문하고 이렇게 도착.. 



두꺼비집에서 전등쪽 스위치를 내리고, 떼왔다. 아래는 해체해서 떼어낸 고장난 안정기..
둘다 똑같은 전자식 안정기지만 새로 설치한놈이 살짝 에너지 효율이 더 좋다.



안정기에 적혀있는 배선도대로 전선을 연결하고



연결부위는 꼼꼼히 납땜까지 해주고, 전기(절연)테이프로 두텁게 감싸줬음.


   


다시 천장에 부착하고 테스트.. 수리 완료임.




첨으로 집에서 만든 PCB는 깔끔히 성공했다.

하지만.. 동작은 실패 ㅠㅠ

플럭스 때문인가? SMD부품 납땜할 땐 플럭스 종종 써서 납땜하는데 플럭스가 저항이 적어 제대로 제거하지 않으면 오작동이 많은듯 하다.

하지만 제거도 힘들고... ㅠㅠ


이젠 어쩔 수 없는 경우 아니면 안써야지 ㅠㅠ

 

(회로는 동판의 부식을 막기 위해 납으로 코팅했음)



추가: 플럭스 안쓰고 납땜한놈은 정상동작.. 
        그리고 PCB만들때 비싼 포토용지 쓰는 사람들이 있던데.. 잡지에 컬러인쇄된 페이지.. 약간 코팅된듯한 종이 있잖아요?
        그부분에다 인쇄해서 해봤더니 완전 잘 되더라구요...

일이 안되니 뻘짓만 한다 ㅠㅠ

마이크로 프로세서에 약간의 프로그램을 작성하여 시리얼로 오는 명령을 리모콘 신호로 변환해 TV를 제어하는 영상입니다.

라즈베리파이로 제어하긴 했지만 시리얼 인터페이스로 명령을 내릴 수 있는 기기라면 전부 컨트롤 가능합니다.

PCB로 주문해서 여러개 찍어냈었는데 어제 하루종일 안되는줄 알고 별 쑈를 다 했네요.. 

분명히 맞는데.. 안되길래... 

테스트용으로 쓰던 라즈베리파이에 뭔가 이상이 있었나봅니다.


예제로 TV를 제어했고 어떤 기기든 리모콘으로 제어하는 기기라면 거의 대부분 컨트롤 가능합니다.

  1. 호팀장 2013.02.05 08:07

    굿잡! 업데이트 기대할께~ 화이팅~ Good Luck!!

AVR Microprocessor로 뭐좀 만들어볼래다가 

Arduino 개발환경에 만들어놓은 좋은 라이브러리가 많길래 개발환경 잡다가 개삽질..


<Arduino보드 시리즈 중 Nano모델>


일단, 난 Arduino보드는 없는데 어차피 그놈도 AVR프로세서만 달린 보드니까 Arduino부트로더를 내 AVR에다가 올리고..

코드를 빌드해서 Arduino의 EEPROM에다가 넣으면..

근데 Arduino IDE가 쓰기가 힘들다.. 뭐가 뭔지도 모르겠고 자꾸 오류나고 오류 내용도 안보이고..



참... 모르겠다 ㅋㅋㅋㅋ

그러다 일반 펌웨어 개발할때처럼 다른 편집기도 맘대로 쓰고 빌드, 업로드 명령만 콘솔로만 내려도 되는 놈을 발견..

http://inotool.org

나한테는 이게 훨 더 편하다.. 오류도 바로 보이고 내가 원하는 편집기를 그대로 쓸 수 있다. 난 Xcode편집기가 좋다구;


아무튼 만들려던 게 있었는데 자꾸 실패하고... 일단은 이런 뻘짓하고 잠깐 놀아봤음...



아.. 시간은 늦었지만 하려던 거 다시 해야지 ㅠㅠ

'Electronic' 카테고리의 다른 글

깜빡이는 형광등 수리  (0) 2013.03.19
첨으로 집에서 만든 PCB는 성공.. 동작은 실패 ㅠㅠ  (0) 2013.02.16
Arduino  (0) 2013.01.16
블랙박스 장착  (2) 2011.10.17
mac(or pc) <- usb -> dotmatrix  (1) 2010.09.14
Lantronix Xport / GPIO 이용하기  (3) 2008.05.09

라즈베리파이의 GPIO는 ADC용 포트가 없어서 아날로그값을 읽을수가 없습니다.


그래서 외쿡형이 머리를 좀 굴렸더군요..




회로는 이렇습니다. LDR은 조도에 따라서 저항값이 변하는(어두울수록 저항값이 커지더라구요) 센서입니다.

전체적으로 보면 캐패시터 충전 방전 회로 입니다. 
캐패시터를 방전시키게 하고 방전 하는 동안 도는 루프의 카운트를 수치로 쓰는 방법입니다.

보자마자 오호~ 그럴싸 한데? 하고 직접 해봤습니다. 잘 되더군요!


전체 본문과 예제코드는 아래에 있습니다.
http://www.raspberrypi-spy.co.uk/2012/08/reading-analogue-sensors-with-one-gpio-pin/

+ Recent posts