'분류 전체보기'에 해당되는 글 335건
- 2017.07.29 Hardware | DS18B20 온도센서 17
- 2017.07.27 Life | 펑크린을 이용하여 세면대를 뚫어보자
- 2017.07.24 Hardware | Flash ROM 복구기 10
- 2017.07.23 Hardware | Arduino Micro 구입기
- 2017.07.12 Hardware | AM2322 Temperature & Humidity Sensor
- 2017.07.09 Hardware | Arduino 의 Sensor Shield 사용해 보기
- 2017.07.08 Hardware | Arduino 로 Servo 를 움직여 보자
- 2017.07.07 Hardware | 삼성 USB 마우스 분해해 보기
- 2017.07.05 Life | 가스라이터 수리 실패기
- 2017.07.04 Hardware | 마이크로소프트 무선 마우스 4000 분해해보기
1. 온도 센서
지금까지 온도센서를 4개 구동시켜 봤습니다.
* Hardware | AM2322 Temperature & Humidity Sensor
- http://chocoball.tistory.com/entry/Hardware-AM2322-Temperature-Humidity-Sensor
* Hardware | Arduino 비접촉 온도센서 GY-906 MLX90614
- http://chocoball.tistory.com/entry/HardwareArduinoMLX90614
* Hardware | Arduino BMP280 고도/온도/기압 센서
- http://chocoball.tistory.com/entry/HardwareArduinoBMP280
* Hardware | BME280 sensor
- http://chocoball.tistory.com/entry/HardwareBME280
온도라는 것은 생물이 살아가는 지구 환경의 특성을 나타내주는 중요한 바로메터 이기 때문에
시장에는 사용 용도에 따라서 여러 센서가 존재하는 듯 합니다.
이제 5번째 센서를 구동시켜보기로 합니다.
2. 수온 측정용 온도센서
물의 온도를 측정하기 위해서는 방수가 되어야 합니다.
알루미늄 방수캡으로 커버된 온도센서가 "DS18B20" 입니다.
원래는 아래 그림처럼 Dallas사에서 만든 세발달린 칩으로 되어 있습니다.
그것을 알루미늄 캡과 고무로 실링을 한 제품입니다.
데이터쉬트는 다음과 같습니다.
사양을 보면, 중간에 저항을 넣어줘야 하는 군요.
센서가 타버리지 않게 꼭 저항을 챙기도록 합니다.
3. 주문
오늘도 AliExpress 에서 구매합니다.
4. Layout
데이터쉬트에 표기되어 있듯이 "저항"을 꼭 챙기도록 합니다.
Datasheet 를 보면 3~5V 에서 구동한다고 되어 있으므로, Arduino Nano 에서는 3.3V 단자에 연결했습니다.
DS18B20 | Arduino Nano ------------------------------ Black | GND Red | 3.3V (4.7k Ohms) White | D2 (4.7k Ohms) ------------------------------
빵판 모습은 다음과 같습니다.
Pullup 저항도 달아 줍니다. 이 pullup 저항이 왜 중요한지는 이 글의 마지막에 적어 놨습니다.
AliExpress 에서 구매한것 치고 4.7k Ohms 는 꽤나 정확하네요.
미지근한 물, 냉장고의 물, 급탕기로 뎁힌 뜨거운 물을 준비합니다.
자, 이제 준비 완료 입니다.
5. IDE Sketch
유명한 센서라서 여러 사이트에서 소개되고 있습니다.
가장 간단한 스케치는 다음과 같습니다.
- OneWire Library : https://github.com/PaulStoffregen/OneWire
- DallasTemperature Library : https://github.com/milesburton/Arduino-Temperature-Control-Library
/********************************************************************/ // First we include the libraries #include <OneWire.h> #include <DallasTemperature.h> /********************************************************************/ // Data wire is plugged into pin 2 on the Arduino #define ONE_WIRE_BUS 2 /********************************************************************/ // Setup a oneWire instance to communicate with any OneWire devices // (not just Maxim/Dallas temperature ICs) OneWire oneWire(ONE_WIRE_BUS); /********************************************************************/ // Pass our oneWire reference to Dallas Temperature. DallasTemperature sensors(&oneWire); /********************************************************************/ void setup(void) { // start serial port Serial.begin(9600); Serial.println("Dallas Temperature IC Control Library Demo"); // Start up the library sensors.begin(); } void loop(void) { // call sensors.requestTemperatures() to issue a global temperature // request to all devices on the bus /********************************************************************/ Serial.print(" Requesting temperatures..."); sensors.requestTemperatures(); // Send the command to get temperature readings Serial.println("DONE"); /********************************************************************/ Serial.print("Temperature is: "); Serial.print(sensors.getTempCByIndex(0)); // Why "byIndex"? // You can have more than one DS18B20 on the same bus. // 0 refers to the first IC on the wire delay(1000); }
cactus.io 에서 제품 자체의 시리얼 넘버까지 친절하게 보여주는 소스는 다음과 같습니다.
"cactus_io_DS18B20.h" 라이브러리는 다음 링크에서 다운받으면 됩니다.
/* Example sketch for Maxim Integrated DS18B20 temperature sensor Written by cactus.io, and requires the cactus_io_DS18B20 library. This sketch was tested using the Adafruit Prewired DS18B20 Sensor. For hookup details using this sensor then visit http://cactus.io/hookups/sensors/temperature-humidity/ds18b20/hookup-arduino-to-ds18b20-temperature-sensor */ #include <cactus_io_DS18B20.h> int DS18B20_Pin = 2; //DS18S20 Signal pin on digital 2 // Create DS18B20 object DS18B20 ds(DS18B20_Pin); void setup() { ds.readSensor(); Serial.begin(9600); Serial.println("Maxim Integrated DS18B20 Temperature Sensor | cactus.io"); Serial.println("DS18B20 Serial Number: "); // we pass the serial number byte array into the printSerialNumber function printSerialNumber(ds.getSerialNumber()); Serial.println(""); Serial.println(""); Serial.println("Temp (C)\tTemp (F)"); } void loop() { ds.readSensor(); Serial.print(ds.getTemperature_C()); Serial.print(" *C\t"); Serial.print(ds.getTemperature_F()); Serial.println(" *F"); // Add a 2 second delay. delay(2000); } // We call this function to display the DS18B20 serial number. // It takes an array of bytes for printing void printSerialNumber(byte *addr) { byte i; for( i = 0; i < 8; i++) { Serial.print("0x"); if (addr[i] < 16) { Serial.print('0'); } Serial.print(addr[i], HEX); if (i < 7) { Serial.print(", "); } } }
6. 결과
실제로 "실내 공기 > 미지근한 물 > 냉장고의 차가운 물 > 급탕기로 뎁힌 물" 을 차례로 측정한 온도 변화 입니다.
동영상으로도 찍어 봤습니다.
전체 과정은 아래 동영상 입니다.
잘 되네요!
7. 주의
처음에 GND 와 VCC를 서로 바꿔 연결했더니만, 온도센서쪽이 불덩이가 되었습니다.
잠깐 만지기만 해도 손이 데일 정도였으니, 100도이상 순식간에 올라갔던 것 같습니다.
다행이 식힌 다음 제대로 연결했더니 센서 동작에는 문제가 없었습니다.
다른 센서들은 핀 연결을 잘못해도 문제가 생길 여지가 없는데, 이 센서는 왜 pullup 저항을 달아 놓는지 조금 이해가 갈 것 같습니다.
FIN
5개째 온돈세서 구동기였습니다.
더이상 다른 온도 센서는 없겠지?
'Hardware' 카테고리의 다른 글
Hardware | Raindrops 모듈 구동해 보기 (0) | 2017.07.30 |
---|---|
Hardware | 저항을 구매해 보자 (0) | 2017.07.29 |
Hardware | Flash ROM 복구기 (10) | 2017.07.24 |
Hardware | Arduino Micro 구입기 (0) | 2017.07.23 |
Hardware | AM2322 Temperature & Humidity Sensor (0) | 2017.07.12 |
1. 세면대
일어나자 마자 가는 곳, 세면대와 화장실.
아침 출근을 위해 수염깎고 코풀고 세수하고 손 씻고... 모든것을 세면대에서 합니다.
이런 고마운 세면대가 조금씩 물내려가는데 시간이 걸리기 시작하더니만,
이내 한참을 기다려도 내려가질 않습니다.
물이 전혀 소용돌이 쳐가며 내려가지 않습니다.
손바닥을 펴서 펌프질을 해봐도 전혀 개선이 안되더군요.
이제 특단의 조치가 필요한 상황이 된 것입니다.
2. 펑크린
급히 수배한 펑크린 입니다.
지금까지 여러 종류의 약품을 써 봤지만, 걸쭉한 용액을 사용하는 지라 더 효과가 좋을 듯 합니다.
SNAKE 라는 갈고리 고무막대가 있는데, 이게 효과가 있을까 하는 의구심이 살짝 들었습니다.
진공으로 빨아들이는 기계가 더 신뢰가 가는데... 이건 구할 수가 없고.
3. 시작
우선 갈고리 줄로 혹시 막혀 있을 이물질을 제거하기로 합니다.
플라스틱이 구부러진 상태로 상품 케이스에 수납되어 있어서,
작은 구멍으로 넣을때 부드럽게 내려가주질 않는군요...
뜨헉 !!!
살짝만 넣고 뺐는데 머리카락과 미확인 물질들이 올라왔습니다.
뭔가 이건 되겠어! 라는 필이 꽂혀 더 아래쪽으로 쭉쭉 밀어서 돌려가면서 빼내 봅니다.
으악 !!!!!!!!!!!!!!
낚시도 아니고 월척이 걸렸습니다. 으웩 !
한방에 이렇게나 많이 나올줄이야.
이후에도 이런 왕건이가 3번 더 올라왔습니다.
이후, 펑크린 액을 소줏잔 2잔 정도의 양을 붙고 30분 정도 놔뒀습니다.
액상 물질이 천천히 타고 내려가면서 파이프 내벽을 말끔히 씻기는 상상을 하면서 말이죠.
동영상을 찍지 않았습니다만, 이제 물이 콸콸콸 내려갑니다.
대만족이네요.
펑크린 액보다 갈고리가 더 중요한것 같습니다.
FIN
하는김에 집안 모든 물구멍은 다 뚫었습니다.
왠지 뿌듯한 하루가 되었습니다.
이게 집 리뉴얼 한지 3년만에 하는 것이니, 앞으로 3년동안 쓸일이 없는게 아쉽습니다.
'Life' 카테고리의 다른 글
Life | Leatherman 레더맨 A/S 후기 (0) | 2017.08.27 |
---|---|
Life | 에어콘 수리 도전기 (2) | 2017.08.07 |
Life | 가스라이터 수리 실패기 (0) | 2017.07.05 |
Life | 진공 청소기용 빨대 브러쉬 만들어 보자 (0) | 2017.06.26 |
Life | 화장실 스텐드 고치기 (0) | 2017.06.26 |
1. 시작
PC 의 BIOS 를 업데이트 했습니다.
기종은 "IPMSB-H61-PEGA".
찾아보니 유통업체에서 바이오스를 공개하고 있더군요.
헤헤헷~ 하면서 다운로드 받았습니다.
뭐 항상 하던거... 하면서 실행했죠.
뭔가 잠깐 주의사항이 있었던것 같은데, 신나게 엔터를 두둘기다 보니 어느새 주의 문구는 지나가 버리고 실행이 되어버렸죠.
뜨헉!!!
부팅이 안되네요~!!!
눈 튀어나올 상황을 진성시키며... 아까의 주의사항이 뭔지를 잠깐 떠올려 봤습니다.
"용량이... " 어쩌고 했던것 같아요.
내가 뭘 실행시킨거지? 하면서 다른 컴으로 다운로드를 받은 링크를 확인해 봤습니다.
그랬습니다.
동일한 보드이지만, 하나는 8M 짜리고, 하나는 4M 짜리의 BIOS.
즉, 보드명은 같지만 용량의 차이가 있었네요.
이걸 어떻게 처음부터 아냐고...
2. 어떻게 하지?
PC가 벽돌이 된건 작년 2016년 11월 25일.
그 동안, 용산으로 가서 수리를 의뢰할까, Flash Rom 굽는 제품을 살까, 동일 보드를 살까 (아니 왜?) 등을 고민했습니다.
그렇게 시간이 흘러간 후, Arduino 를 가지고 놀다가 흠칫 생각이 떠올랐습니다.
Arduino 로 못할게 없는데, 혹시 Flash Rom 굽는게 가능할까?
검색을 하니, 여러가지 Arduino sketch 가 있네요!
이때가 올해 2017년 3월입니다.
아래는 그 여러 사례들 입니다.
* Unbricking the MSI 890FXA-GD70 after BIOS flashing failure with an Arduino
* ArduinoでSPIシリアルフラッシュメモリW25Q64を使ってみる(1)
- http://nuneno.cocolog-nifty.com/blog/2014/03/arduinospiw25q6.html
* SPI Flash programmer
- https://github.com/nfd/spi-flash-programmer
* SPIFlash
- https://github.com/Marzogh/SPIFlash
하늘이 무너져도 쏟아날 구멍은 있네요.
3. Flash Chip
우선 보드에서 BIOS 칩을 분리합니다.
사진을 찍으니 제품은 Winbond 사의 "25Q32BV" 입니다.
Datasheet 정보는 다음과 같습니다.
Pin Configuration 은 아래와 같이 되어 있네요.
이게 제가 마주해야 할 Flash Chip 입니다.
4. Layout
Arduino 와 flash chip 의 배선 정보 입니다.
W25Q32BV | Arduino Nano --------------------------- Pin 1 | D10 Pin 2 | D12 Pin 3 | 3.3V Pin 4 | GND Pin 5 | D11 Pin 6 | D13 Pin 7 | 3.3V Pin 8 | 3.3V ---------------------------
동일한 칩은 아니지만,
일본 어떤 분이 winbond 사의 8M 짜리 flash chip 을 가지고 read/write 실험을 하신 분이 제작한 배선도 입니다.
- http://nuneno.cocolog-nifty.com/blog/2014/03/arduinospiw25q6.html
사양서와 동일한 Pin 배열인 것을 보니, 이 구성이 틀림이 없는것 같습니다.
5. Serprog/Arduino flasher
꽤 많은 분들이 Arduino로 flashrom 하고 있었습니다.
* Flashing a bios chip with an Arduino
- https://tomvanveen.eu/flashing-bios-chip-arduino/
가장 깔끔한 방법은,
Linux 상에서 "frser-duino" 라는 어플을 이용하는것 같습니다.
* frser-duino
- https://www.flashrom.org/Serprog/Arduino_flasher
위에 열거 했던 SPI Flasher 를 사용하면, read/write/erase 등이 모두 되지만,
ROM 파일을 address 0 번지부터 flashing 해주지는 못했습니다.
"소스코드를 분석하여 Windows 용 frser-duino 를 만들어 볼꺼야!" 라고 했지만,
저에게는 너무 어려웠습니다.
좀더 공부가 필요합니다.
6. Linux 머신을 만들자
Windows 용이 없으니, "frser-duino" 를 돌리기 위하여 우선 Linux 용 머신이 있어야 합니다.
PC의 여분은 없으나, 괜찮은 성능의 laptop 이 있어, Windows 10 상에서 Oracle Virtualbox 를 설치하고 Ubuntu 16.04 를 올립니다.
"frser-duino" 에서 설명된 대로 모든 패키지를 깔고 실행을 시키면,
"Reading old flash chip contents ..."
여기서 막혀 도저히 그 앞으로 진행이 되지 않습니다.
뭐가 문제일까 구글링 하다가 어느 사이트에선가 이런 문구를 보게 됩니다.
"CH340 칩을 쓴 Arduino clone 중국 제품은 buffer 에 문제가 있다..." 그래서 flashrom 을 성공시킨 사례가 없다.
그럼 정품 Arduino 를 구입해야 겠네? 정품을 구입합니다.
* Hardware | Arduino Micro 구입기
- http://chocoball.tistory.com/entry/Hardware-Arduino-Micro-purchase
자 제품도 도착했고 준비가 모두 끝났으니 추가 진행을 서두릅니다.
음... make 명령을 이용하여 frser-duino 를 컴파일 하는 과정에서 뭔가 진행이 잘 되지 않습니다.
특히 Virtualbox 에서는 USB 연결시 미리 꽂아놓고 Windows 상의 설정에서 등록 후 Linux 를 띄워야 제대로 동작했죠.
그러던 중, 응? 주위를 둘러보니 MediaWiki 를 돌리는 Raspberry Pi 3 가 있네요 !!!!!!!!!
이것도 Linux 잖아! 참... 머리가 나쁘면 손발이 고생입니다.
바로 Raspberry Pi 3 의 Ubuntu Mate 에서 "frser-duino" 실행 준비를 합니다.
결과는...
성공 !!!
입니다. ㅠㅠ
그것도 그냥 Arduino Nano 의 중국 Clone 으로요.
Virtualbox 를 통한 Linux 에서는 외부 기기와의 buffer 문제가 있었던것 같습니다.
문제의 원인은 CH340 이 아니였어요. ㅠㅠ
7. Flashrom 진행
여기서부터는 Raspberry Pi 3 에서 진행한 command 중심으로 기록을 남겨 봅니다.
먼저 필요한 package 들을 인스톨 합니다.
그 다음, frser-duino 를 git 으로 땡겨 옵니다.
USB 에 Arduino Nano clone 을 꼽습니다.
여러 site 들에서는 따로 driver 를 잡아줘야 한다고 하지만, Raspberry Pi 3 + Ubuntu Mate 에서는 자동으로 잡아줍니다.
device 로는 /dev/ttyUSB0 로 잡히는 것을 알 수 있습니다.
참고로 Arduino Micro 는 /dev/ttyACM0 로 잡힙니다.
Makefile 에서 device target 을 USB0 로 변경해 줍니다.
make 를 통하여 컴파일 및 Arduino 에 구동 프로그램을 밀어 넣어 줍니다.
필요한 ROM 파일을 다운로드 받습니다.
이제 대망의 마지막 단계인 flashrom 명령어로 Flash ROM 에 write 합니다.
위에서처럼 마지막에 "VERIFIED" 라고 뜨면 정상적으로 끝이 납니다.
아래 사진은 writing 시에 Arduino 의 RX LED 가 지속적으로 점등되는 모습입니다.
얼마나 감격스럽던지.
writing 시에 위에서 한컷.
궂이 Arduino Micro 는 필요가 없었습니다. ㅠㅠ
아쉬우니 동영상으로도 찍었습니다.
8. Commands
위에서 실시한 command 의 모음 입니다.
ROM 파일을 다운로드 하는 것은 PC 보드 기종에 따라 다르므로, 그 부분만 뺐습니다.
apt-get install flashrom gcc-avr binutils-avr gdb-avr avr-libc avrdude git git clone --recursive git://github.com/urjaman/frser-duino make ftdi make flash-ftdi flashrom -p serpgrog:dev/dev/ttyUSB0:115200 -w 2210.ROM
9. 부활한 PC 메인보드
이제부터는 승리의 기쁨인 부활한 보드 사진들 입니다.
Flash ROM 을 뽑았던 소켓입니다.
위아래를 알 수가 없어, 해당 보드를 판매했던 회사 홈피에서 이쪽 부분이 나와있는 사진을 참고 했습니다.
1번 pin 이 밑으로 가 있네요.
위의 사진 그대로 똑같이 꼽아 줍니다.
전원을 넣어 봅니다. 두둥!!!
오~~~~~ 켜졌습니다. 이때의 짜릿함을 위해 7개월을 기다렸습니다.
DEL 키를 눌러서 BIOS 진입합니다.
모두 정상으로 동작되네요. ㅠㅠ
참고로, 벽돌되기 전에 찍어 놓은 BIOS 화면이 아래 사진 입니다.
최신버전으로 구웠더니 자동으로 upgrade 가 되었습니다.
여기까지 온 김에 Windows 10 을 인스톨 해봅니다.
언제 고장났냐는 듯 잘 깔렸습니다.
CPU-Z 결과 입니다.
시스템 기본 정보 입니다.
이 화면을 봄으로써 이 작업은 종료입니다.
FIN
Arduino 생활은 즐겁습니다!
'Hardware' 카테고리의 다른 글
Hardware | 저항을 구매해 보자 (0) | 2017.07.29 |
---|---|
Hardware | DS18B20 온도센서 (17) | 2017.07.29 |
Hardware | Arduino Micro 구입기 (0) | 2017.07.23 |
Hardware | AM2322 Temperature & Humidity Sensor (0) | 2017.07.12 |
Hardware | Arduino 의 Sensor Shield 사용해 보기 (0) | 2017.07.09 |
1. CH340
Arduino Nano 를 두개 구입합니다.
* Hardware | Arduino 구입기
- http://chocoball.tistory.com/entry/Hardware-Arduino-%EA%B5%AC%EC%9E%85%EA%B8%B0
* Hardware | Arduino nano 조립기
- http://chocoball.tistory.com/entry/HardwareArduinonanoassamble
Arduino Nano 의 clone 제품을 AliExpress 에서 구입해서 잘 쓰고 있었습니다.
전혀 문제가 없었죠.
다만, CH340 이라는 interface 칩이 오리지널과 가장 다른 점이고,
여러 사이트에서 보면, 중국 클론 제품을 활용하려면 이 "CH340" 드라이버가 문제의 많은 부분이었습니다.
그러던 중, PC 의 BIOS 날려먹고 Arduino로 복구하고자 여러가지 시도를 합니다.
* Hardware | Flash ROM 복구기
- http://chocoball.tistory.com/entry/Hardware-flashROM-fix
그러나, 어느 사이트에선가 이 "CH340" 칩이 문제의 원인이라고 나와 있더군요.
또한 중국 클론 제품을 이용하여 BIOS 복구 프로그램인 "flashrom" 프로그램을 제대로 돌린 케이스를 찾을 수가 없었습니다.
이쯤해서 결론은, BIOS 복구하는 flashrom 을 돌리려면 정품 Arduino 이 필요하다는 결론이 납니다.
이제 Arduino 정품을 구할 때가 되었습니다.
2. Micro
정품 Arduino Nano 를 구입하려고 시도합니다.
한국에서는 중국 클론 제품만 팔고 있고, 정식 사이트 가면 22 USD 입니다.
이럴꺼면 Flashrom 기계를 사겠어요.
혹시나 Taobao 에서 구매 가능한지 알아 봅니다.
2만 8천원.
배송비까지 포함하면 배보다 배꼽이 더 커집니다.
폭풍 검색 중, 오잉?!!!
AliExpress 에서 CH340 을 쓰지 않는 Arduino Micro 정품을 팔고 있네요?
그건 다름아닌 "Arduino Micro" !!!
Arduino 계열 정품을 팔지 않는 AliExpress 에서 빙고 입니다.
(너무 잘만든 카피품 일 수도 있지만)
가격도 7 USD 정도. 1/3 가격 이하네요.
바로 주문합니다.
3. 도착
도착은 1주만에 왔습니다. 조금 가격이 있다보니 air mail 로 왔네요.
도착샷 입니다.
뽁뽁이에 잘 포장되어서 왔습니다.
정말 정품처럼 잘 포장되어 왔네요.
USB 연결은 안드로이드 연결하는데 많이 쓰이는 Micro-B 5 Pin 입니다.
참고로 Arduino Nano 클론 제품은 Mini-B 5 Pin 였습니다.
다행이 케이블이 동볼되어 있어서 바로 확인할 수가 있네요.
보드 위에 프린팅도 선명하게 잘 되어 있습니다.
뒷면도 인터넷에서 보이는 것과 완벽히 동일해 보입니다.
굿 shopping.
4. IDE 에 연결해 보기
Windows 에 연결하면 자동으로 driver 를 찾아 줍니다.
IDE 에서 "Tools > Board" 에서는 "Arduino/Genuino Micro" 를 선택합니다.
Port 는 아까 드라이버 인스톨시 보였던 "COM9 (Arduino/Genuino Micro)" 를 선택해 줍니다.
Tools > Get Board Info 를 보면 잘 인식하네요.
Windows 장치 관리자에서도 잘 인식합니다.
Linux 에서도 인식이 잘 되나 꼽아 봤습니다.
"Arduino LLC Arduino Micro" 로 검색되고,
USB device 로는 "/dev/ttyACM0" 로 연결 되었습니다.
참고로 Arduino Nano clone 제품은 "/dev/ttyUSB0" 로 인식하는 것이 다른 점 입니다.
특이한 점은 보드 밑부분에 전원 연결 확인용 푸른 LED 가 켜진다는 점입니다.
아래는 동작 동영상 입니다.
기본으로 fade 되는 LED 점등 sketch 가 upload 되어 있었습니다.
참 멋지게 점등되었는데, 다른 sketch 실험하느라 지워져 버렸네요.
할수 없이 IDE 들어가 있는 기본 blink sketch 를 동작시키는 동영상 입니다.
FIN
중국 Arduino 정식 제품도 파네요 !!!
'Hardware' 카테고리의 다른 글
Hardware | DS18B20 온도센서 (17) | 2017.07.29 |
---|---|
Hardware | Flash ROM 복구기 (10) | 2017.07.24 |
Hardware | AM2322 Temperature & Humidity Sensor (0) | 2017.07.12 |
Hardware | Arduino 의 Sensor Shield 사용해 보기 (0) | 2017.07.09 |
Hardware | Arduino 로 Servo 를 움직여 보자 (0) | 2017.07.08 |
1. 온도 센서
온도를 측정할 수 있는 센서는 매우 다양하게 있습니다.
아래 링크들은 지금까지 실험해본 센서들 입니다.
* Hardware | Arduino BMP280 고도/온도/기압 센서
- http://chocoball.tistory.com/entry/HardwareArduinoBMP280
* Hardware | BME280 sensor
- http://chocoball.tistory.com/entry/HardwareBME280
* Hardware | Arduino 비접촉 온도센서 GY-906 MLX90614
- http://chocoball.tistory.com/entry/HardwareArduinoMLX90614
생각보다 온도 센서들이 다양하게 있습니다.
그러던 중 SHT 계얄과 AM 계열이 또 있다는 것을 알게 되었죠.
그럼 어떤게 더 좋을까 찾아 봤습니다.
정확면에서는 AM 계열이 좋다는 글을 어디선가 보았습니다.
각 온도 센서들을 비교한 사이트도 있습니다만, AM 계열은 다루기가 까다롭다는 것을 알 수 있었습니다.
(측정을 위해 연속 측정하지 않고, reset 해야 하는 등)
- http://3. - https://www.kandrsmith.org/RJS/Misc/Hygrometers/calib_many.html
그렇다면, 일단 AM2321 을 구입하기로 하고 AliExpress 를 뒤져 봅니다.
옷!!!
새로운 버전인 AM2322가 나와 있네요.
센서 계열에서 3 USD 이상이면 고가에 속합니다.
하지만 구입합니다. 당연히 배송은 무료 입니다.
2. 도착
약 한달 반 정도 걸린것 같습니다.
오래 기다렸네요.
받고 바로 드는 생각은, "작다" 였습니다.
보통 빵판의 핀 사이의 거리가 "2.54 mm" 인데, 이 센서의 다리 간격이 "1.27 mm" 입니다.
연결을 어떻게 해야할지 고민됩니다.
결국 adapter 를 살까 하다가, 주문하고 기다리는 것을 참을 수가 없어 다리를 구부리기로 합니다.
까딱 잘못하다가는 다리가 날라갈 수가 있습니다.
참고로 1.27 to 2.54 어뎁터는 아래 사이트에서 판매합니다. (거의 안파는 듯)
- http://www.proto-advantage.com/store/product_info.php?products_id=2700037
향후를 위해서는 꼭 구하고 십지만, 7 USD 입니다. 배보다 배꼽이 더 큰 현실.
3. Spec.
스펙은 아래 datasheet 를 참고하세요.
이번 계기로, 중국어 공부에 대해서 심각하게 고민하게 되었습니다.
다행히 AM2320 에 대한 자료나 소스는 많아서, 비슷하다고 생각하고 진행해 봅니다.
4. Layout
Pin 배열은 다음과 같습니다.
판매자 사이트에 설명이 나와 있습니다.
AM2322 | Arduino Nano ------------------------- Pin 1 | 3.3V Pin 2 | A4 Pin 3 | GND Pin 4 | A5 -------------------------
보드 구성은 다음과 같아요.
리드선의 피치가 작아서 아래처럼 할수 없이 다리들을 엇갈리게 구부렸습니다.
다리를 서로 간섭이 안생기도록 벌리고, 클립으로 리드선과 연결해 주었습니다.
최종 연결한 모습 입니다.
불안하게 연결되어 있어서 센서와의 통신도 자주 끊겨버리네요.
일단 동작 확인이 우선이므로, 정식으로 프로젝트 한다면 어뎁터가 꼭 있어야겠습니다.
5. Source
소스 코드는 아래 사이트를 참고하였습니다.
- http://www.instructables.com/id/Connecting-AM2320-With-Arduino/
#include#include AM2320 th; void setup() { Serial.begin(9600); } void loop() { switch(th.Read()) { case 2: Serial.println("CRC failed"); break; case 1: Serial.println("Sensor offline"); break; case 0: Serial.print("humidity: "); Serial.print(th.h); Serial.print("%, temperature: "); Serial.print(th.t); Serial.println("*C"); break; } delay(200); }
위의 사이트 말고도 여러 사이트를 참고하실 수 있습니다.
- https://github.com/hibikiledo/AM2320
- https://github.com/Ten04031977/AM2320-master
6. 결과
IDE 의 Sensor Monitor 를 통해 본 결과 입니다.
결과가 잘 나옵니다.
습도가 점점 올라가는 것은, 예상 하셨듯 입김을 불어 넣어준 결과 입니다. 잘 반응하네요.
FIN
어? 또다른 온도 센서가 하나 더 있네 ?!!!
'Hardware' 카테고리의 다른 글
Hardware | Flash ROM 복구기 (10) | 2017.07.24 |
---|---|
Hardware | Arduino Micro 구입기 (0) | 2017.07.23 |
Hardware | Arduino 의 Sensor Shield 사용해 보기 (0) | 2017.07.09 |
Hardware | Arduino 로 Servo 를 움직여 보자 (0) | 2017.07.08 |
Hardware | 삼성 USB 마우스 분해해 보기 (0) | 2017.07.07 |
1. 가위손
Arduino 를 하면서 빵판에 선을 꼽고 있으면 스파게티가 됩니다.
이를태면 이런거거죠.
- 출처 : http://anycpu.org/forum/viewtopic.php?t=143
2. Sensor Shield
하나의 Arduino nano 에 여러 센서들을 연결하게 되면, GND / 5V 를 여러 센서들이 공유해서 사용해야 해서
다음과 같은 문제가 발생할 수 있습니다.
- 선이 복잡해 진다
- 전원의 전압 강하될 가능성이 있다
- Arduino 의 전력부에 부하를 준다
등의 문제가 될 수 있겠습니다.
이를 해결하기 위한 쉴드가 다음 사진 입니다.
Arduino nano 전용 sheild 입니다.
eBay 에서는 약 3~9 USD 정도 합니다.
그럼 Aliexpress 에서도 찾아 봅니다.
1.12 USD 에 무료 배송... 갓알리 입니다.
메뉴얼은 없고 단순히 보드 하나만 있습니다.
뒷면입니다.
Deek-Robot / DK-NANO-003 V3.0 이라고 적혀 있습니다.
5. 체결
결합전 샷 입니다.
합체 ~~!!!
전원 인가 모습.
잘 동작되는 것 같습니다.
6. 사양
Aliexpress 에서는 clone 제품을 많이 팔지만, 메뉴얼이나 자세한 설명은 없습니다.
어떤 전원을 꼽아야 하는지 알지 못하여 Googling 하였습니다.
완전히 같은 제품은 아니지만, 구성품이 거의 동일하여 동일한 사양일 듯 합니다.
Keyes - Funduino Uno and Nano Multi Purpose Shield V3.pdf
입력은 7~12V 사이가 적정하네요.
7. 연결해 보기
Servo 모터 두개를 달고 있는 Gimbal 미조립품이 있습니다.
이는 Kickstarter 에서 펀딩하고 받은 prototype 입니다.
- Servo 소개 글 : http://chocoball.tistory.com/entry/Hardware-Arduino-Servo
이 Gimbal 에는 두개의 Servo 모터가 들어갑니다.
각 Servo 모터는 5V / GND 와 digital pin 하나가 필요합니다.
이번에 구입한 Sensor Shield를 이용하여 간단하게 연결해 볼까요?
사진에서 보이듯, 각 signal pin 에 GND / 5V 핀이 바로 옆에 있어
배선이 깔끔해 집니다.
두개의 Servo 를 연결했을 때의 사진 입니다.
깔끔하죠?!!!
전원을 넣으면 각 pin 을 통해 5V 전원도 인가되고 GND 도 동작합니다.
그래서 각 센서에서 Arduino 의 5V / GND 에 따로 연결할 필요가 없습니다.
전원 인가하니 잘 동작 합니다.
동시에 두개의 Servo 를 구동시킨 동영상 입니다.
좋네요 !!!
FIN
OLDE / 여러 Sensor / Motor 등을 하나의 Arduino 로 제어하고 싶을 때, 배선이 깔끔해 지겠습니다.
다른것도 해봐야지.
'Hardware' 카테고리의 다른 글
Hardware | Arduino Micro 구입기 (0) | 2017.07.23 |
---|---|
Hardware | AM2322 Temperature & Humidity Sensor (0) | 2017.07.12 |
Hardware | Arduino 로 Servo 를 움직여 보자 (0) | 2017.07.08 |
Hardware | 삼성 USB 마우스 분해해 보기 (0) | 2017.07.07 |
Hardware | 마이크로소프트 무선 마우스 4000 분해해보기 (0) | 2017.07.04 |
1. Servo
보통 전원만 들어오면 한쪽으로만 도는 모터도 있지만,
무선 조정 자동차 등에 들어가는 전자 제어식 모터가 있습니다.
이 모터는 각도 및 방향을 지정할 수 있습니다.
이런 모터 중 하나가 Servo 입니다.
제가 가지고 있는 것은 따로 구입한 것은 아니고,
Kickstarter 라는 클라우드 펀딩에서 Gimbal 장비로 소개된 프로젝트에 투자하여 받은 장비에 있는 것입니다.
아래는 그 Kickstarter 프로젝트 소개 입니다.
Gimbal for your Lights Camera or Action
요런겁니다.
카메라나 전등을 붙이고 원격에서 그 방향을 조절할 수 있는 장치 입니다.
단, 받은 장비는 Hardware 만 있고 Software 는 자기가 만들어야 하는 제품입니다.
2. 부품
Gimbal 에 들어가는 부품은 Futaba 의 다음 두개 입니다.
- S3010
- S3114
이제 이런 부품의 생산도 중국이네요.
3. Layout
Pin 배열입니다.
Servo | Arduino Nano ------------------------- Black | GND Red | 5V White | D9 -------------------------
아래와 같이 연결하면 됩니다.
4. Source
Arduino IDE 에서는 "<Servo.h>" 라는 라이브러리를 제공해 주고 있습니다.
그래서 control pin 정보와 움직이고 싶은 각도만 입력하면 그대로 동작해요.
참 편하죠?
#include "Servo.h" Servo myservo; // create servo object to control a servo void setup() { myservo.attach(9); // attaches the servo on pin 9 to the servo object } void loop(){ myservo.write(0); // sets the servo at 0 degree position delay(1000); // waits for the servo to get there myservo.write(90); // sets the servo at 90 degree position delay(1000); // waits for the servo to get there myservo.write(180); // sets the servo at 180 degree position delay(1000); // waits for the servo to get there myservo.write(90); // sets the servo at 90 degree position delay(1000); // waits for the servo to get there }
5. 결과
소스를 올리고 전원을 넣으면 다음과 같이 움직입니다.
감시 카메라를 올리고 사용하려면 좀더 디테일한 움직임을 보여야 하는데,
일단 동작만 확인합니다.
Servo도 step motor 의 일종일 터인데,
지원 라이브러리로 편하게 동작시킬 수 있는게 좋네요.
FIN
좀더 연구해봐야 겠습니다.
'Hardware' 카테고리의 다른 글
Hardware | AM2322 Temperature & Humidity Sensor (0) | 2017.07.12 |
---|---|
Hardware | Arduino 의 Sensor Shield 사용해 보기 (0) | 2017.07.09 |
Hardware | 삼성 USB 마우스 분해해 보기 (0) | 2017.07.07 |
Hardware | 마이크로소프트 무선 마우스 4000 분해해보기 (0) | 2017.07.04 |
Hardware | 금속탐지기를 조립해 보자 (0) | 2017.07.03 |
1. 친숙한 마우스
저번에 제조업의 Microsoft 가 만든 무선 마우스를 분해 해 봤습니다.
- http://chocoball.tistory.com/entry/Hardware-Microsoft-wireless-mouse-4000
휠 고무가 녹아버린는 것 말고는 참 잘 만든 마우스였습니다.
그럼 다른 마우스들은 어떨까 하고 고장난 삼성 마우스를 분해해 보겠습니다.
2. 오늘의 주인공
고장나서 굴러다니던 삼성 USB 마우스 입니다.
가격 차이가 있어서 고가의 무선마우스와 단순비교는 의미가 없을 수도 있겠지만,
가격 차이가, 구조적으로 어떻게 차이를 나타내는지 보는것도 괜찮을것 같습니다.
3. 분해
분해는 간단 합니다.
우선 궁둥이쪽 나사를 하나 뺍니다.
많이 단순하네요.
분해는 이게 끝입니다.
4. 내부 부품
USB 케이블에 페라이트 코어가 있네요.
다른 이야기 이지만, 그 많은 페라이트 코어가 얼마나 효과가 좋은지는 모르겠어요.
휠을 누르면 눌리는 스위치와 좌우 스위치가 있습니다.
또한 휠 고정축에 휠을 이용해 스크롤을 감지해주는 노브가 있습니다.
최대한 구성을 간단하게 한 흔적이 옆보입니다.
콘덴서와 저항이 원가절감으로 빠져 있네요.
광원과 감지 센서가 나란히 있습니다.
기판을 붙잡고 있는 돌기를 제끼면 기판을 분리할 수 있습니다.
다만, 이 돌기는 강질이라서 힘을 많이 주면 부러져 버리네요.
수리를 전제로 만들어진 제품이 아니라는 것을 알 수 있습니다.
끼워 넣을때는 가능하지만 빼낼때는 부러지게 되어 있습니다.
광원의 수신 센서부 입니다.
광원을 반사시키는 프리즘 같은 투명 플라스틱은 그냥 걸처져 있습니다.
기판을 완전히 들어낸 사진 입니다.
USB에 연결하여 광원을 확인해 보았습니다.
이게 레이저인가 LED 인지 잘 모르겠습니다.
보기에는 고휘도 LED 인것 같이 보입니다.
부품 적출해서 가지고 놀면 되겠습니다.
FIN
다른 마우스들도 분해해 보고 싶네요.
'Hardware' 카테고리의 다른 글
Hardware | Arduino 의 Sensor Shield 사용해 보기 (0) | 2017.07.09 |
---|---|
Hardware | Arduino 로 Servo 를 움직여 보자 (0) | 2017.07.08 |
Hardware | 마이크로소프트 무선 마우스 4000 분해해보기 (0) | 2017.07.04 |
Hardware | 금속탐지기를 조립해 보자 (0) | 2017.07.03 |
Hardware | YF-S201 water flow sensor 가지고 놀기 (4) | 2017.06.28 |
1. 캠핑에는 가스라이터
캠핑시 나무 장작으로 때는 캠프파이어는 캠핑의 꽃이죠.
일단 바베큐도 할 수 있고, 자작소리를 내며 타는 장작 앞에서 도란도란 이야기하며 가족애도 키우고.
다만, 나무에 불피우는 것까지가 힘이 듭니다.
Fire Starter 를 잘 만들어 놓으면 좋겠지만, 일단 작은 불을 붙여야 뭐든지 시작합니다.
그런데... 코가 긴~ 롱노우즈 가스라이터가 고장이 났습니다.
문제의 원인이 가스를 다 쓴건지 스파크가 튀지 않는 건지 모르겠습니다.
얼마 하지 않지만, 새로 사기 보단 고쳐보기로 합니다.
2. 분해
먼저 나사 두개를 풉니다.
주둥이쪽에 고정하는 플라스틱을 빼서 올려줍니다.
손잡이쪽 커버를 벗겨주면 모두 분해할 수 있습니다.
이제 속살을 볼 수 있습니다.
분해 완료~.
3. 가스 충전
일단 가스가 부족하네요.
가스 충전기로 충전해 줍니다.
4. 스파크
주둥이 철 커버를 밀어 내면 검은색 ground 선이 보입니다.
그냥 이렇게 놔두기만 하면 될까 생각해 봅니다. 하긴 지금까지 문제 없이 썼으니 괜찮겠죠?
스파크를 발생시켜 주는 부분은 구부러져 있군요.
원래 튀어나와 있지 않았나 기억을 되살려 봅니다만, 기억이 나지 않습니다.
스파크 전원선 끝자락을 회색 커버 밖으로 내줘야 할듯 합니다.
그래야 ground 선과 닿아 있는 커버 금속과 접점을 내며 스파크를 튀겨줄 것이니까요.
불꽃의 열기로 막혀있는 듯 하여, 뚤어줍니다.
가는 바늘 끝을 불에 달군 뒤, 지져서 구멍을 확실히 뚫어 줍니다. 뽕~!
스파크 선을 밖으로 잘 뺴 줍니다.
이 부분이 가장 힘들었습니다.
가스 배출관 옆에 위치하기 때문에 구멍을 예상하면서, 동시에 위치를 잘 맞추면서 끼워야 하거든요.
마지막으로 외부 금속커버를 끼워주고,
끝부분에 있는 돌기가 스파크선과 가깝게 위치할 수 있도록 살짝 밀어 넣어 줍니다.
마지막으로,
가스관, 스파크선, 금속 돌기가 잘 위치하는지 확인합니다.
5. 확인
가스도 충전했고, 스파크선 조정도 끝났으니 잘 불꽃이 일어나는지 실험해 봅니다.
스파크는 잘 튀지만, 불꽃은 일지 않습니다.... 실패군요.
이해가 잘 되지 않는 상황입니다.
스파크가 잘 튄단 말이지요.
가스가 너무 세게 배출되면서 그런가 하여 손바닥으로 주위를 감쌓아 가스가 정체되게 한 다음 해도,
실패 입니다. 모르겠습니다.
FIN
그냥 작은 라이터 하나 더 가져가서 불 붙이렵니다.
'Life' 카테고리의 다른 글
Life | 에어콘 수리 도전기 (2) | 2017.08.07 |
---|---|
Life | 펑크린을 이용하여 세면대를 뚫어보자 (0) | 2017.07.27 |
Life | 진공 청소기용 빨대 브러쉬 만들어 보자 (0) | 2017.06.26 |
Life | 화장실 스텐드 고치기 (0) | 2017.06.26 |
Life | 진공 청소기 청소 및 수리기 (0) | 2017.06.25 |
1. 오늘의 주인공
Microsoft Wireless Mobile Mouse 4000 입니다.
사진에서 보이듯 휠 부분의 고무가 다 닳아 버렸습니다.
생산연도는 2012년 이라서, AS 좋기로 유명한 마소입니다만 너무 오래된 것이라 거부당하였습니다.
외관은 멀쩡하지만, 다른 좋은 마우스도 있기에 분해해 보기로 합니다.
제조업 회사인 Microsotf 가 만든 만큼 디자인도 그렇고 잘 만들었습니다.
고무휠 빼고....
2. 분해
일단 건전지와 WIFI USB 를 제거합니다.
뚜껑과 기판을 분리하는 첫 나사는,
아래 그림처럼 뒷쪽 마우스 패드 밑부분에 숨겨져 있습니다. 한참 찾았어요.
보통 큼지막한 스티커 뒤에 숨어 있어서, 손으로 눌러 살짝 들어가는 자리가 있어 스티커를 제거해 보니,
플라스틱 사출 흔적이었다는... 훼이크에 속았습니다.
첫 나사를 분리하면 이렇게 분리가 됩니다.
이제 뒷쪽의 걸쇄같이 생긴 부품을 동일한 힘을 주고 빼야 합니다.
꽤 짱짱하게 결합되어 있어서, 힘을 주지만 과하지 않게 하면서 뺴야 합니다.
저야 버릴꺼라 스크레치 신경쓰지 않으며, 뺀치로 과한 힘으로 뺐습니다. :-)
나사 머리가 검은색이라 눈에 잘 띄지는 않지만,
방금 분리한 부분의 두개 구멍에 보이는 나사를 분리해 줍니다.
짜잔~ 기판이 보이게 됩니다.
마우스가 간단한 기능처럼 보이지만, 꽉찬 기판과 부품을 볼 수 있습니다.
작은 공간에 최대한 때려 넣은 듯 느낌입니다.
레이저인지 고휘도 LED 인지, 빛을 쏴주는 곳과 굴절시키는 부품이 한뭉치로 되어 있습니다.
이제, 중간에 걸쳐 있는 휠 부붐을 잡아 뺍니다.
버릴꺼니 힘조절 같은 아량은 필요 없습니다.
역시 제조업 Microsoft. 험하게 분리해도 전혀 문제되지 않습니다.
사실 여기까지 하고 감탄했습니다. 잘 만들었습니다.
휠을 분리하고 기판을 고정하는 나사를 제거하면 완전히 분리 작업이 끝나게 됩니다.
3. 부품
이제부터는 부품 사진 입니다.
버릴 목적이기는 하나, 나중을 위해서 기판은 보관하려 합니다.
자잘한 부품이 많이 있습니다.
오른손용 마우스이긴 하지만, 왼손용으로도 할 수 있도록 엄지용 스위치가 양쪽에 달 수 있도록 되어 있습니다.
엄지용 버튼 부분입니다.
광원부 입니다.
한몸통으로 되어 있고, 별나사가 있어야 해서 놔둡니다.
뭔가 다른 기판들과 다르게 번쩍번쩍 합니다.
그렇습니다. "금도금" 으로 접점이 모두 이루어져 있습니다.
역시 제조업 Microsoft. 감탄이 나옵니다.
전원 스위치도 작아서 다른곳에 쓸만 할것 같습니다.
기판의 상면입니다.
사진상 밑부분은 안테나 패턴으로 보입니다.
역시, 접점은 금도금 입니다.
FIN
다른 마우스들도 궁금하네요.
'Hardware' 카테고리의 다른 글
Hardware | Arduino 로 Servo 를 움직여 보자 (0) | 2017.07.08 |
---|---|
Hardware | 삼성 USB 마우스 분해해 보기 (0) | 2017.07.07 |
Hardware | 금속탐지기를 조립해 보자 (0) | 2017.07.03 |
Hardware | YF-S201 water flow sensor 가지고 놀기 (4) | 2017.06.28 |
Hardware | Arduino 로 Photoresister 가지고 놀기 - 1 (0) | 2017.06.25 |