'Hardware'에 해당되는 글 222건
- 2017.08.17 Hardware | Resistor Network 을 사용해보자
- 2017.08.13 Hardware | LED bar graph 를 이용해 보자
- 2017.08.02 Hardware | Soil Moisture Sensor 구동해 보기
- 2017.07.31 Hardware | MB102 Breadboard Power Supply Module 를 사용해 보자
- 2017.07.30 Hardware | Raindrops 모듈 구동해 보기
- 2017.07.29 Hardware | 저항을 구매해 보자
- 2017.07.29 Hardware | DS18B20 온도센서 17
- 2017.07.24 Hardware | Flash ROM 복구기 10
- 2017.07.23 Hardware | Arduino Micro 구입기
- 2017.07.12 Hardware | AM2322 Temperature & Humidity Sensor
1. LED bargraph
LED bargraph 를 이용하여 progress bar 를 표현할 수 있습니다.
바로 Aliexpress 에서 구매해서 놀고 있었습니다.
- http://chocoball.tistory.com/entry/Hardware-LED-bar-graph
LED bargraph 는 LED 들을 하나의 뭉치로 만든 제품이지만,
LED 의 특성상 전압/전류를 제한하기 위해 필수로 저항을 달게 되어 있습니다.
그래서 LED bargraph 에는 다리 하나하나에 저항을 달아줘야 합니다.
당연히 아래와 같이 붙여주거나 전선의 스파게티화를 볼 수 있습니다.
그러던 중, 응?!!!!!
아래와 같은 사진을 접하게 됩니다.
이리 깔끔해 질 수 있다니!!!
확인해보니, "Resistor Network" 이라는 부품이었습니다.
예전 90년대의 PC mainboard 에도 많이 보았던 부품이 이것이었구나... 라고 추억에 젖어 봅니다.
점이 있는 부분이 공통선이고, 각각의 다리가 하나의 저항 역할을 합니다.
머리를 잘 쓴 제품이네요.
Resistor network 을 일반 저항을 이용해서 만들면 다음과 같다고 하네요.
2. 주문
바로 AliExpress 에서 제품을 찾아 봅니다.
LED 에는 보통 220 Ohm 이나 330 Ohm 이 많이 쓰이는 것 같습니다.
220 / 330 짜리를 주문합니다.
330 짜리는 나중에 LED 8x8 matrix 에서도 사용해야 해서 미리 주문해 놓습니다.
위의 제품은 331J 라고 표시된 제품인데, 의미는 330 Ohm 에 5% 의 오차라는 뜻이라 합니다.
3. 스펙
잠깐 스펙에 대해서 알아보도로 하죠.
참고한 문서는 다음과 같습니다.
- L-373215.pdf
Resistor network 은 단순한 "-1 Circuit Based" 와 각각을 짝으로 맟준 "-3 Circuit Isolated" 가 있고,
"-5 Circuit Dual Terminator" 등이 있다고 합니다.
넘버링의 의미는 다음과 같습니다.
마지막 숫자는 맨 뒤에 "0" 이 몇개가 오는지와, "J" 는 5% 의 의미랍니다.
새로운 것을 또 공부하게 됩니다. 즐겁네요.
4. 도착
부품이 도착하여 여러가지 확인해 봤습니다.
50개 단위가 적당할 것 같아서 50개 묶음을 주문했더랬습니다.
낱개의 사진입니다. 쪼만쪼만한게 귀엽네요.
220 Ohm 사진도 올려 봅니다.
330 Ohm 의 실제 저항을 측정해 봤습니다.
일반 저항보다 정도가 더 좋습니다.
아마 허용 와트(W) 용량은 작겠지만, 정도는 정말 좋네요.
5. 연결해 보자
LED bargraph 에 연결해 봤습니다.
한번에 하나밖에 점등을 못시켰는데, 이제는 한꺼번에 LED 를 킬 수 있습니다!
역시 좋네요.
GND 연결선들도 복잡하여 모두 resistor network 으로 대체해 봅니다.
전류나 전압이 떨어지겠지만 LED 점등에는 문제 없을것 같아, +/- 모두 resistor network 를 연결해 봅니다.
완전 깔끔해 졌습니다. 맙소사.
FIN
74HC595 칩이 도착하면, 이제 대망의 arduino 와 연결하여 컨트롤 해볼 예정입니다.
아... 너무 즐겁습니다.
'Hardware' 카테고리의 다른 글
Hardware | Probe Clip 을 사용해 보자 (0) | 2017.08.28 |
---|---|
Hardware | Gyroscope GY-521 MPU-6050 을 사용해 보자 (0) | 2017.08.20 |
Hardware | LED bar graph 를 이용해 보자 (0) | 2017.08.13 |
Hardware | Soil Moisture Sensor 구동해 보기 (0) | 2017.08.02 |
Hardware | MB102 Breadboard Power Supply Module 를 사용해 보자 (0) | 2017.07.31 |
1. 그래프
저는 graph pettish 입니다.
데이터를 가지고 그래프로 표현하는 것에 환장한다는 뜻이지요.
방대한 data 를 가지고 하나의 graph 로 표현하면서,
그 data 가 가지는 의미를 파악하는 것을 정말 좋아합니다.
요즈음은 big data 가 유행하고 있어, big data 를 가지고 가치있는 insight 를 발굴해 내는 사람을 data scientist 라고 부르기도 합니다.
아마 지금 직업이 아니였더라면 이쪽으로 갔을지도 모를 일입니다.
아두이노에 대해 웹서핑하다가 LED bar graph 를 가지고 진행 상황을 확인하는 동영상을 보게 됩니다.
그것도 graph 에다가 반짝이는 LED 를 엮어놓은 bar 입니다.
그래 저거야!
당장 구입하려고 조사해 봅니다.
2. 구입
오늘도 AliExpress 삼매경으로 구입 대상을 물색합니다.
여러 종류의 LED bar graph 가 존재하네요.
특히 색을 한가지밖에 표현 못하는 제품이 기본인 듯 합니다.
녹색이냐, 파란색이냐, 빨간색이냐...
또한, segment 라고 해서 한개의 bar 에 몇개의 LED 를 표현하느냐의 갯수의 선택도 해야 합니다.
일단 많이 표현하고 싶고, LED 는 기본이 빨간색이야, 라고 믿기에
빨간색 12 segment 짜리를 구입합니다.
스펙은 다음과 같다고 합니다.
내부 회로 구성은 다음과 같다고 하네요.
잘 보면, 하나하나의 LED 가 다음과 같은데,
이런 LED 를 하나의 패키징으로 만든 제품입니다.
모든 LED 관련 부품은 Anode / Cathode 방향이 중요합니다.
이거 잘못 하는 바람에 한개의 segment 를 날려 먹었습니다.
3. 원리
원리는 다음과 같다고 합니다.
전위차로 인하여 분리되어 있던 전자가 움직이면서 광자를 내는 원리 입니다. (뭔소리여)
그림이 잘 되어 있어서 가져와 봤습니다.
저도 이런 그림을 잘 그려보고 싶네요.
4. 도착
요즈음의 AliExpress 는 배송이 막 한달 걸리고 그러지 않는것 같습니다.
약 2주만에 도착했어요.
구성품은 빨간색 12 segment LED bar graph 가 5개 입니다.
밑면입니다.
옆면입니다.
다리의 간격은 빵판의 간격과 같습니다.
윗면입니다.
5. 테스트
아래와 같이 빵판에 연결합니다.
처음에 연결을 잘못 했습니다.
Anode / Cathod 를 반대로 했죠.
안켜지니 5V 에다도 연결을 했더랬습니다.
결과는 그 부분만 LED 가 나가버렸습니다.
예전에도 LED 한개짜리를 결손 잘못으로 인하여 나간적이 있었는데 똑같은 실수를 반복했습니다.
잘 찾아보니 모서리 부분에 갈아 낸것처럼 표시가 된 부분이 anode (+) 라고 하네요.
그럼 저항은 어느쪽에?
구글링하여 찾은 다음 사진처럼 anode 에 연결했습니다.
저항은 anode / cathod 어느 방향에다 설치하든 상관이 없다는 것을 방금 실험해서 알 수 있었습니다.
그래도 그림이 저렇게 되어 있으니 똑같이 해봅니다.
6. 결과
잘 동작합니다.
동영상도 올려 봅니다.
중간정도의 LED 는 동작하지 않습니다. 처음 제품 받았을 적에 anode / cathod 확인도 안하고, 5V 인가시에 죽은 segment 입니다.
속이 좀 쓰리긴 합니다만, 다음에는 이제 같은 실수는 안하겠죠?
FIN
LED segment 하나하나에 저항을 연결하지 않아도 되는 resistor network 라는 부품과
LED 점등을 관리해주는 74HC595 라는 chip 을 사용하여, 최종적으로 arduino 와 연결해 보려 합니다.
일단 부품이 오면 진행하는 것으로.
'Hardware' 카테고리의 다른 글
Hardware | Gyroscope GY-521 MPU-6050 을 사용해 보자 (0) | 2017.08.20 |
---|---|
Hardware | Resistor Network 을 사용해보자 (0) | 2017.08.17 |
Hardware | Soil Moisture Sensor 구동해 보기 (0) | 2017.08.02 |
Hardware | MB102 Breadboard Power Supply Module 를 사용해 보자 (0) | 2017.07.31 |
Hardware | Raindrops 모듈 구동해 보기 (0) | 2017.07.30 |
1. 농작물 automation
향후 나이를 먹으면, 농사를 지을 생각입니다.
다만, 전자 기기 경험과 IT 경력을 이용하여 가능한 전자동으로 하고싶습니다.
일조량, 물주기, 항온 항습, 통풍, 영양소 확인 등등...
그 목적을 위해 오늘도 Arduino 를 이용하여 열씸히 놀고 있습니다.
이 농사 automation 에서 토양의 수분 확인은 필수겠죠?
그래서 관련 센서들을 평소 찾아 다녔습니다.
2. Soil Moisture Sensor
네, 맞습니다. 한글로 번역하면 "토양 수분 감지기" 정도가 되겠습니다.
토양에 자동으로 물을 주려면 수분의 level 을 잘 감지해 내야겠죠?
AliExpress 에서 찾아 봅니다.
센서부에 금박이 칠해져 있고, 품질 좋은 것으로 호평받는 RobotDyn 사의 제품이 있습니다.
1.28 USD !!! 배송비 무료. 감사합니닷.
3. 도착
잊고 있었더니만 어느샌가 도착했습니다.
비닐 포장도 깔끔하게 되어 있고, 프린팅도 괜찮습니다.
간만에 괜찮은 품질의 제품을 만난것 같습니다.
개봉한 샷 입니다.
금빛 찬란하군요.
4. Layout
Pin 접속은 다음과 같습니다.
Soil Moisture Sensor | Arduino Nano ------------------------------------- OUT | 5V GND | GND VCC | D2 ------------------------------------- 128X64 OLED | Arduino Nano ---------------------------- GND | GND VCC | 3.3V SDA | A4 SDL | A5 ----------------------------
RobotDyn 제품의 원래 오리지날은 SparkFun 사의 "Soil Moisture Sensor" 일지도 모르겠습니다.
- https://learn.sparkfun.com/tutorials/soil-moisture-sensor-hookup-guide
외관이 너무 비슷합니다.
그래서 고맙게도 IDE sketch 를 그대로 가져다 써도 잘 동작합니다.
5. Source
Sketch 는 다음과 같습니다.
OLED 를 붙여서 동작시키게 조금 수정하였습니다.
/* Soil Mositure Basic Example This sketch was written by SparkFun Electronics Joel Bartlett August 31, 2015 Basic skecth to print out soil moisture values to the Serial Monitor Released under the MIT License(http://opensource.org/licenses/MIT) */ #include "SPI.h" #include "Wire.h" #include "Adafruit_GFX.h" #include "Adafruit_SSD1306.h" #include "stdint.h" #define OLED_RESET 4 Adafruit_SSD1306 display(OLED_RESET); int val = 0; // value for storing moisture value int soilPin = A0; // declare a variable for the soil moisture sensor int soilPower = 7; // variable for Soil moisture Power // rather than powering the sensor through the 3.3V or 5V pins, // we'll use a digital pin to power the sensor. This will // prevent corrosion of the sensor as it sits in the soil. void setup() { Serial.begin(57600); // open serial over USB pinMode(soilPower, OUTPUT); // set D7 as an OUTPUT digitalWrite(soilPower, LOW); // set to LOW so no power is flowing through the sensor display.begin(SSD1306_SWITCHCAPVCC, 0x3C); } void loop() { // get soil moisture value from the function below and print it int result = readSoil(); Serial.print("Soil Moisture = "); Serial.println(result); // clear the buffer display.clearDisplay(); // text display tests display.setTextSize(2); display.setTextColor(WHITE); display.setCursor(0,0); display.print("Soil\n"); display.print("Moisture\n"); isplay.print("\n == "); display.print(result); display.display(); // this 1 second timefrme is used so you can test the sensor and see it change in real-time. // for in-plant applications, you will want to take readings much less frequently. delay(1000); // take a reading every second } // this is a function used to get the soil moisture content int readSoil() { digitalWrite(soilPower, HIGH); // turn D7 "On" delay(10); // wait 10 milliseconds val = analogRead(soilPin); // read the SIG value form sensor digitalWrite(soilPower, LOW); // turn D7 "Off" return val; // send current moisture value }
출처는 SparkFun 사의 위의 사이트 입니다.
6. 동작 확인
Pin 을 연결하고 sketch 를 업로드 한다음 제대로 동작하는지 확인해 봅니다.
화분에 물주고 확인해야 하는데, 일이 커지므로 손기운으로 측정으로 해봅니다.
잘 되네요!!!
실측값을 토대로 실제로 흙속에 넣고 해봐야겟지만, 동작확인이 되었으니 충분합니다.
아마 흙속에 계속 넣고 있으면, 금박 등이 다 삵아서 제대로 동작되지 않겠죠?
지속적인 사용은 못할 듯 합니다.
실제 농작물 automation 에 사용하려면 수분이 직접 닫지 않고도 측정되는 센서가 필요할 듯 합니다.
동영상도 한번 찍어봤습니다.
간단하게 잘 동작하네요.
FIN
아~ 나의 농작 automation~!!!
'Hardware' 카테고리의 다른 글
Hardware | Resistor Network 을 사용해보자 (0) | 2017.08.17 |
---|---|
Hardware | LED bar graph 를 이용해 보자 (0) | 2017.08.13 |
Hardware | MB102 Breadboard Power Supply Module 를 사용해 보자 (0) | 2017.07.31 |
Hardware | Raindrops 모듈 구동해 보기 (0) | 2017.07.30 |
Hardware | 저항을 구매해 보자 (0) | 2017.07.29 |
1. 빵판
전자부품을 이용하여 놀려면 빵판이 필요합니다.
AliExpress 에서 빵판을 구매하기로 하고 돌아봅니다.
큰것도 있고 작은것도 있고...
큰거는 부담스럽고, 작은 것은 프로토타입 만드는 용도 정도라, 반쪽 사이즈를 찾아봅니다.
당연히 있네요.
2. 주문
AliExpress 에서 딱 적당한 크기의 빵판을 팔고 있습니다.
특히 좋은 것은 몇 개의 lead 선들과 전원 모듈을 같이 동봉되어 있네요.
바로 주문합니다. 무료배송인지는 항상 확인합니다.
3. MB102 Power Supply Module
주문한 빵판에는 MB102 Power Supply Module 이라는, 전원 공급장치가 있습니다.
Arduino 에 필요한 5V/3.3V 는 물론이거니와 USB를 통한 전원도 공급하는 모양입니다.
원래는 YwRobot 이라는 회사에서 정식으로 제조되는 물건인데,
중국분들이 클론을 제조해 팔고 있는 듯 합니다.
요렇코롬 생겼습니다.
빵판의 +/- 에 딱 다리가 맞게 되어 있습니다.
한쪽에 다리가 두개씩 되어 있습니다.
다음과 같이 끼우면 됩니다.
뒷면입니다.
워낙 구조가 간단하다 보니 그렇게 특별하지 않아 보입니다.
4. 구동
전원을 인가해 봅니다.
단, 어느정도의 voltage 를 넣어도 되는지 아무런 설명서가 동봉되어 있지 않습니다.
뭐 늘상 그러려니 하고 인터넷을 뒤져 봅니다.
뭔가 복잡한 회로도가 나왔습니다.
각 단자들의 연결과 부품들이 나와 있습니다.
이렇게 잘 나와 있으니 카피 뜨는건 정말 쉬울 듯 합니다.
좀더 찾아보니 input voltage 를 명시한 그림이 있네요.
그렇습니다. "6V ~ 12V" 를 DC로 입력하라고 그러네요.
적당한 DC adapter 를 골라서 꼽아 줍니다.
집에는 9V / 1A 어뎁터가 있어, 이것을 이용합니다.
5. 전압 확인
전원을 인가했을 때, 전압이 제대로 나오는지 확인해 봅니다.
우선, 점퍼를 3.3V 으로 옮겨 놓고, 빵판의 전원 라인에 3.3V 가 되는지 확인해 봅니다.
3.273V... 뭐 적정한것 같습니다.
이번에는 5V 에 점퍼를 옮겨 놓고 측정해 봅니다.
4.94V... 나쁘지 않은 것 같습니다.
빵판의 전원선에 연결하는 것 외에
보드상에서 바로 3.3V / 5V / GND 핀으로만 되어 있는 부분에 연결해 봅니다.
3.3V / GND 를 확인해 보면, 3.273V 가 나옵니다.
어찌보면 당연하네요. 동일한 레귤레이터를 거쳐서 3.3V / 5V 를 만들어 내므로, 전원 리드선에서 나오는 값과 같을 수밖에 없습니다.
아쉬우니 5V / GND 핀도 측정해 봅니다.
동일하게 4.94V 가 측정됩니다.
USB 를 통한 전원 공급도 문제 없는지 봅니다.
Arduino Micro 가 잘 동작하네요.
5V / GND 와 USB를 동시에 사용했을때도 검사해 봅니다.
특별히 로드를 걸지 않아서 적절한 확인인지는 모르겠지만, 문제 없이 잘 나옵니다.
특별히 문제 없고 괜찮은 듯 합니다.
OLED 같이 항상 그 자리에 놓고 전원을 인가하는 module 일 경우는, 3.3V / GND 에 항상 연결해 놓고 사용해도 편할 것 같습니다.
6. 주의사항
아래 URL 에서 자세한 주의사항 및 spec. 정보가 있었습니다.
- http://www.petervis.com/Raspberry_PI/Breadboard_Power_Supply/YwRobot_Breadboard_Power_Supply.html
이 사이트에서도 제품을 받고 사양을 믿고 바로 사용하지 말고, 꼭 디지털 미터기로 측정한 다음 사용해라고 나와 있습니다.
또한 어뎁터도 가능한 6.5V 근처의 것을 사용하라고 권장하고 있습니다.
이는, 어차피 5V / 3.3V 로 떨어트려 사용하므로, 레귤레이터에 무리가 없게 하려면, 낮으면 낮을 수록 좋을것 같습니다.
흠흠... 그렇군.
FIN
하나씩 알아가는 재미가 쏠쏠합니다.
'Hardware' 카테고리의 다른 글
Hardware | LED bar graph 를 이용해 보자 (0) | 2017.08.13 |
---|---|
Hardware | Soil Moisture Sensor 구동해 보기 (0) | 2017.08.02 |
Hardware | Raindrops 모듈 구동해 보기 (0) | 2017.07.30 |
Hardware | 저항을 구매해 보자 (0) | 2017.07.29 |
Hardware | DS18B20 온도센서 (17) | 2017.07.29 |
1. 자동 와이퍼
요즘 차들은 비가 오기시작하면 자동으로 알아서 와이퍼가 움직여 줍니다.
또한 비의 양에 따라 와이퍼의 속도도 조절되죠.
어떤 센서가 있는지 찾다 보니, "Raindrop Senseor" 라는게 있네요.
안해볼 이유를 찾을 수 없습니다. 바로 구입해야죠.
2. 주문
역시 나의 친구 AliExpress. 역시 좋은게 있네요.
고마워요 무료배송.
3. 도착
도착샷 입니다.
잘(?) 포장해서 왔군요. 뭐 항상 이렇습니다.
검출부와 제어부로 되어 있네요.
센서가 양면으로 되어 있습니다.
컨트롤부의 자세한 사진입니다.
전원 LED가 있고, 비를 인식할때 켜지는 LED가 따로 있습니다.
감도 조절도 할 수 있네요.
뒷면은 MH-Sensor-Serise 라고 적혀 있습니다.
이게 Raindrop 전용이 아니라, +/- 를 통해서 입력받는 센서들 정보를 Arduino / Raspberry Pi 와 통신하기 위한 모듈로 보입니다.
다른 센서에서도 같이 쓰이는 사진을 발견했습니다. 완벽하게 똑같네요.
아래는 사양서 입니다.
4. Layout
Pin 배열은 다음과 같습니다.
MH-Sensor-Series | Arduino Nano --------------------------------- VCC | 5V GND | GND D0 | D2 A0 | A0 --------------------------------- 128X64 OLED | Arduino Nano ---------------------------- GND | GND VCC | 3.3V SDA | A4 SDL | A5 ----------------------------
빵판 구성입니다.
이번에는 OLED 도 같이 연결해 봤습니다.
5. Sketch
소스 스케치 입니다.
#include "SPI.h" #include "Wire.h" #include "Adafruit_GFX.h" #include "Adafruit_SSD1306.h" #include "stdint.h" #define OLED_RESET 4 Adafruit_SSD1306 display(OLED_RESET); int nRainIn = A1; int nRainDigitalIn = 2; int nRainVal; boolean bIsRaining = false; String strRaining; void setup() { Serial.begin(57600); pinMode(2,INPUT); display.begin(SSD1306_SWITCHCAPVCC, 0x3C); } void loop() { nRainVal = analogRead(nRainIn); bIsRaining = !(digitalRead(nRainDigitalIn)); if(bIsRaining) { strRaining = "YES"; } else { strRaining = "NO"; } // clear the buffer display.clearDisplay(); Serial.print("Raining: "); Serial.print(strRaining); Serial.print("\t Moisture Level: "); Serial.println(nRainVal); // text display tests display.setTextSize(1); display.setTextColor(WHITE); display.setCursor(0,0); display.print("Raining: "); display.print(strRaining); display.setCursor(0,10); display.print("Moisture Level: "); display.print(nRainVal); display.display(); delay(1000); }
Serial Monitor 를 사용하지 않고 OLED 를 사용하니, PC 를 키지 않아도 좋네요.
6. 결과
1초 간격으로 비가 감지되었는지, 습도는 어느정도인지 표시해 줍니다.
이때는 LED가 전원쪽에만 켜집니다.
감지부에 물이 떨어지면, 꺼져있던 LED가 켜지고 비가 온다고 "YES" 로 표시가 변합니다.
OLED 와 LED 를 확대한 사진입니다.
물을 닦으면 바로 Raining 부분이 "NO" 로 변경됩니다.
감도는 좋네요.
아래는 과정을 보여주는 동영상 입니다.
FIN
이번 비오는 센서는 전기와 물이라는 서로 친화적인 특성인지 몰라도
반응이 아주 좋았습니다.
'Hardware' 카테고리의 다른 글
Hardware | Soil Moisture Sensor 구동해 보기 (0) | 2017.08.02 |
---|---|
Hardware | MB102 Breadboard Power Supply Module 를 사용해 보자 (0) | 2017.07.31 |
Hardware | 저항을 구매해 보자 (0) | 2017.07.29 |
Hardware | DS18B20 온도센서 (17) | 2017.07.29 |
Hardware | Flash ROM 복구기 (10) | 2017.07.24 |
1. 저항이 필요해
저항은 센서를 구동함에 있어 전압을 맞추기 위해 여러모로 필요합니다.
특히 LED 나 온도센서들은 민감해서 꼭 저항이 필수 입니다.
Arduino 취미에 있어서는 몇개쯤 구입해 놔야겠죠?
(콘덴서도 필요한데...)
2. 저항의 종류
AliExpress 에서 쉽게 찾아볼 수 있는 저항에는 두가지가 있습니다.
우리가 학교다닐 때 쉽게 접했던 누런색 바탕의 저항이 "탄소" 저항입니다.
요즘 전자기기를 분해해 보면 파란색 바탕의 저항이 "메탈" 저항입니다.
어떤것을 구매하는게 좋을까요? 찾아 봤습니다.
* 탄소 피막 저항
저렴하고 널리 쓰이는 유형으로 세라믹 기판에 탄소화합물 피막을 입힌 것.
열에 의한 값이 변하여, 정확도가 중요한 회로에서는 메탈 피막 저항기를 대체해서는 안된다고 합니다.
* 메탈 피막 저항
세라믹 봉에 금속 박을 얇게 증착시키고 홈을 파서 저항으로 만든 것.
1%의 정밀도도 쉽게 낼 수 있으며 온도에 따른 성능 변화도 적습니다.
하늘색 바탕에 색띠가 다섯 줄이면 1% 금속 피막 저항이라고 생각하셔도 좋습니다.
다만 와트 수를 높이기가 무척 어렵다는 것이 단점이라고 합니다.
시중에서도 1/8, 1/4, 1/2W까지는 비교적 쉽게 구할 수 있으나,
1W의 것은 찾기 어렵고, 2W이상은 생산되지 않는다고 보면 된다 합니다.
* 출처
- http://blog.naver.com/casalsaudio/80061879019
- http://blog.naver.com/paynoh/10171240920
자고로 "메탈 피막 저항"을 구매해야 하는군요.
3. 구매
AliExpress 에서 검색하면 많이 나옵니다.
저는 아래 재품을 구입하였습니다.
사실 300개라고 하지만, 저항이 여러가지라 그리 많은게 아닙니다.
테스트를 위해서는 가변저항을 향후 생각해 봐야겠네요.
무료배송에 이 가격이면 정말 고민이 되지 않습니다.
4. 도착
3주만에 도착했습니다. 그리 늦은건 아니죠.
같은 저항이 10개씩 묶음으로 들어 있습니다.
펼쳐봤습니다.
저항 종류는 다음과 같습니다.
10Ω 22Ω 47Ω 100Ω 150Ω 200Ω 220Ω 270Ω 330Ω 470Ω 510Ω 680Ω 1KΩ 2KΩ 2.2KΩ 3.3KΩ 4.7KΩ 5.1KΩ 6.8KΩ 10KΩ 20KΩ 47KΩ 51KΩ 68KΩ 100KΩ 220KΩ 300KΩ 470KΩ 680KΩ 1MΩ
왠만한 회로에서 여구하는 것은 다 있는것 같아요.
5. Sampling
LED 하면서 사용한 220Ω 을 측정해 봤습니다.
그리 나쁘지 않네요.
동일한 값의 다른 저항도 측정해 보니 비슷합니다.
그럼 조금 큰값인 2.2kΩ 을 측정해 봤습니다.
쓸만 한것 같습니다.
FIN
콘덴서는 한국제품 (예를 들면 삼양) 이 좋다고 하여 국산을 사보려 합니다.
'Hardware' 카테고리의 다른 글
Hardware | MB102 Breadboard Power Supply Module 를 사용해 보자 (0) | 2017.07.31 |
---|---|
Hardware | Raindrops 모듈 구동해 보기 (0) | 2017.07.30 |
Hardware | DS18B20 온도센서 (17) | 2017.07.29 |
Hardware | Flash ROM 복구기 (10) | 2017.07.24 |
Hardware | Arduino Micro 구입기 (0) | 2017.07.23 |
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. 시작
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 |