'aliexpress'에 해당되는 글 152건
- 2021.02.16 Hardware | CJMCU-103 Rotary Angle Sensor 6
- 2021.02.02 Hardware | ESP-12 사용기 6
- 2021.02.01 Hardware | Digi-Key 에서 전자부품 주문해 보기 2
- 2021.01.08 Hardware | ESP-07 사용기 2
- 2020.10.30 Hardware | ebook 크레마 사운드 계열 액정 수리기 - 8 6
- 2020.10.26 Hardware | Transistor Tester 무선충전 upgrade
- 2020.10.25 Hardware | 아이폰 8 액정 수리기
- 2020.10.07 Hardware | Fuji Xerox CP116w 수리 성공기 52
- 2020.08.17 Hardware | ESP-03 사용기
- 2020.08.14 Hardware | ZE08-CH2O Formaldehyde 센서 사용해보기 4
1. Rotary Angle Sensor
AliExpress 에서 다음과 같은 센서 모듈을 발견했습니다.
이름하여 Rotary Angle Sensor, 또는 Trimmer Potentiometer Position Sensor.
바로 구입 Go Go.
* WAVGAT CJMCU-103 Rotary Angle Sensor SMD Dust-Proof Angle Sensing Potentiometer Module SV01A103AEA01R00
- https://www.aliexpress.com/item/32965337207.html
재원은 다음과 같습니다.
* Package : 1 x CJMCU-103 rotation angle sensor
* Category : Sensors, Transducers
* Family : Position Sensors - Angle, Linear Position Measuring
* Series : SV01
* For Measuring : Rotary Position
* Technology : Resistive
* Rotation Angle - Electrical, Mechanical : 0° ~ 333.3°, Continuous
* Output : Analog Voltage Output
* Actuator Type : Hole for Shaft
* Linearity : ±2%
* Resistance (Ohms) : 10k
* Resistance Tolerance : ±30%
* Mounting Type : Surface Mount
* Termination Style : SMD (SMT) Tab
* Operating Temperature : -40°C ~ 85°C
* Supply Voltage : DC 5V
* Rotation Life : 300K times
* Rotational Torque : 1mN.m (Ref. : 10.5gf.cm)
* Module Size: 28.1mm*13.1mm*3.8mm with two M3 mounting holes
2. 도착
2개원 걸려서 겨우 도착.
구조는 너무 단순합니다. Breakout board 에는 센서 뿐만 아니라, 신호 잡음을 없애주기 위한 캐패시터가 달려 있습니다.
뒷면에는 HW-526 이라고 씌여 있네요.
3. 연결
연결은 단순합니다. 5V / GND 연결해 주고, Analog 신호를 연결하면 됩니다.
실제 연결한 사진입니다.
로보트 손의 움직임 각도 feedback 센서로도 사용되는 동영상도 있었습니다.
* Joint rotation sensor for pneumatic haptic VR glove
- https://www.youtube.com/watch?v=IRiHUFv2rdI
4. Source
Input voltage 5V 기준으로 1024 level 쪼개고, Analog 에서 333 각도로 matching 시키는 방법입니다.
이것을 sketch 로 옮기면 다음과 같아집니다.
long vol_01, vol_02;
void setup() {
Serial.begin(115200);
Serial.println("Trimmer Potentiometer Linear Position Sensor");
}
void loop() {
vol_01 = analogRead(A1);
vol_02 = map(vol_01, 0, 1023, 0, 333);
Serial.print("Angle is = ");
Serial.println(vol_02);
delay(500);
}
Arduino IDE 의 Serial Monitor 를 보면 잘 나옵니다.
5. 구동
구동 동영상과 사진을 올려 봅니다.
새로운 에디터로 글을 작성하다 보니, center 도 안먹고 (정확히는 editor 가 지워버리고) 난리네요... 원하는 대로 글 작성이 힘듭니다.
Input 5V 가 아니라, 3.3V 로 하면 기준 전압 level 이 낮아지므로, 333 나와야할 max 값이 242 값이 됩니다.
즉, 3.3V 기준으로 프로그래밍 하면, 3.3V 를 1024로 나누어서 값이 나올 듯 합니다. 궂이 5V 일 필요는 없네요.
Input 5V 로 하면, 초기 예상한 대로 333 이 max 값으로 나옵니다.
Serial Plotter 로 찍어보면, 한바퀴 돌면서 5V = 333 및 3.3V = 242 를 각각 max 값으로 찍는 것을 알 수 있어요.
동영상도 올려 봅니다.
간단하게 Trimmer Potentiometor 에 대해 사용해 봤습니다.
나중에 움직임 제어에 있어 피드팩 시스템이 필요할 때, 사용하면 되겠네요.
FIN
'Hardware' 카테고리의 다른 글
Software | Blogger 로 이사하기 (6) | 2021.04.11 |
---|---|
Hardware | 보조배터리 분해해 보기 (0) | 2021.02.11 |
Hardware | ESP-12 사용기 (6) | 2021.02.02 |
Hardware | Digi-Key 에서 전자부품 주문해 보기 (2) | 2021.02.01 |
Hardware | TIMER 수리기 (6) | 2021.01.21 |
ESP-01 부터 시작한 ESP8266 시리즈 중, 이번에는 ESP-12 사용기 입니다.
* Hardware | ESP-07 사용기
- https://chocoball.tistory.com/entry/Hardware-ESP07-using
* Hardware | ESP-03 사용기
- https://chocoball.tistory.com/entry/Hardware-ESP03-using
* Hardware | ESP-01 or ESP8266 사용기 - 5
- https://chocoball.tistory.com/entry/Hardware-ESP01-or-ESP8266-using-5
* Hardware | ESP-01 or ESP8266 사용기 - 4
- https://chocoball.tistory.com/entry/Hardware-ESP01-or-ESP8266-using-4
* Hardware | ESP-01 or ESP8266 사용기 - 3
- https://chocoball.tistory.com/entry/Hardware-ESP01-or-ESP8266-using-3
* Hardware | ESP-01 or ESP8266 사용기 - 2
- https://chocoball.tistory.com/entry/Hardware-ESP01-or-ESP8266-using-2
* Hardware | ESP-01 or ESP8266 사용기 - 1
- https://chocoball.tistory.com/entry/Hardware-ESP01-or-ESP8266-using-1
1. 구입
일전에 구입한 ESP-07 와 동일한 업자에게서 구입.
* ESP8266 ESP-01 ESP-01S ESP-07 ESP-12E ESP-12F remote serial Port WIFI wireless module intelligent housing system Adapter 2.4G
- https://www.aliexpress.com/item/32339917567.html
도착 샷.
Pinout 정보가 새겨진 뒷면.
2. Pinout
ESP8266EX 칩을 충분히 활용할 수 있는 Pinout 구성으로 되어 있습니다.
3. Breakout 보드
중간의 0 ohm 을 제거해 주면, 뒷 면의 Voltage Regulator 를 사용할 수 있게 됩니다.
이는 ESP-07 에서도 다루었던 내용이라, 자세한 내용은 생략합니다.
4. Diagram
Programming (Flashing) 하는 연결도와 Normal (구동) 하기 위한 연결도는 다릅니다. 아래 사이트에서 정보를 얻었습니다.
* Programming ESP8266 ESP-12
- https://www.instructables.com/Programming-ESP8266-ESP-12/
* Programming Mode
Flash 메모리에 새로은 firmware 나 source 를 올리기 위한 mode 입니다.
차이는 IO0 / 18 번 pin 을 pull-up 해주냐 마냐의 차이.
* Normal Use Mode (after Upload)
위의 Programming 모드와 Normal 모드를 결합한 연결 구성 입니다.
이 Programming mode 로 진입하기 위해서는, 스위치 버튼 눌러주면서 전원을 on 하면 됩니다.
실제 구성 사진은 다음과 같습니다.
사실은 Breakout 보드에 ESP-12 를 결합해 놨으므로, Breakout 보드상에 이미 장착된 저항을 이용하면, 추가로 저항 2개만 필요합니다.
위 / 아래 연결 구성은 Breakout 보드가 없을 때의 모습이지만, 필요한 Pin 에 Voltage/Ground 가 연결되어 있으므로 문제 없이 동작합니다.
ESP2866 계열에서는 그나마 끝판왕인 ESP-12 가 연결된 모습.
5. 기본 확인
기본으로 올려진 Firmware version 과 몇 가지 명령어 시험.
기본 버전은 2016년의 1.3.0.0 이군요.
AT+RST 를 이용하여 rebooting. 사용된 Flash Chip 정보를 알 수 있습니다. QIO 모드이면서 32Mbit (512KB+512KB) 라고 나옵니다.
32Mbit 면 1024KB+1024KB 일 듯 한데... 일단 넘어 갑니다.
Internet 에 연결하여 AT+CIUPDATE 실행을 통하여 원격 update 를 시도해 봤으나, ERROR 를 냅니다. 역시나 옛날 버전.
Flash Chip 은 QUAD : 32Mbit 로 문제 없이 확인 됩니다.
6. Programming
일단은 문제가 없는 듯 하니, source 를 올려 봅니다. 테스트 해볼 소스는 Blink 와 CheckFlashConfig.
CheckFlashConfig 소스는 다음과 같습니다.
/* ESP8266 CheckFlashConfig by Markus Sattler This sketch tests if the EEPROM settings of the IDE match to the Hardware */ void setup(void) { Serial.begin(115200); } void loop() { uint32_t realSize = ESP.getFlashChipRealSize(); uint32_t ideSize = ESP.getFlashChipSize(); FlashMode_t ideMode = ESP.getFlashChipMode(); Serial.printf("Flash real id: %08X\n", ESP.getFlashChipId()); Serial.printf("Flash real size: %u bytes\n\n", realSize); Serial.printf("Flash ide size: %u bytes\n", ideSize); Serial.printf("Flash ide speed: %u Hz\n", ESP.getFlashChipSpeed()); Serial.printf("Flash ide mode: %s\n", (ideMode == FM_QIO ? "QIO" : ideMode == FM_QOUT ? "QOUT" : ideMode == FM_DIO ? "DIO" : ideMode == FM_DOUT ? "DOUT" : "UNKNOWN")); if (ideSize != realSize) { Serial.println("Flash Chip configuration wrong!\n"); } else { Serial.println("Flash Chip configuration ok.\n"); } delay(5000); }
QIO 및 4MiB 네요. 지금까지 완성품을 구입한 ESP8266 계열에서는 가장 좋은 Flash Chip 을 사용한 모듈 입니다.
소스가 업로드 되는 과정에 있어서도 문제 없습니다. 순탄한 흐름.
esptool.py v2.8 Serial port COM3 Connecting.... Chip is ESP8266EX Features: WiFi Crystal is 26MHz MAC: 50:02:91:78:d3:60 Uploading stub... Running stub... Stub running... Configuring flash size... Auto-detected Flash size: 4MB Compressed 267104 bytes to 196785... Wrote 267104 bytes (196785 compressed) at 0x00000000 in 17.5 seconds (effective 122.3 kbit/s)... Hash of data verified. Leaving... Hard resetting via RTS pin...
보드상에 장착된 LED 를 깜빡이는 소스 입니다.
/* ESP8266 Blink by Simon Peter Blink the blue LED on the ESP-01 module This example code is in the public domain The blue LED on the ESP-01 module is connected to GPIO1 (which is also the TXD pin; so we cannot use Serial.print() at the same time) Note that this sketch uses LED_BUILTIN to find the pin with the internal LED */ void setup() { pinMode(LED_BUILTIN, OUTPUT); // Initialize the LED_BUILTIN pin as an output } // the loop function runs over and over again forever void loop() { digitalWrite(LED_BUILTIN, LOW); // Turn the LED on (Note that LOW is the voltage level // but actually the LED is on; this is because // it is active low on the ESP-01) delay(1000); // Wait for a second digitalWrite(LED_BUILTIN, HIGH); // Turn the LED off by making the voltage HIGH delay(2000); // Wait for two seconds (to demonstrate the active low LED) }
예상한 것과 달리 문제 없이 동작.
지금까지 ESP8266 가지고 놀았던 과정 중, 전혀 문제 없이 여기까지 왔습니다.
ESP8266 을 Flashing 하는 작업은 이제 통달 한 듯 한 느낌.
7. Firmware Update
최신 firmware 를 사용합니다. 2020년에 공개된 Non-OS SDK 3.0.4 를 이용합니다.
Firmware upload 에 필요한 BIN 파일 및 Address 는, 최신 문서에 잘 나와 있습니다.
4a-esp8266_at_instruction_set_en.pdf
32 Mbit (4 MiB) 버전이므로, 아래 section 을 찾아 BIN / Address 정보를 그대로 사용합니다.
--------------------------------------------------------------------------------------------- | BIN | Address | Description | --------------------------------------------------------------------------------------------- | boot_v1.7.bin | 0x00000 | In /bin/at. | --------------------------------------------------------------------------------------------- | user1.2048.new.5.bin | 0x01000 | In /bin/at/1024+1024. | --------------------------------------------------------------------------------------------- | blank.bin | 0x3FB000 | Initializes RF_CAL parameter area. | --------------------------------------------------------------------------------------------- | esp_init_data_default_v08.bin | 0x3FC000 | Stores default RF parameter values, | | | | has to be downloaded into flash at least once. | | | | If the RF_CAL parameter area is initialized, | | | | this bin has to be downloaded too. | --------------------------------------------------------------------------------------------- | blank.bin | 0xFE000 | Initializes Flash user parameter area, | | | | more details in Appendix. | --------------------------------------------------------------------------------------------- | blank.bin | 0x3FE000 | Initializes Flash system parameter area, | | | | more details in Appendix. | ---------------------------------------------------------------------------------------------
Flash chip 용량이 크고, SPI Mode 도 빠르기 때문에, 1024 KB + 1024 KB (32 Mbit-C1) 버전으로 입혀 봅니다.
별다른 문제 없이 성공. 최신 버전인 AT - 1.7.4 / SDK - 3.0.4 가 올라 갔습니다.
AT+RST 를 이용하여 rebooting sequence 를 보면, QIO / 32Mbit(1024KB+1024KB) 로 잘 동작 합니다.
참고로, "SpiAutoSet" 을 키고 업로드 하면, 강제로 32Mbit 으로 변경됩니다.
1024 KB + 1024 KB (32 Mbit-C1) 버전용 BIN / Address 를 사용하고 있으므로, 메뉴얼로 32Mbit-C1 을 선택해 줘야 합니다.
8. AT Command 확인
Internet 접속 및 전번적인 확인 작업. 특별히 문제 없슴.
* AT+CWMODE_CUR : Sets the Current Wi-Fi mode; Configuration Not Saved in the Flash
- 1: Station mode
- 2: SoftAP mode
- 3: SoftAP+Station mode
* AT+CWLAP : Lists Available APs
* AT+CWJAP_CUR : Connects to an AP; Configuration Not Saved in the Flash
* AT+CIFSR : Gets the local IP address
* AT+PING="www.google.com" : Ping packets
* AT+CIPSTATUS : Gets the connection status
* AT+CIPBUFSTATUS : Checks the status of TCP-send-buffer
* AT+CWQAP : Disconnects from the AP
AP 와 연결을 끊으면, internet 연결 정보가 깔끔하게 reset 되지 않고 일정 시간동안 남아 있습니다.
시간이 지나고 다시 확인하면 reset 되어 있슴.
* AT+CIUPDATE : Upgrades the software through network
역시 최신 firmware 라 그런지, FOTA - 인터넷을 통한 firmware update 가 가능합니다.
Firmware update 하면서 LED 가 깜빡거리는 모습이 좋아, 동영상으로 담아 봤습니다.
* AT+RESTORE : Restores the Factory Default Settings
모든 확인이 끝났습니다. 앞으로 sensor 들과 같이 활용할 기회에 사용하면 되겠네요.
FIN
중국 제조사 답게 WeChat 관련한 옵션이 새로 추가되었습니다.
'Hardware' 카테고리의 다른 글
Hardware | CJMCU-103 Rotary Angle Sensor (6) | 2021.02.16 |
---|---|
Hardware | 보조배터리 분해해 보기 (0) | 2021.02.11 |
Hardware | Digi-Key 에서 전자부품 주문해 보기 (2) | 2021.02.01 |
Hardware | TIMER 수리기 (6) | 2021.01.21 |
Hardware | JLCPCB 에서 PCB 주문을 해보자 (2) | 2021.01.19 |
전자부품 주문은 AliExpress 에서 하나하나 주문해 왔으나, Fake Chip 들이 많고, 없는 부품들이 있어, 이참에 대기업을 이용해 봅니다.
Mouser 와 Digi-Key 가 대표적인데, Mouser 는 배송료가 조금 비싸서, 50 USD 이면 국제배송이 무료이길래 주문해 봅니다.
1. 주문
아래 사이트에서 구매하고 싶은 부품들을 골라서 장바구니에 담습니다.
* Digi-Key
동일한 부품이라도, 최소 주문 수량이 정해져 있어 잘 골라야 합니다. 1000개 기본 주문 같은 것들이 있습니다.
그리고 packaging 타입도 있습니다. 작은 chip 들은 Real 타입이면 문제 없습니다. 벌크 Real 에서 개수만큼 잘라서 보내줍니다.
장바구니에 담고 Order 로 진행하면, 지불 신용카드를 등록합니다.
한 번 신용카드가 등록되고 나면, 자본주의의 향연을 맛 볼 수 있습니다.
2. 도착
DHL 은 문제가 있는 듯 한데, 국제 FedEx 는 한 번도 문제가 없었네요. 신용이 갑니다. 1주일 만에 도착 했습니다.
국내에서의 배송은, 우체국아나 국내 배송업체가 인수하여 배달 오는데, 희한하게도 "냉장냉동" 딱지를 붙여서 왔어요.
집에 오니, 포장이 뜯어져 있습니다. 아... 나의 언박싱의 즐거움이 저 멀리... ㅠㅠ
가족들은 이게 뭔지 알 수가 없으니, 혹시 몰라 대신 언박싱 해줬다 합니다.
Digi-Key 한정 박스. This is "Digi-Key" 를 말하고 있습니다. 브렌딩에 신경을 많이 쓴 것 같습니다.
3. 포장
환경 친화적인 부직포나 종이들로 충격 흡수제가 들어 있습니다. 그리고 Invoice.
각 전자부품들은 제품 보관 요구사항에 맞도록 각각 다르게 포장되어 있습니다.
습도나 부식에 민감한 부품이나, 조금 가격이 나가는 부품은 실리카겔과 습도 상황을 보여주는 리트머스 같은 종이와 함께 완전 포장.
정전기 방지용 포장지도 신경을 많이 쓴 흔적입니다. 이쪽 관련 전문 포장지 제조 회사가 만든 제질인 듯 합니다.
SCS Moisture Barrier Bag / DRI-SHIELD 3400 등, 전문가적인 문구들로 가득 합니다.
온도 습도에 대해 강하게 설계함... 같은 문구들로 가득 합니다.
계산서.
각 부품의 번호, 관리 번호, 배송 3D QR Code, 상태, 등 자세하게 표기되어 있습니다.
FIN
부품들이 도착했으니, 주말에는 행복한 DIY 입니다.
다음에 기회가 되면 Mouser 에서도 구입해 보고 사용기 올려 보도록 하겠습니다.
'Hardware' 카테고리의 다른 글
Hardware | 보조배터리 분해해 보기 (0) | 2021.02.11 |
---|---|
Hardware | ESP-12 사용기 (6) | 2021.02.02 |
Hardware | TIMER 수리기 (6) | 2021.01.21 |
Hardware | JLCPCB 에서 PCB 주문을 해보자 (2) | 2021.01.19 |
Hardware | ESP-07 사용기 (2) | 2021.01.08 |
ESP8266 시리즈를 사용해 보면서, ESP-01 부터 시작하여 ESP-03 을 사용해 보았습니다.
* Hardware | ESP-03 사용기
- https://chocoball.tistory.com/entry/Hardware-ESP03-using
* Hardware | ESP-01 or ESP8266 사용기 - 5
- https://chocoball.tistory.com/entry/Hardware-ESP01-or-ESP8266-using-5
* Hardware | ESP-01 or ESP8266 사용기 - 4
- https://chocoball.tistory.com/entry/Hardware-ESP01-or-ESP8266-using-4
* Hardware | ESP-01 or ESP8266 사용기 - 3
- https://chocoball.tistory.com/entry/Hardware-ESP01-or-ESP8266-using-3
* Hardware | ESP-01 or ESP8266 사용기 - 2
- https://chocoball.tistory.com/entry/Hardware-ESP01-or-ESP8266-using-2
* Hardware | ESP-01 or ESP8266 사용기 - 1
- https://chocoball.tistory.com/entry/Hardware-ESP01-or-ESP8266-using-1
이번에는 ESP-07 입니다.
1. 구입
아래 AliExpress 링크에서 구입 했습니다.
ESP-12 도 함께 구입 했으니, 이 글 다음에는 ESP-12 에 대해서도 다뤄 보도록 하겠습니다.
* ESP8266 ESP-01 ESP-01S ESP-07 ESP-12E ESP-12F remote serial Port WIFI wireless module intelligent housing system Adapter 2.4G
- https://www.aliexpress.com/item/32339917567.html
도착 샷. 깡통 쉴드로 전자파 차폐가 되어 있습니다.
PCB 밑부분은 IO Pin 정보가 기재되어 있습니다.
제조는 DOITING 이라는 회사인 듯 한데, PCB 는 AI-Thinker 로 보이네요. 설계가 동일한지라 완전 짬뽕.
Pinout 정보 입니다.
2. Breakout Board
ESP-03 때도 사용 했었지만, EPS-07 / ESP-12 도 Breakout 보드에 올렸습니다.
이 Breakout 보드가 없으면, 2.54mm 의 Pin 간격이 맞지 않아 빵판에서 그 대로 사용할 수 없게 되어 있습니다.
주의해야 할 사항으로는, Voltage Regulator 를 추가로 장착시에는 중간에 보이는 "0" resistor 를 제거해야 정상 동작 됩니다.
* Adding Wi-Fi telemetry to the Pixhawk flight controller with an ESP8266 module
혹시 모를 전압 문제를 방지하고자, Voltage Regulator 를 장착 했습니다.
사실 3.3V 만 제대로 넣어 주면 상관 없는 것이긴 한데, 기판에 활용을 할 수 있게 해 놨으니 사용해 봅니다.
5V 를 인가하면, 3.3V 로 바꿔서 ESP-07 에 전압을 인가해 줍니다.
중간에 보이는 "0" ohm 저항은 이쁘게 제거.
그 위에 ESP-07 을 얹어 줍니다.
CH_PC 을 측정해 보면, 자동으로 전압이 Pull-down 되어 있는 것을 알 수 있습니다.
3. Diagram
Pinout 정보를 기반으로 연결해 보면 아래와 같이 됩니다.
다만, Breakout 보드에 Voltage Regulator 이외에, 필요한 Pull-down 저항이 구비되어 있으니, 연결은 좀 더 간단하게 할 수 있습니다.
* How to prepare your ESP8266 (ESP-12) for flashing
- https://www.sensate.io/tutorial-how-to-prepare-your-esp8266-esp-12-for-flashing
아래는 Breakout 보드가 없는 경우의 생 연결도 입니다.
아래는 Breakout 보드를 사용 했을 때의 연결도 입니다. (저의 경우)
Breakout 보드가 있더라도 Breakout 보가 없는 연결 방법을 해도 문제는 없으나,
이왕이면 정식 + 간단한 방법인 연결을 사용하면 되겠습니다.
실제 연결 모습은 아래와 같습니다.
4. 기본 Firmware 확인
기본 firmware 이 장착된 상태 이니, 어떤 version 인지 확인해 봅니다.
1.1.0.0 이고, 2016년 병신년 버전이네요.
AT+RST 하면, 보통 Flash Chip 정보도 나옵니다만, 예전 버전이라서 그런지 그딴거 없습니다.
Internet 연결 후, AT+CIUPDATE 를 해봐도 ERROR 만 반겨 줍니다.
5. 삽질의 향연
새로운 Firmware 를 올리고 시험해 봤으나, 아래와 같이 err 만 내 뱉습니다.
또한, BAUD Rate 가 74880 baud 의 변태적인 설정에서만 문자가 보이는 것이 맘에 들지 않더군요.
ESP8266 DOWNLOAD TOOL 에서 ERASE 후, firmware 올려도 동일한 현상입니다.
* 문제 1 : 적절한 Board 선택
첫 번째 문제는, Flash Chip 확인 위한 소스를 올릴 때, Generic ESP8266 Module 이 아니라,
먼저 테스트 했던 ESP-12 Module 용으로 설정 했던 것이 원인이었습니다.
ESP-12 용으로 소스가 입혀지다 보니, memory address 의 시작 지점부터 꼬였었던 것이 아닌가 추측해 봅니다.
* 문제 2 : 적절한 Flash Chip 의 SPI Mode 선택
Flash Chip 의 SPI Mode 가 Q 로 시작하는 QIO / QOUT 으로 설정한 것이 문제였습니다.
Flash Chip 은, ESP8266 DOWNLOAD TOOL 에서 "SpiAutoSet" 을 이용하여 자동 인식을 사용하면 QUAD 로 인식됩니다.
그리하여, 비슷한 QIO 또는 QOUT 로 설정하면 될 것 같으나, 사실은 DOUT 로 설정해야 정상 동작 합니다.
정상적일 때, Flash Chip 인식 소스를 이용하여 확인해 봐도, DOUT 으로 확인이 가능합니다.
File > Examples > ESP8266 > CheckFlashConfig
/* ESP8266 CheckFlashConfig by Markus Sattler This sketch tests if the EEPROM settings of the IDE match to the Hardware */ void setup(void) { Serial.begin(115200); } void loop() { uint32_t realSize = ESP.getFlashChipRealSize(); uint32_t ideSize = ESP.getFlashChipSize(); FlashMode_t ideMode = ESP.getFlashChipMode(); Serial.printf("Flash real id: %08X\n", ESP.getFlashChipId()); Serial.printf("Flash real size: %u bytes\n\n", realSize); Serial.printf("Flash ide size: %u bytes\n", ideSize); Serial.printf("Flash ide speed: %u Hz\n", ESP.getFlashChipSpeed()); Serial.printf("Flash ide mode: %s\n", (ideMode == FM_QIO ? "QIO" : ideMode == FM_QOUT ? "QOUT" : ideMode == FM_DIO ? "DIO" : ideMode == FM_DOUT ? "DOUT" : "UNKNOWN")); if (ideSize != realSize) { Serial.println("Flash Chip configuration wrong!\n"); } else { Serial.println("Flash Chip configuration ok.\n"); } delay(5000); }
DOITING 사의 원가 절감이나, Fake Chip 을 이용한 Flash 메모리 구성이 이런 결과를 초래한 것 같습니다.
6. Firmware 최신
하루 동안의 삽질을 끝내고, 겨우 최신 firmware 로 업데이트가 가능 했습니다.
아래 사이트에서 최신 버전의 firmware 를 다운로드 받습니다.
* ESPRESSIF
2021년 1월 기준, V3.0.4 가 최신입니다.
관련 문서를 보면, 8 Mbit = 1MiB Flash 를 update 와 관련한 address 와 해당 파일에 잘 나와 있습니다.
4a-esp8266_at_instruction_set_en.pdf
사용될 파일과 Address 정보는 다음과 같습니다.
--------------------------------------------------------------------------------------------- | BIN | Address | Description | --------------------------------------------------------------------------------------------- | boot_v1.7.bin | 0x00000 | In /bin/at. | --------------------------------------------------------------------------------------------- | user1.2048.new.2.bin | 0x01000 | In /bin/at/512+512. | --------------------------------------------------------------------------------------------- | blank.bin | 0xFB000 | Initializes RF_CAL parameter area. | --------------------------------------------------------------------------------------------- | esp_init_data_default_v08.bin | 0xFC000 | Stores default RF parameter values, | | | | has to be downloaded into flash at least once. | | | | If the RF_CAL parameter area is initialized, | | | | this bin has to be downloaded too. | --------------------------------------------------------------------------------------------- | blank.bin | 0x7E000 | Initializes Flash user parameter area, | | | | more details in Appendix. | --------------------------------------------------------------------------------------------- | blank.bin | 0x3FE000 | Initializes Flash system parameter area, | | | | more details in Appendix. | ---------------------------------------------------------------------------------------------
ESP8266 Download Tool 을 이용하여 Flashing 합니다.
짜잔~~ 최신 버전으로 update 되었습니다.
7. 최신 Firmware 확인
AT+RST 를 통해 booting sequence 를 확인해 봅니다.
SPI Mode 가 DOUT 이며, 8Mbit (512KB+512KB) 버전이라는 것을 알 수 있습니다.
Internet 연결을 위한 AT 명령어들을 차례로 확인해 봅니다.
* AT+CWMODE_CUR=3 : Sets the Current Wi-Fi mode. Configuration Not Saved in the Flash.
-- 1: Station mode
-- 2: SoftAP mode
-- 3: SoftAP+Station mode
* AT+CWLAP : Lists Available APs
* AT+CWJAP_CUR : Connects to an AP; Configuration Not Saved in the Flash
* AT+CIFSR : Gets the local IP address
* AT+PING="www.google.com" : Ping packets
* AT+CIPSTATUS : Gets the connection status
* AT+CIPBUFSTATUS : Checks the status of TCP-send-buffer
* AT+CIUPDATE : Upgrades the software through network
최신버전이라서 그런지, 인터넷을 통한 업데이트도 잘 됩니다.
신기한건, 분명 동일한 소스인데, 이렇게 인터넷을 통해 업데이트 하면 compile time 이 3초 (17초에서 20초로 변경) 정도 차이 납니다.
또한, jump to run user2 @ 81000 이라고 뜨면서, user 와 그 뒤의 숫자가 변경됩니다. 아마 모드가 바뀌면서 그런 듯.
* AT+RESTORE : Restores the Factory Default Settings
RESTORE 를 사용하면, 공장 초기화 및 rebooting 을 합니다.
궁금하여, AT+CIUPDATE 를 한번 더 했더니만, user 와 숫자가 원래 대로 되돌아 왔습니다.
Running 과 Control 모드, 두 개가 각각 번갈아 가면서, 동작을 관장 하는 것 같네요.
참고로, AT+CIUPDATE 동작하는 동영상을 올립니다. 다운로드 > Flashing > rebooting 의 일련의 과정이 한 번에 일어납니다.
8. Source 확인
Blink 소스를 올려 봤습니다.
File > Examples > ESP8266 > Blink
/* ESP8266 Blink by Simon Peter Blink the blue LED on the ESP-01 module This example code is in the public domain The blue LED on the ESP-01 module is connected to GPIO1 (which is also the TXD pin; so we cannot use Serial.print() at the same time) Note that this sketch uses LED_BUILTIN to find the pin with the internal LED */ void setup() { pinMode(LED_BUILTIN, OUTPUT); // Initialize the LED_BUILTIN pin as an output } // the loop function runs over and over again forever void loop() { digitalWrite(LED_BUILTIN, LOW); // Turn the LED on (Note that LOW is the voltage level // but actually the LED is on; this is because // it is active low on the ESP-01) delay(1000); // Wait for a second digitalWrite(LED_BUILTIN, HIGH); // Turn the LED off by making the voltage HIGH delay(2000); // Wait for two seconds (to demonstrate the active low LED) }
이쁘게 잘 동작 합니다.
FIN
'Hardware' 카테고리의 다른 글
Hardware | TIMER 수리기 (6) | 2021.01.21 |
---|---|
Hardware | JLCPCB 에서 PCB 주문을 해보자 (2) | 2021.01.19 |
Hardware | 필립스 HR2195 믹서기 수리기 (0) | 2021.01.07 |
Hardware | bGeigie Nano 충전을 wireless 로 바꿔보자 (0) | 2021.01.06 |
Hardware | Anker PowerConf 간단 사용기 (0) | 2020.11.04 |
지금까지의 크레마 계열 수리기는 다음과 같습니다.
* Hardware | ebook 크레마 사운드 액정 수리기 - 7
- https://chocoball.tistory.com/entry/Hardware-crema-sound-screen-fix-7
* Hardware | ebook 크레마 사운드 액정 수리기 - 6
- https://chocoball.tistory.com/entry/Hardware-crema-sound-screen-fix-6
* Hardware | ebook 크레마 사운드 액정 수리기 - 5
- https://chocoball.tistory.com/entry/Hardware-crema-sound-screen-fix-5
* Hardware | ebook 크레마 사운드업 액정 수리기 - 4
- https://chocoball.tistory.com/entry/Hardware-crema-soundup-screen-fix-4
* Hardware | ebook 크레마 사운드 액정 수리기 - 4
- https://chocoball.tistory.com/entry/Hardware-crema-sound-screen-fix-4
* Hardware | ebook 크레마 사운드 액정 수리기 - 3
- https://chocoball.tistory.com/entry/Hardware-crema-sound-screen-fix-3
* Hardware | ebook 크레마 사운드업 액정 수리기 - 3
- https://chocoball.tistory.com/entry/Hardware-crema-soundup-screen-fix-3
* Hardware | ebook 크레마 사운드업 액정 수리기 - 2
- https://chocoball.tistory.com/entry/Hardware-crema-soundup-screen-fix-2
* Hardware | ebook 크레마 사운드 액정 수리기 - 2
- https://chocoball.tistory.com/entry/Hardware-crema-sound-screen-fix-2
* Hardware | ebook 크레마 사운드 액정 수리기 - 1
- https://chocoball.tistory.com/entry/Hardware-crema-sound-screen-fix-1
* Hardware | ebook 크레마 사운드업 액정 수리기
- https://chocoball.tistory.com/entry/Hardware-crema-soundup-screen-fix
이번 글로, 크레마 사운드 계열 수리는 12번째가 됩니다.
원래는 무보수 수리를 하지 않기로 했으나, 두 분께서 간곡히 부탁하는 바람에 한꺼번에 진행했습니다.
정말로 마지막.
1. 크레마 사운드업 도착
우선 크레마 사운드업이 도착 했습니다.
뽁뽁이를 잘 싸아 주셨군요.
이 분은 저의 수리기를 보시고 도전 하셨는데, 뚜껑 여는 것 까지는 하시고 나머지에 힘들어 하셔서 도움 드린 케이스 입니다.
분리된 상태로 배달되었습니다. 조금만 더 하시면 되었었는데요.
2. 크레마 사운드 도착
크레마 사운드가 도착 했습니다.
뽁뽁이 대신, 질소 완충제가 들어있는 과자를 사용하셨네요. 센스쟁이십니다.
제가 좋아하는 꼬깔콘과 프린글스, 꽃게랑까지. 받자 마자 그날 다 먹었습니다. 냠냠.
액정 깨진 부분을 보면 거의 비슷한 패턴이 많네요. 요놈도 오른쪽 아래 부분부터 크랙이 발생했습니다.
3. 액정 구매
대체용 액정은 ED060XH7 입니다.
터치센서 일체형으로 가격이 좀 나가지만, 작업 자체는 수월하게 진행할 수 있습니다.
깨진 액정에서 터치센서 건지려다 낭비되는 시간, 터치가 일부 고장난 채로 건지게 되는 등, 스트레스 받는 상황을 해결할 수 있습니다.
자본주의 만세.
* Free shipping ED060XH7 6" eink carta 2 LCD Display screen with backlight and touch for PocketBook touch Lux 3 PB626(2)-D-WW
- https://www.aliexpress.com/item/32864927918.html
꽤 시간이 걸렸네요. 그렇지만 잘 도착해 줬습니다.
두 개가 한꺼번에 배송되었습니다.
지금까지 구매한 물건 중에 가장 깔끔한 제품이 도착했습니다.
한번도 사용되지 않은 완전 새것이 왔네요. 이런 경우는 거의 처음 입니다.
어디 연결된 흔적이나 접힌 부분도 없습니다.
이런 업자에게는 좋은 평가를 줘야 합니다. 별 5개.
4. 사운드업 수리
먼저 사운드업 부터 작업 시작.
이미 뚜껑을 따 놓으셨으니, 깨진 액정만 분리하고 새걸로 끼어주면 됩니다.
뚜껑 따는 수고가 덜었습니다.
메인보드를 분리하고, 깨진 액정을 상판에서 분리합니다. 바깥으로부터 지긋이 밀어주면, 양면 테이프가 이탈됩니다.
신기하게도 저 부분부터 크랙이 생기는 경우가 많습니다.
어찌어찌 잘 분리해 주구요.
액정 뒷면에 붙어있는 쿠션과 아크릴판, 그리고 빛샘을 방지하는 테이프를 벗겨 줍니다.
다시금 새거가 되었습니다.
역시 새 액정은 좋네요. 터치 잘되고, 백라이트 잘 되고, 반응 속도 및 선명도도 좋습니다.
5. 사운드 수리
이제 크레마 사운드 차례.
얼마나 활용을 잘 하셨는지, 모서리쪽 보호 필름이 살짝 벗겨졌습니다.
뚜껑이야 많이 따봐서 쓱싹 진행합니다.
오른쪽 모서리 부분에 눌린 자국이 있는걸 보면, 이쪽으로 충격이 가해진게 아닌가 합니다.
안녕. 크레마는 오랜만이지.
액정은 ED060XH7. 교체용과 같습니다.
초기형이라 그런지, 배터리가 액정 쪽에 붙어 있습니다.
이렇게 되면 분해하기도 힘들고, 액정을 분리하려 해도 계속 메인 보드가 덜렁거리게 됩니다.
배터리와 쿠션 사이의 양면 테이프를 잘 띠어 내고, 액정도 새것으로 교체 했습니다.
배터리 분리 후, 뒷커버에 붙여 줍니다. 이제야 좀 깔끔해 졌네요.
다시금 새것같이 되었습니다.
백라이트, 터치감, 글씨 선명함 확인 문제 없습니다.
이제 진짜로 끝~!
FIN
'Hardware' 카테고리의 다른 글
Hardware | Anker PowerConf 간단 사용기 (0) | 2020.11.04 |
---|---|
Hardware | FILCO ZERO 키보드 수리기 (0) | 2020.11.02 |
Hardware | Transistor Tester 무선충전 upgrade (0) | 2020.10.26 |
Hardware | 아이폰 8 액정 수리기 (0) | 2020.10.25 |
Hardware | INSTOCK PD594A 구입기 (0) | 2020.10.12 |
알리에 처음 눈을 뜨기 시작하던 2017년쯤에 Transistor Tester 라는 것을 구입해서 납때해서 만들고, 잘 사용하고 있었습니다.
전자 부품 테스트 하기에는 이만한 것이 없죠.
* Hardware | Transistor Tester
- https://chocoball.tistory.com/entry/Hardware-Transistor-Tester
이 테스터기에 사용되는 건전지가 9V 인데, 교체하게 되면 케이스 안에 수납되어 있는 형태라 반분해를 해야 해서 매우 귀찮습니다.
또한 새로 건전지를 구매해야 하기도 하구요.
3년 썼더니만, 올 것이 왔습니다.
1. 대세는 무선 충전
일전에 휴대폰용 무선 충전 DIY 할 때 봐 놨던 제품이 생각나, 이놈도 무선 충전으로 개조해 보기로 합니다.
* Hardware | 무선충전기를 만들어 보자 DIY
- https://chocoball.tistory.com/entry/Hardware-Wireless-Charger-DIY
동일한 날 다른 부품도 AliExpress 에서 주문 했더니만, 동시에 도착했습니다.
필요한 구성품은 다음과 같습니다.
- 무선 충전 코일 (receiver)
- 충전 5V input / 9V output 컨버터 모듈
- 3.7V 배터리
2. 무선충전 receiver 코일
자기장을 이용하여 전기를 만들어 주는 코일 입니다. 디자인이 심플하고 소형이어서 딱 사용하기 좋은 크기네요.
* DIY Qi Standard Wireless Charging Coil Receiver Module Circuit Board DIY Coil For Phone For Battery 5V 1A Fast Quick Charger
- https://www.aliexpress.com/item/32995630744.html
특징은 웹사이트에서 가져왔습니다.
Features
1. Pure copper coil, high permeability, low loss, assuring fast charging.
2. Can charge the battery directly.
3. Charging current is around 5V 1A.
4. Can be directly connected to the phone's motherboard, the phone will display wireless charging.
5. Red is positive and gold is negative. The wire can be bent freely.
Specification
Material : PCB
Product Name : Wireless Charger Receiver Module
Input Power : 5V 1A or 9V 0.5A
Output : Power up to 5W
Charging Efficiency : 75%
Transmission distance : 2~8mm
Charger Applicable Form : Wireless Charger
Executive Standard : Qi Wireless Charging Standard
Product Certification : CE/FCC/ROSH
Board Size : 1.9 * 3.2cm / 0.7 * 1.3in
Copper Coil Size : 4.1 * 2.9cm / 1.6 * 1.4in
Cable Length : 5cm / 2.0in
Weight : approx. 6g
Note
Wireless charging = transmitter + receiver (both can be charged together)
1. There is a "charger" (i.e. coil patch) : If your phone has a built-in "receiver", or you have already purchased a "receiver" in another home, then you only need to buy a "transmitter" Charging.
2. There is a "generator" (i.e. the base) : If you have already purchased the "transmitter", then you can just recharge by purchasing the "receiver".
Package List
1 * Charger Receiver Module
소형인지라 코일과 breakout board 가 앙증맛게 생겼습니다.
PCB 도 말랑말랑한 재질이라 여러 환경에서 사용될 수 있도록 제작되었습니다.
뒷면입니다. iPhone / Android 에 무선 충전 모듈이 없는 스마트폰에 사용할 수 있게끔 만들어져 있습니다.
3. 컨버터 모듈
충전 코일 / 배터리 등을 연결하고 9V를 출력해주는 모듈 입니다.
* Charging Step Up Booster Module Dc 5v-12v To 9v/12v For 18650 Lithium Battery Ups Voltage Protection Converter Charge Discharge
- https://www.aliexpress.com/item/4000123591565.html
크기가 그리 크지 않아, Transistor Tester 밑의 공간, 즉 9V 건전지가 위치한 공간에 무리 없이 들어갈 듯.
이 부품을 선택한 이유는 5V 계열로 충전하고 / 3.7V Lithium Ion 배터리를 충방전 / 9V 출력을 내주는 기능이 모두 들어있기 때문입니다.
12V output 버전도 있지만, 9V output 버전을 구매했습니다.
1. Description
It is a UPS uninterruptible power supply control board.
2. Features
1) Support charging and discharging at the same time
2) Large current
3) Small size
4) High efficiency
5) Support short circuit protection
3. Parameters
1) Product Name : UPS Voltage Converter Module
2) Working Voltage : DC 5.0V~12.0V
3) Output Voltage : DC 9.0V
4) Output Power : 9W
5) Support Battery(No include!) : 3.7V Lithium or polymer battery 15Ah(Max)
6) Working Temperature range : -40℃~85℃
7) Working Humidity range : 0%~95%RH
8) Size : 50*20*6.3mm
4. Using Steps
1) Connect right input voltage at input terminal.
2) Check output voltage by voltmeter and ammeter.
3) Connect battery at B+ and B-.
5. Note
1) Its max output current is 1A and can not keep output 1A.
2) The positive and negative poles of the input power supply cannot be reversed Otherwise the module will be damaged.
3) Users can install a common anode Red-Blue LED by yourself as charging indicators. Blue light indicates whether there is a load at output. Keep Red is charging. There is no battery if Red flashing. Red OFF if charged.
4) Due to the large current, it is recommended to use a thicker wire. Wire cross-section greater than 1.5 square millimeters.
5) Please read use manual and description before use.
6. Application
1) Ordinary power supply
2) Battery charger
3) Mobile power
4) Power conversion
5) Infrared alarm
6) Network equipment such as switches
7) Router
8) Battery car modification
7. Package
1) 1pc UPS Voltage Converter Module
이놈도 다른 부품 도착할 때 같이 왔네요.
알리에서 전자 부품이 도착하는 평범한 모습.
깔끔한 PCB.
전압 control 및 안정용 IC chip 들이 보입니다.
입력부와 출력부 등에는 코일 부품으로 전압 제어용 인덕터와 IC 들이 달려 있습니다. 정전압 다이오드 등도 보이네요.
왼쪽 부분에 LED1 으로 표시된 곳이 상태 indicator 용 LED 가 위치하는 듯 합니다만, 3 pin LED 는 동봉되어 있지 않았습니다.
찾아보니, 3-pin LED 는 + 또는 - 를 공유하는 LED 2 개가 하나로 되어 있다고 하네요.
* LED pinouts – 2, 3, 4-pin and more
- http://lednique.com/leds-with-more-than-two-pins/
0805 SMD LED 를 사용하면 될 듯 하군요. 마침 자가 arduino 만들어 보려고 구입해 놓은 0805 SMD LED 가 있으니 활용해 보면 되겠습니다.
SMD LED 실장시에는 극성을 조심해야 합니다.
밑의 사진처럼 Red / Green LED 를 이쁘게 잘 붙였습니다.
4. 배터리
3.7V Lithium Ion 배터리는, 방사능 측정기 DIY 때, battery upgrade 하고 남은 것을 활용합니다.
집안에서 3년동안이나 굴러다니고 있었는데, 잘 되었어요.
* Hardware | bGeigie Nano 의 battery 를 업그레이드 해보자
- https://chocoball.tistory.com/entry/Hardware-bGeigie-Nano-battery-upgrade
Lithium Ion / Polymer 배터리의 표기들이 3.7V / 4.2V 두 가지고 있는데, 이는 동일한 스펙이고 다른건 아니라 합니다.
3.7V 는 평소 voltage 이고, 4.2V 는 peak voltage 라고 하네요.
* Voltages | adafruit
- https://learn.adafruit.com/li-ion-and-lipoly-batteries/voltages
For example, almost all lithium polymer batteries are 3.7V or 4.2V batteries. What this means is that the maximum voltage of the cell is 4.2v and that the "nominal" (average) voltage is 3.7V.
그 사이 한번도 충/방전을 안했는데도 3년동안 voltage 가 변하지 않았네요. 용량도 그대로 였습니다.
5. 연결
충전용 receiver coil 과 converter module 을 납땜하고 무선 충전 해 봅니다.
충전쪽으로 가는 전압은 약 4V.
출력은 9.19V 나와서 정상 동작 하네요.
이제 테스터기 본체를 분리하고, 9V 연결선을 제거.
Converter module 에서 본체로 가는 선은 조금 굵은 것을 사용하고자, 예전에 구입한 충전 connector 에서 적출한 선을 사용 했습니다.
배터리는 선이 짧아서 연장해주고 쇼트를 막기 위해 수축 튜브로 마무리.
전원 스위치 ON 하니, converter module 에 납땜한 녹색 0805 SMD LED 이 켜지면서 전원이 들어 옵니다.
전압도 문제 없습니다.
충전하면서 전원을 켜도 잘 작동 하네요.
충전과 출력이 동시에 되고 있다는 것을 알려주는 LED 가 이쁘게 잘 들어오니, 상태 확인이 쉽습니다.
6. 조립
기판 뒷면에 배터리와 PCB 가 들어가게 되는데, 쇼트 방지를 위해 쿠션을 제단하여 깔아 줍니다.
밑판에 캡톤 테이브로 코일과 회로를 고정해 줍니다.
Converter module 은 그 크기가 테스터기 아래부분의 뒷면에 맞춤형 처럼 들어 맞네요.
투명 아크릴 케이스이고, 캡톤 테이프가 노란색을 띄어서 그런지 멋지게 보입니다.
이번 프로젝트는 구상한 대로, 만족스러운 결과가 나와서 기분이 좋습니다.
7. 실사용
조립 후, 충전기 위에 올려 놓으면 충전 불이 들어오면서 문제 없이 충전 됩니다.
충전이 완료 되면 모든 불이 꺼집니다.
충전 중에 전원을 키면, 역시나 동시에 불이 켜지구요.
전체 샷은 이렇게 보여요.
8. 미세 전류
대기상태가 되면, Green LED 가 아주 조그맣게 깜빡입니다.
아마도 확인 전류인 듯 한데, 미세하게 깜빡이면서 소비되는 전류가 싫다면 LED 를 제거하면 되겠죠.
그래도 사용 중에 불이 들어오는 모습이 멋져 그냥 놔두기로.
FIN
'Hardware' 카테고리의 다른 글
Hardware | FILCO ZERO 키보드 수리기 (0) | 2020.11.02 |
---|---|
Hardware | ebook 크레마 사운드 계열 액정 수리기 - 8 (6) | 2020.10.30 |
Hardware | 아이폰 8 액정 수리기 (0) | 2020.10.25 |
Hardware | INSTOCK PD594A 구입기 (0) | 2020.10.12 |
Hardware | Fuji Xerox CP116w 수리 성공기 (52) | 2020.10.07 |
그 동안 iPhone 간단 자가수리로 아래처럼 포스트를 뽑아 먹었네요.
* Life | iPhone 8 Plus 밧데리 교환 DIY
- https://chocoball.tistory.com/entry/Life-iPhone-8-Plus-battery-replacement-DIY
* Hardware | iPhone SE 스크린 교환기
- https://chocoball.tistory.com/entry/Hardware-iPhone-SE-screen-replacement
* Hardware | iPhone 6s Plus 오리지널 배터리 교환기
- https://chocoball.tistory.com/entry/Hardware-iPhone-6s-Plus-original-battery-replacement
* Hardware | iPhone SE 밧데리 교환 DIY
- https://chocoball.tistory.com/entry/Hardware-iPhone-SE-battery-replacement-DIY
* Hardware | iPhone 6 Plus 밧데리 교환 DIY
- https://chocoball.tistory.com/entry/iPhone-6-Plus-battery-replacement-DIY
* Hardware | iPhone 6s plus earpiece 자가 수리
- https://chocoball.tistory.com/entry/Hardware-iPhone-6s-plus-earpiece-replacement-diy
* Life | iPhone 6S Plus 밧데리 교환 DIY
- https://chocoball.tistory.com/entry/Life-iPhone-6S-Plus-battery-replacement-DIY
오늘은, 직장 동료의 iPhone 8 액정 수리기 입니다.
1. 상태
전면 낙하 한 번, 측면 낙하 두 번 정도의 상태 입니다.
왼쪽 모서리 부분은 아주 박살이 났습니다.
밑부분부터 측면까지 금도 나가 있고, 화면에 불은 들어 오는데, 인지할 정도가 아니여서 수리를 하게 되었습니다.
뒷면에 생활 스크레치 정도는 있지만, 교체할 정도는 아니라서 전명 액정만 갈기로 합니다.
2. 분해
교환용 액정에 들어있던 드라이버들 입니다.
나사를 빼려 하니, 생활 오염이 심하여 세척을 먼저 합니다.
나의 만능 액체... 아소프로폴 99% 입니다.
쓱싹쓱싹 하니, 나사 머리 뿐만 아니라 스피커/마이크 부분도 깨끗해 졌습니다.
별나사 드라이버로 살살 제거해 줍니다.
잊어먹지 않도록 어디엔가 잘 보관해 줍니다.
빨판은 하나만 동봉되어 있는데, 저는 여러개를 가지고 있으니, 위아래로 붙여서 땡겨 줍니다.
살짝 벌어지는 틈을 타서 얼른 헤라를 꽂아 넣습니다. 여기까지 오면 거의 다 한거나 마찬가지.
헤라로 한바퀴 돌려, 발라져 있는 접착제를 끊어 주면 액정이 쉽게 들어 올려집니다.
주의할 것은, 정면에서 봤을 때 오른쪽 / 사진에서 윗부분에 flex cable 로 연결되어 있으니, 끊어먹거나 힘이 들어가지 않도록 합니다.
얼마나 세게 깨졌으면, 액정 잔해가 돌아다니고 있습니다.
십자 드라이버로 나사 제거 후, 금속판을 들어내면 connector 들이 노출 됩니다. 액정과 연결되어 있는 커넉터 두 개를 분리합니다.
윗쪽에 추가로 연결되어 있는 부분이 있으니, 마찬가지로 나사 풀고 금속판 제거 후, 커넥터를 뽑아 줍니다.
짜잔~ 해체 완료.
3. 액정 비교
깨진 오리지널 액정은 구멍이 났네요.
대체 액정은 아래 링크에서 구입했다고 합니다.
카메라 / 스피커는 일체형이고, 홈버튼만 이식하면 됩니다.
물론 저가형으로, 카메라 스피커 이식형도 있습니다만, 작업 시간이 훨씬 많이 들고 실패 확률이 낮아집니다.
* No.1 Full Set LCD Screen For iPhone 7 8 Plus LCD Assembly Complete Touch Digitizer Screen Replacement AAA Display Front Camera
- https://www.aliexpress.com/item/4000248534609.html
포장은 플라스틱으로 잘 고정되어 있습니다.
대체 액정이지만 나쁘지 않습니다.
뒷면 입니다. 먼가 조잡해 보이지만 그건 느낌일 뿐 입니다.
오리지널과 같이 찍어 봤습니다. 당연하게도 거의 동일합니다.
대체형 액정은 한자 "팔" 이 각인되어 있네요.
원래는 바코드가 새겨져 있습니다.
오리지널 액정 윗쪽 flex cable 에는 애플 로고가 새겨져 있습니다.
대체 액정에는 숫자는 따라 했는데 로고는 뺐군요.
중간쯤 보이는 케이블 두 개 입니다.
대체 액정은 잘 휘고 더 얇습니다. 내구성은 떨어지겠지만, 조립하면 안쪽에 들어가니 별 문제는 없습니다.
오리지널 액정의 홈버튼 뒷쪽 입니다. 저 홈버튼 뭉치를 대체 액정에 이식해 줘야 합니다.
대체 액정에는 홈버튼 뭉치가 들어갈 자리는 비어 있습니다.
대체 액정의 공기가 들어간 부분은 애교.
4. 홈버튼 이식
오리지널 액정에서 홈버튼을 분리합니다.
주의점은 3각 나사로 고정되어 있으니, 드라이버 선택을 맞게 해야 합니다.
액정과 연결되어 있는 커넥터도 살살 분리 합니다.
양면 테이프로 고정되어 있으니, 헤라를 밑부분에 조금씩 쑤셔 넣으면서 분리하면 됩니다. 짠~.
조립은 분해의 역순.
5. 작업 완료
전원을 넣으니, 문제 없이 잘 동작 되네요.
다만, True Tone 은 활성화 되어 있지 않습니다.
원래 True Tone 도 활성화 시키고 싶었으나, 이걸 하려면 원본 액정에서 고유코드를 뽑아서 대체 액정에 밀어 줘야 가능합니다.
이 작업을 위해서는 아래같은 장비가 있어야 합니다.
* QIANLI iCopy Plus with Battery Board for iPhone 7 8 X XR XS MAX 11 Pro Max LCD/Vibrator Transfer Display/Touch EPROM Repair
- https://www.aliexpress.com/item/4000207236545.html
이 장비는 여러가지 코드 복사에 사용될 수 있습니다. 대응 가능한 iPhone 은 7 부터 XS max 까지 입니다.
추가로 방수를 위해서 씰링 테이프도 구매해서 조립할 때 넣어주어야 하나, 이 부분은 이번에 빠졌네요.
* 2Pcs Screen Waterproof Adhesive Seal Sticker For for IPhone 6s 6s plus 7 7 plus 8 8 plus XR X XS Phone Repair Part
- https://www.aliexpress.com/item/4000036443357.html
부품중에 카드모양의 빨간 플라스틱.
아마도 스텐드 인 듯 하여 대충 조립해서 세워 봤는데, 저는 반대 방향으로 사용했군요. 어쩐지 자꾸 미끄러 지더니만...
다음에 또 사용할 일이 있으면, 아래 사진의 반대방향으로 사용하면, 액정이 잘 고정되고 편할 듯 합니다.
FIN
'Hardware' 카테고리의 다른 글
Hardware | ebook 크레마 사운드 계열 액정 수리기 - 8 (6) | 2020.10.30 |
---|---|
Hardware | Transistor Tester 무선충전 upgrade (0) | 2020.10.26 |
Hardware | INSTOCK PD594A 구입기 (0) | 2020.10.12 |
Hardware | Fuji Xerox CP116w 수리 성공기 (52) | 2020.10.07 |
Hardware | ESP-03 사용기 (0) | 2020.08.17 |
후지제록스 DocuPrint CP116w 를 잘 쓰고 있었습니다.
리필토너도 저렴하고, 리필 칩도 쉽게 구할 수 있었거든요. 레이저 프린터인 만큼 최고의 가성비를 보여 줬었습니다.
토너 리필에 대해서는 아래 글들을 참조.
* Hardware | Fuji Xerox 의 CP116w 토너 교환기
- https://chocoball.tistory.com/entry/Hardware-Fuji-Xerox-CP116w-toner-replacement
* Hardware | 재생토너 chip 교환기 - 1
- https://chocoball.tistory.com/entry/Hardware-refill-toner-chip-replacement-1
* Hardware | 재생토너 chip 교환기 - 2
- https://chocoball.tistory.com/entry/Hardware-refill-toner-chip-replacement-2
글을 세 개나 올렸었네요. 그 만큼 이 프린터를 사랑하고 있었습니다.
1. 에러
어느 시점을 시작으로 자주 느낌표시가 떴습니다.
보통 092-651 에러라고 하는데, 주로 뒷면에 있는 CTD (Color Toner Density) 센서를 닦아주면 된다고 했습니다.
메뉴얼 대로 뒷판을 열고 닦아주니 다시 돌아가더군요.
다만, 문제는 딱 한 번만 해결 되었고, 두 번째부터는 해결되지 않았습니다.
이후, 절대 되돌아 오지 않았습니다. 여기서부터 긴 여정의 시작입니다.
2. 서비스 메뉴얼
수리 과정 중에서 알게된 것이지만, 일반 사용자에게 공개된 메뉴얼 외에,
수리 기사들이 사용하는 "서비스 메뉴얼" 이 따로 있다는 것을 알게 되었습니다.
* 일반 메뉴얼
* 서비스 메뉴얼
일반 메뉴얼로는 도저히 알 수 없는 내용들이 서비스 메뉴얼에는 자세하게 나와 있어,
이 후 내용은 서비스 메뉴얼을 기반으로 도전한 내용들 입니다.
3. 꼬질대로 헤드 클리닝
노란색 꼬질대가 토너 삽입부인 옆면에 있습니다.
꺼내서 각 토너의 헤드를 크리닝 해 봅니다.
전혀 효과가 없군요. 실패.
4. 벨트 클리닝
인쇄되는 과정을 보면, 토너를 실어 나르는 벨트가 있고, 고열의 롤러를 통해서 인쇄되는 과정이 포인트 입니다.
그 과정 중에서 아래 그림의 8번 항목처럼, Cleaning 이라는 부분이 있습니다.
고열의 드럼을 통해서 인쇄되지만, 여분의 토너 가루 + 먼지들은, 벨트를 청소해 주는 "Cleaning Blade" 에 모인다고 하네요.
뒷 뚜껑을 열면 투명한 책받침 같은 것이 열전사 드럼 윗쪽에 붙어서 먼지 들을 걸러내 주고 있었습니다.
살짝만 봐도 먼지가 엄청 쌓여 있군요. 핀셋과 진공 청소기를 이용해서 깨끗하게 먼지를 제거합니다.
전혀 효과가 없군요. 실패.
5. 공장 초기화
기계는 모름지기 공장 초기화. 시도해 봅니다.
메뉴얼 문구대로, 뒷 커버를 연 상태로 전면의 Start / Stop 버튼을 누르면서 전원 ON. 그리고 뒷 뚜껑을 닫으면 공장 초기화가 됩니다.
이 글의 스크롤 바가 아직 한참 남은 것이 상황을 말해 주듯, 전혀 효과가 없군요.
실패.
6. 토너칩 교환
쓰고 있던 토너칩이 아직 쌩쌩하지만, 혹시나 해서 교체해 봅니다.
지금까지 구입했던 토너칩 중에서 가장 괜찮은 제품, 아껴 두었던 마무리가 깔끔한 칩을 꺼냈습니다.
이걸 구하려고 해도, 이제는 판매되지 않은 제품 입니다.
요즈음 구매한 토너칩과 비교해 봐면, 보호 수지 질이나, 프린터 센서와 접촉 면적이 훨씬 넓어, 인식문제가 잘 일어나지 않는 제품 입니다.
7. 폐토너
서비스 메뉴얼을 정독하고 있자니, 폐토너에 대한 내용이 나옵니다.
Waste Bin 과 연결된 부분을 얇은 드라이버같은 것으로 누르면, 촤르륵 하며 지금까지 쌓여온 페토너 가루들이 쏟아집니다.
신기하게 자성을 띄는 성질을 가지고 있군요. 이 말인 즉슨, 토너는 분말 금속이 섞여 있는 듯 합니다.
신체에 노출이 되면 중금속 중독도 일으키는 원인이 될 수 있다고 봅니다.
지금까지 쌓여 있었던 폐토너 가루들이 한 무더기 나왔습니다.
폐토너들이 더 이상 청소되지 못해여, 프린터 내부에 이게 꽉꽉 쌓여 있으니, 고장의 원인이 되지 않았나라고 생각 했습니다.
8. 토너 모터
느낌표 에러는 CTD 센서 뿐만 아니라, 정확히 파악되지 않는, 토너 관련 전반적인 에러라는 것을 알게 되었습니다.
토너를 벨트와 고열 드럼으로 보내주기 위해서, 맨 처음 토너 통에서 이루어지는 작업이네요.
문서의 여러 군데에서 Toner Motor 와 연관된 부분들이 언급되어 있습니다.
Toner Motor 는 두 개가 있으며, 기어박스를 통하여 돌아가는 방향에 따라 토너 통을 선택하여 벨트로 보내 줍니다.
두 개의 모터만으로 4개의 토너 통을 컨트롤 하고 있습니다.
이 모터를 제어하는 부분은 MCU Board 의 P/J20 핀에서 제어하고 있었습니다.
아래는 나중에 분해한 후의 사진이지만, P/J20 커넥터 부분입니다.
Toner Motor 는 4개의 신호로 움직이는 Step Motor 이고, 강제적으로 이걸 돌려 주면,
토너 피딩이 끊어진 통에 토너가루를 밀어 넣어주지 않을까 하여 직접 제어해 보기로 합니다.
이 Step Motor 를 arduino 와 연동하여 강제적으로 돌려주기 위해, A4988 / DRV8825 센서를 구입 합니다.
* 3D Printer Parts A4988 DRV8825 Stepper Motor Driver With Heat sink For SKR V1.3 1.4 GTR V1.0 RAMPS 1.4 1.6 MKS GEN V1.4 board
- https://www.aliexpress.com/item/32965199683.html
시도해 보고 싶었지만, 다른 방법으로 성공해버려 직접 적용해 보지 않았습니다.
다른 기회에 구동 테스트는 해보는 것으로...
9. 프린터 분해
보다 근본 원인을 파악하기 위해 일단 분해해 봤습니다.
일단 앞부분의 종이 받침을 제거해 줍니다. 연질의 플라스틱이라 살짝 구부려서 양쪽 힌지를 빼면, 쉽게 제거 됩니다.
숨어있는 나사 두 개가 보입니다.
드라이버로 제거해 줍니다.
나머지 하나도 제거해 주구요.
나사를 제거 후, 옆에 있는 틈 사이로 헤라를 넣고 살찍 비틀어 주면, 두두둑 하면서 앞면 전체가 분리됩니다.
요런 모양으로 됩니다. 앞면만 살짝 노출 되었을 뿐 전혀 구조가 보이지 않네요.
윗면의 투명 커버도 혹시 모르니 분리해 줍니다. 연질의 플라스틱이니 살짝 휘어주면 분리가 됩니다.
그런 후, 윗 뚜껑을 분리해 줍니다. 뚝뚝뚝 하면서 잘 분리 됩니다. 인디케이터와 연결된 flexible cable 에 주의 합니다.
토너쪽 커버를 분리하기 위해서는 뒷면이 먼저 분리되어야 합니다. (사진 밑부분)
후면의 나사를 풀어줍니다.
뒷판이 헐거워 지면, 헤라를 아래처럼 넣어서 이격시켜 줍니다. 보여주기 위한 사진을 따로 찍어서 토너가 제거된 사진이네요.
그러면, 토너쪽 커버를 제거할 수 있습니다.
분리할 필요는 없지만, 토너 반대쪽 커버도 분리해 봅니다. 이 쪽은 나사 채결이 없어서 쉽게 분리 가능합니다.
상판과 연결된 검은색 flexible cable 을 조심합니다. (아래 사진에서 왼쪽 위)
ARM 칩과 WiFi 모듈이 보입니다. 메모리도 있네요. 이뻐서 한컷 찍어서 남겨 봅니다.
상판을 분리한 후, 토너쪽 사진 입니다.
아래 사진 가운데에 보이는 굵은 흰색 선이 메인 전원 입니다. 소켓에서 뽑아 줍니다.
그러면, 토너 쪽 커버를 완전히 분리할 수 있습니다.
앞면의 케이블 정리 고정부분을 잘 풀면, 아래 사진처럼 안전하게 바닥에 놓아 둘 수 있습니다.
10. 청소
재생 토너의 큰 입자들로 인하여, 인입 부분이 막혀있는 것이 아닌가 해서 토너통과 연결된 부분을 청소해 보기로 합니다.
청소기에 비닐을 씌운 다음, 버릴 양말을 덧씌운 후, 빨대를 꽂았습니다. 저 빨대로만 빨아들일 수 있게 만든거죠.
페토너 구멍이든, 토너 피딩 구멍이든 깊숙이 넣어서 청소기를 돌려 줍니다.
피딩 부분은 커버도 쉽게 벗길 수 있습니다.
벗길 수 있는 한, 모두 벗겨서 청소해 줍니다.
그런 다음, 탈탈 털어주면 더 뭔가가 많이 쏟아집니다. 입자가 굵은 것들도 있는걸 보면, 막혀 있던 것들일 수도 있겠네요.
하지만, 이 방법으로도 해결되지 않았습니다.
실패.
11. 빨래 찝게
구입한 Step Motor 컨트롤러가 중국으로부터 도착할 때 까지, 시도해 볼만한 방법들을 계속 생각했습니다.
그러다, 고장나기 직전에 검은 색이 잘 나오지 않았다는 것을 기억해 냅니다.
부팅하면서 잠깐 피딩 롤러가 돌아가는 시점에 검은색 토너를 수동으로 넣어주면 어떨까 했습니다.
토너통을 빼고, 토너칩만 센서에 부착 시키면, 프린터는 토너통이 장착되어 있다고 속을 것이고, 그 공간에서 작업하면 될 것 같았습니다.
이렇게 하면, Toner Motor 를 Step Motor 컨트롤로 + arduino 을 이용하여 강제로 돌려주지 않아도,
롤러 안에서 끊어진 토너의 흐름을 다시 만들어 줄 수 있을 것 같았습니다.
공판장에서 1,400 원 하는 "썬 왕 빨래집게" 구매.
사진처럼 재생토너 뚜껑만 분리하여, 토너칩 센서에 토너칩을 부착시켜 줍니다.
네 가지 모두 장착하여 인식 성공.
프린터가 부팅하면서 잠깐 돌아가는 롤러에 강제로 검정 토너를 흘려 줍니다.
음?!!!!!!!!!!!!!!!!!!!!!!!!!!
뭔가 반응이 다릅니다!!!
딸깍 하면서 느낌표가 떠야 할 시점에 느낌표는 뜨지 않고 Toner Motor 가 마구마구 돌기 시작했습니다!!!!!!!!!!
필시 이것은, 정상으로 되돌아온 신호!
바로 토너를 제대로 장착하고 다시 재부팅.
오오오오!!!!!!!!!!!!! 아래 동영상처럼 Toner Motor 가 돌면서 모든 토너통으로 부터 토너를 빨아들이기 시작 했습니다.
아~~~~~~~~~~~~~~~~~~~~~~~~!!! 성공.
바로 테스트 프린트를 마구마구 찍어 봅니다. 새로 샀을 때 처럼 선명함과 진함이 되돌아 왔습니다.
토너통을 하도 꼈다 뺐다 했더니만, 파란색 기어에 부서질 듯한 소리가 났습니다.
파란색 토너 입구의 쿠션이 말려 들어가 있더군요. 크게 문제될 것이 없을 듯 하여 그냥 제거 했습니다.
조립은 분해의 역순. 이로써 수리가 성공으로 끝났습니다.
FIN
수리 성공기를 마치며, 아래와 같이 정리합니다.
1. 벨트 클리닝 블레이드에 쌓인 먼지는 청소해 주자
2. 폐토너는 생각나면 버려주자
3. 토너통 기어가 잘 돌아가는지 가끔 확인해 주자
4. CTD 센서 부분은 가끔 청소해 주는데, 효과는 별로 없다
5. 어찌 되었든, 토너가 끊기지 않게 하자
6. 만일 끊겼을 경우는 빨래 집게를 이용하여 수리하자
'Hardware' 카테고리의 다른 글
Hardware | 아이폰 8 액정 수리기 (0) | 2020.10.25 |
---|---|
Hardware | INSTOCK PD594A 구입기 (0) | 2020.10.12 |
Hardware | ESP-03 사용기 (0) | 2020.08.17 |
Hardware | ZE08-CH2O Formaldehyde 센서 사용해보기 (4) | 2020.08.14 |
Hardware | ROKU 로 화면 미러링 사용해 보기 (0) | 2020.07.29 |
ESP8266 을 사용하면서 GPIO 핀이 많은 모듈이 필요해 졌습니다.
기존 ESP-01 은 arduino 와 연결하여 WiFi 부분을 커버하는 것 외에 sensor 로부터 값을 입력 받을 수 있는 추가 Pin 이 없습니다.
포름알데히드 센서를 이용해 보면서, ESP-01 말고 GPIO 핀이 많은 것을 찾게 되었습니다.
* Hardware | ZE08-CH2O Formaldehyde 센서 사용해보기
- https://chocoball.tistory.com/entry/Hardware-ZE08-CH2O-Formaldehyde-sensor-using
1. ESP-01
처음엔 몰랐지만, ESP2866 이라는 것은 ESP-01 만 뜻하는 것이 아니라, ESP8266EX 을 사용한 WiFi module 의 총칭이었던 것입니다.
지금까지 ESP8266 = ESP-01 로 알고, 입출력 Pin 이 더 필요한 경우, SoftwareSerial 을 어떻게 처리해야 하는지 히고 있었습니다.
위의 도식처럼 ESP8266EX 는, 많은 GPIO 를 지원하고 있었습니다.
단순히, ESP-01 의 pin out 갯수가 적었던 것이였죠. 더 많은 연결을 위해 ESP-01 도 pin out 을 처음부터 늘려 줬으면 어떠했을까 합니다.
어떤 사람이 "it's a shame to have such a small number of GPIOs at ESP-01" 라고 쓴 글을 본것 같습니다.
ESP8266EX chip 의 가느다란 다리에 직접 선을 납땜하면 사용할 수 있습니다. 시도해 봅니다.
실패.
2. ESP-03
ESP8266EX 를 사용하면서 GPIO 핀을 활용할 수 있는 breakout 보드들이 존재 했었습니다. ESP-03 / ESP-07 / ESP-12 등등...
ESP32 를 쓰면 쉽게 문제 해결 되지만, 굳이 어려운 방법으로 도전해 보기로 합니다.
우선 ESP-03 만 보더라도 GPIO 가 8개나 Pinout 으로 구성되어 있습니다.
자세한 Pinout 정보 입니다.
참고로, RST pinout 은 따로 구비되어 있지 않고, 아래 사진처럼 보드 위에 마련되어 있습니다.
Program 을 입힐 때, RST 가 있으면 편하나, 전원을 껐다 키면서 IO 0 (HIGH Run, LOW Flash) 핀을 이용하여 되니, 사용하지 않기로 합니다.
사용 전력을 아끼는 Sleep mode 구현시에는 필요하다 하나, 지금은 필요 없으니 그냥 놔두기로 합니다.
우선 ESP-03 을 구입.
* 1PC ESP8266 serial WIFI model ESP-03 Authenticity Guaranteed esp03 for arduino
- https://www.aliexpress.com/item/32641401163.html
잊어먹고 있으니, 어느새 도착.
ESP8266EX 메인 칩과, 25Q40CT 라고 쓰인 Flash memory 가 보입니다.
사용된 오실레이터는 26MHz 입니다.
3. 어뎁터 보드 구매
ESP-03 의 Pin 들은, 빵판에 바로 연결할 수 있는 2.54mm 간격이 아니고, pin 들 사이가 더 조밀합니다.
이를 해결하기 위해, 자가로 pin header 를 붙일 수도 있고, 직접 선을 연결할 수 있으나 지저분해 집니다.
원래는 ESP-07 / ESP-12 용으로 나와 있는 어뎁터가 있는데, 잘만 하면 맞을 것 같더군요.
어차피 ESP-07 / ESP-12 구매하면 필요할 듯 하여, 5개가 한 묶음인 아래 어뎁터 보드도 구매합니다.
* 5pcs/lot ESP8266 serial WIFI Module Adapter Plate Applies to ESP-07, ESP-12F, ESP-12E
- https://www.aliexpress.com/item/32971304797.html
잊을만 하니 도착.
양쪽에 male pin header 를 연결할 수 있게 되어 있고, ESP-07 / ESP-12 pin 과 맞닿는 부분을 납땜하게 되어 있습니다.
ESP-03 을 얹어 보니, 납땜 부위와 간격이 많이 떨어져 있으나, 납물을 길게 연결하여, 어찌어찌 연결할 수 있을 것 같습니다.
4. ESP-03 을 어뎁터 보드에 납땜
친절하게도 전원 관련된 저항이 어뎁터에 이미 실장되어 있습니다.
뒷면에는 3.3V 용 레귤레이터 자리도 마련되어 있습니다. 전압이 over shoot 나지 않게 안정적인 전원 공급을 위해 있으면 좋은 것이죠.
마침 3.3V regulator 가 있으니 붙여 줍니다.
원래는 ESP-07 / ESP-12 를 위한 저항과 레귤레이터 회로겠으나, 아래를 참고하면서 ESP-03 에서도 활용할 수 있는지 확인해 봅니다.
* MY METHOD FOR BREADBOARDING AN ESP-03
- https://www.esp8266.com/viewtopic.php?p=18369
일반 사용 모드와, flashing 모드를 위해서는 push switch 도 붙여야겠네요.
확인에 또 확인하고 아래와 같이 만들어 봤습니다.
실패...
저항이고 레귤레이터고, 스위치고 점퍼고 다 제거했습니다. 단순하게 사용하는게 최고 입니다.
납땜은 아래처럼 길게 늘여뜨리면, 이 어뎁터를 ESP-03 용으로 사용 가능합니다.
5. Flash memory 크기 확인
25Q40CT 라고 씌인 Flash memory 사양을 검색해 보니 대충 다음과 같은 사양입니다.
- GIGADEVICE [GigaDevice Semiconductor (Beijing) Inc.]
- GD25Q40CTEG : 3.3V Uniform Sector Dual and Quad Serial Flash
- GigaDevice Semiconductor (Beijing) Inc.
- 4M-bit (512K-byte)
4Mbit = 512KiB... 털썩.
FTDI 모듈과 TX/RX 를 연결하여 본격적으로 활용해 봅니다. ESP-03 의 연결 정보는 다음과 같습니다.
전원과 FTDI 그리고 flashing 을 위한 스위치 연결 구성은 다음과 같아요.
가능하면 전원 공급은 FTDI 를 통해서 얻는것 보다, 분리하는 것이 좋습니다.
실재 구현 모습입니다.
FTDI 를 이용하여 PC 에 연결해, 확인해 봅니다. 역시군요.
기본으로 입혀져 있는 firmware 는 AI-Thinker 의 Boot 모드인 듯 합니다.
ESP8266 library 를 인스톨 하면, 기본으로 제공되는 Flash Check 소스를 입혀 봅니다.
File > Examples > ESP8266 > CheckFlashConfig
Flash mode 를 위해, 달아 놓은 스위치를 누르면서 전원을 넣고, flashing 을 해 봅니다. 잘 flashing 되네요.
그렇습니다... 틀림없는 512KiB 네요.
6. firmware update
Flash memory 를 교체하여 용량을 늘릴 예정이지만, 512KiB 에 올릴 수 있는 firmware 를 찾아 봅니다.
찾는 와중에 알게된 용어 정리.
APIs of "ESP8266_RTOS_SDK" are same as "ESP8266_NONOS_SDK"
중국산 모듈에 가장 많이 쓰이는 AI-Thinker.
* Ai-thinker
- v0.9.5.2
- https://wiki.aprbrother.com/en/Firmware_For_ESP8266.html
파일명에 9600 표시가 없는 firmware : one for 9600 baud rate
파일명에 9600 표시가 없는 firmware : one for 115200 baud rate
* Updating ESP8266 Firmware
- https://os.mbed.com/users/sschocke/code/WiFiLamp/wiki/Updating-ESP8266-Firmware
ESP8266_RTOS_SDK_v1.1_512kb.zip
Firmware 파일 못지 않게 중요한 address 정보.
--------------------------------------- | BIN | Address | --------------------------------------- | boot_v1.1.bin | 0x00000 | | user1.bin | 0x01000 | | esp_init_data_default.bin | 0x7C000 | | blank.bin | 0x7E000 | ---------------------------------------
잘 동작함.
* Espressif Systems (SDK V2.0.0 / AT V1.3)
4a-esp8266_at_instruction_set_en.pdf
esp8266_nonos_sdk_v2.0.0_16_08_10.zip
4Mbit = 512KiB 에 SDK V2.0.0 과 AT V1.3 이 올라간다고 메뉴얼에 적혀 있습니다만, 저는 되지 않더군요.
* [SDK Release] ESP8266_NONOS_SDK_V1.4.0_15_09_18
- https://bbs.espressif.com/viewtopic.php?f=46&t=1124
esp_iot_sdk_v1.4.0_15_09_18.zip
많은 firmware 를 테스트 하다 보니, 이 버전의 firmware update 후의 화면인지 기억이 잘... 여튼 성공 했었던것 같아요.
Online 으로 firmware 를 업데이트 하는 FOTA 방식을 테스트 해봤습니다.
만, 마지막까지 문제 없이 진행되더니만 실패. Flash memory 용량이 적어 실패하는 듯.
7. 32Mbit / 4MiB 로 업그레이드
우선 Flash chip 양쪽에 납을 충분히 먹이고 인두로 지지니 쉽게 떨어집니다. 무리해서 힘주지 않는게 포인트.
원래 실장되어 있던 flash memory 와 교체하려는 flash memory 크기만 비교해 봐도 꽤 다릅니다.
32Mbit Flash memory chip 을 납땜합니다. Oscillator 와 사이가 좁아서 힘들었습니다.
512KiB 칩은 조그마한 크기였는데, 4MiB 칩은 좀 큰 편이라, 기존 자리에 납땜 하려면 다리를 안쪽으로 구부려야 합니다.
ESP8266 DOWNLOAD TOOL 로 확인해 보니, 문제 없이 flash memory upgrade 가 완료 되었습니다.
구울 firmware 버전은 Non-OS 중에서 가장 최신 버전.
ESP8266_NonOS_AT_Bin_V1.7.4.zip
Flashing 할 때는, Address 를 정확히 따라야 합니다. V1.7.4 의 32Mbit (1024 KB + 1024 KB) 설정은 다음과 같습니다.
메뉴얼 대로 Address 잘 기입해서 flashing~!
문제 없이 booting 됩니다.
웃긴건, booting 할 때는 76,800 baud rate 로 동작하고 (위의 스샷에서 글씨가 깨지는 부분), 기본 모드에서는 115,200 baud 로 동작합니다.
8. WiFi 기능과 Sensor 값 입력을 동시에 수행
용량도 늘었으니, WiFi 기능을 사용하면서 sensor 값을 GPIO 14 으로 받아 internet 을 통해 값을 쏴주는 과정을, 아래 포스트에서 진행.
* Hardware | ZE08-CH2O Formaldehyde 센서 사용해보기
- https://chocoball.tistory.com/entry/Hardware-ZE08-CH2O-Formaldehyde-sensor-using
Serial Monitor 에서 확인할 결과, GPIO 14 에서 입력 받은 값들도 정상적으로 확인.
인터넷을 통해서도 잘 값들이 전달됨도 확인 하였습니다. (자세한건 위의 포스트에서 확인 가능합니다.)
9. 추가 구매
이참에 ESP8266EX 시리즈를 추가로 구매 했습니다. 가지고 있는 ESP-01 이 납땜 실패로 사용할 수 없으니, ESP-01 도 추가 구매.
* ESP8266 ESP-01 ESP-01S ESP-07 ESP-12E ESP-12F remote serial Port WIFI wireless module intelligent housing system Adapter 2.4G
- https://www.aliexpress.com/item/32339917567.html
ESP-01
언제 사용해 보겠냐며, ESP-07 도 구매.
ESP-07
ESP8266 chip 의 끝판왕 breakout 보드인 ESP-12F 도 구매.
ESP-12F
다음 포스팅 들은 ESP-07 / ESP-12F 에 대한 이야기가 되겠네요.
'Hardware' 카테고리의 다른 글
Hardware | INSTOCK PD594A 구입기 (0) | 2020.10.12 |
---|---|
Hardware | Fuji Xerox CP116w 수리 성공기 (52) | 2020.10.07 |
Hardware | ZE08-CH2O Formaldehyde 센서 사용해보기 (4) | 2020.08.14 |
Hardware | ROKU 로 화면 미러링 사용해 보기 (0) | 2020.07.29 |
Hardware | SK 스마트미러링 사용해 보기 (2) | 2020.07.28 |
1. 환경 호르몬
사람은 호르몬으로 살아간다고 해도 과언이 아닙니다.
컨디션, 감정, 치유, 성장, 성향, 행동 등, 인간의 몸안에서 일어나는 거의 모든 화학작용과 관련이 되어 있으며, 몸을 컨트롤 합니다.
다만 아쉽게도, 현대 사회로 진입하면서 생활은 편해졌지만, 화학 물질 등으로 인하여 몸 안의 호르몬들이 교란을 잃으키고 있습니다.
더 무서운 것은 이 "환경 호르몬" 은 거의 모든 곳에 도사리고 있다는 것이지오.
특히 환경 호르몬 중에서는 "포름알데히드" 가 그 주범 물질 중 하나 입니다.
* Formaldehyde
- https://en.wikipedia.org/wiki/Formaldehyde
* 포름알데하이드
- https://namu.wiki/w/%ED%8F%AC%EB%A6%84%EC%95%8C%EB%8D%B0%ED%95%98%EC%9D%B4%EB%93%9C
메탄올을 잘못 마셨을 때, 실명이나 사망을 일으키는 것도 이 포름알데히드 때문이다. 메탄올이 신체 내부로 유입되면 간에서 포름알데히드 및 포름산이라는 물질로 변환되는데, 특히 포름알데히드는 시신경을 손상시키고 단백질 조직을 변성시켜 굳혀버리는 효과를 갖고 있기 때문에 이런 위험한 상황이 발생하게 되는 것이다.
가구, 특히 MDF를 사용한 가구에서는 본드와 페인트에 의해 포름알데히드가 공기 중으로 방출된다. 소위 새집증후군, 아토피의 원인으로 지목되고 있으며, 새 가구를 샀을 때 매캐한 냄새, 눈이나 목의 따가움을 느꼈다면 이것 때문이다. 포름알데히드는 성인은 물론 특히 어린이에게 매우 유해하기 때문에 실내가구의 방출량은 각국에서 규제하고 있다. 다만 포름알데히드 측정에 대한 국제 표준이 없기 때문에 국가별로 측정방법 및 규정이 다른 상태다.
다이X 같은 곳에 가면, 온갖 화학물질이 공기 중에 떠다니는 것을 대번에 느낄 수 있습니다. 이게 환경호르몬 = 포름알데히드 입니다.
값싸게 제품을 만들다 보니, 출처가 불분명한 재료와, 후처리 되지 않은 채로 공장에서 나와 유통되기 때문이죠.
특히 중국산 물건에서 많이 느낄 수 있습니다. 손이 쥐여지는 것을 입으로 쉽게 가져가는 애기들을 생각하면 소름 돋는 장소라고 생각합니다.
2. 포름알데히드 센서
그럼, 포름알데히드를 측정할 수 있는 센서는 없을까, 하고 찾아 봤습니다. 있네요.
구매를 작년 9월쯤 했을 때에는 위의 가격이었는데, 요즘은 조금 저렴해 졌습니다.
* Formaldehyde sensor ZE08-CH2O serial output formaldehyde concentration measurement with cable
- https://ko.aliexpress.com/item/32842350486.html
이 센서에 사용된 "ZE08-CH2O" 는 그리 널리 사용되지 않지만, 아두이노 센서 breakout 보드를 생산하는 DFRobot - Gravity 회사에서도 출시 했을 만큼 완전 무명도 아닙니다. (이 글의 후반부에서 그림과 함께 조금 설명 해놨습니다.)
* ZE08-CH2O formaldehyde gas sensor module
- https://www.winsen-sensor.com/sensors/ch2o-gas-sensor/ze08-ch2o.html
3. 도착
도착샷은 예의 입니다.
센서는 PCB 보드 윗쪽에 얹혀져 있습니다.
Breakout 보드 밑부분은 센서값 처리를 위한 회로 및 IC chip 들로 빼빽하게 차 있습니다.
센서 종류로 14 USD 나 하는, 비싼 값을 하는 이유가 있네요.
4. Specification
메인 chip 에 붙어 있는 IC20 이라는 스티커를 제거하면, chip 명칭을 알 수 있습니다.
사진으로는 흐릿하게 나와서, 제품 설명 그림을 가져와 봤습니다.
STMicroelectronics 사의 32-bit ARM Cortex-M 프로세서라는 것을 알 수 있습니다.
STM32F030F4 네요. 아래 장표를 보면 32-bit ARM Cortex-M 에서 Mainstream 에 해당하는 chip 입니다.
동일 계열의 칩 중에서는 USB 인터페이스가 생략되어 있고, 메모리가 가장 적은 버전이군요.
ZE08-CH2O 의 인터페이스는 다음과 같습니다.
인터페이스 선들을 살펴 보면, 신호를 받는 방식이 PWM, UART, 그리고 DAC 세 가지 임을 알 수 있습니다.
아래는 default 연결인 Active Upload type 방식이라고 하는데, 기본적으로 TX/RX 를 사용하는 UART 방식을 표시합니다.
5. Arduino 용 Active Upload 소스
Default 방식인 Active Upload (UART) 소스 입니다.
* Serial Communication CH2O sensor
- https://forum.arduino.cc/index.php?topic=547952.0
Sketch 는 다음과 같습니다.
#include "arduino.h" #include "SoftwareSerial.h" #define MAXLENGTH 9 #define VREF 5.0 // voltage on AREF pin long tenMinutes = 10 * 60 * 1000L; // on time of heater SoftwareSerial mySerial(10, 11); byte receivedCommandStack[MAXLENGTH]; byte checkSum(byte array[], byte length); boolean receivedFlag; void setup() { // put your setup code here, to run once mySerial.begin(9600); Serial.begin(115200); } void loop() { ze08_PPM(); } byte checkSum(byte array[], byte length) { byte sum = 0; for (int i = 1; i < length - 1; i ++) { sum += array[i]; } sum = (~sum) + 1; return sum; } boolean available1() { //new data was recevied while (mySerial.available()) { for (byte index = 0; index < MAXLENGTH - 1; index++) { receivedCommandStack[index] = receivedCommandStack[index + 1]; } receivedCommandStack[MAXLENGTH - 1] = mySerial.read(); byte sumNum = checkSum(receivedCommandStack, MAXLENGTH); if ( (receivedCommandStack[0] == 0xFF) && (receivedCommandStack[1] == 0x17) && (receivedCommandStack[2] == 0x04) && (receivedCommandStack[MAXLENGTH - 1] == sumNum) ) { //head bit and sum are all right receivedFlag = 1; //new data received return receivedFlag; } else { receivedFlag = 0; //data loss or error return receivedFlag; } } return receivedFlag; } float ze08_PPM() { if (available1() == 1) { receivedFlag = 0; float ppb = (unsigned int) (receivedCommandStack[4] * 256) + receivedCommandStack[5]; // bit 4: ppm high 8-bit; bit 5: ppm low 8-bit float ppm = ppb / 1000; // 1ppb = 1000ppm delay (1000); Serial.print("Formalin ppm == "); Serial.println(ppm); return ppm; } } float analogReadPPM() { float analogVoltage = analogRead(A0) / 1024.0 * VREF; float ppm = 3.125 * analogVoltage - 1.25; //linear relationship (0.4V for 0 ppm and 2V for 5ppm) if( ppm < 0 ) { ppm = 0; } else if( ppm > 5 ) { ppm = 5; } delay (1000); return ppm; }
Arduino 와의 Pin 연결은 다음과 같습니다.
ZE08-CH2O | Arduino Nano -------------------------- 6 (TX) | D10 5 (RX) | D11 -------------------------- | POWER -------------------------- VCC | 3.3V GND | GND --------------------------
실재로 연결할 선들은 CO2 센서인 MH-Z14A 와 갯수와 크기가 동일하여, 만들어 놨던 선을 사용 했습니다.
* Hardware | CO2 센서인 MH-Z14A 를 활용해 보자
- https://chocoball.tistory.com/entry/Hardware-CO2-sensor-MH-Z14A
사용하지 않는 선들은 빵판 고정용으로 사용. :-)
아래와 같이 값이 표시됩니다. Calibration 이 적용되지 않아서, 이 값이 정확한 것인지는 모르겠습니다.
센서 주변 공기가 바뀌면, 그에 따라서 센서값도 달라집니다.
6. DFRobot 용 소스 - DAC
UART 와 DAC 를 스위치 하나로 변경하면서 사용할 수 있는 breakout 보드를 DFRobot 에서 출시한 제품도 있습니다.
* Gravity: Formaldehyde (HCHO) Sensor
- https://www.dfrobot.com/product-1574.html
깔끔하게 잘 만들었네요. 저는 비싸서 구입하지 않았습니다.
Breakout 보드도 Pin 별로 이미 구분되어 있어서, 조금 아는 사람이면 굳이 DFRobot 제품을 구매할 필요는 없을 듯 하다.
* DFRobot / DFRobotHCHOSensor - A library for DFRobot Gravity HCHO Sensor, Arduino Compatible.
- https://github.com/DFRobot/DFRobotHCHOSensor
* Gravity HCHO WiKi
- https://wiki.dfrobot.com/Gravity__HCHO_Sensor_SKU__SEN0231
DFRobot 도 동일한 센서를 사용했으므로, DAC 소스를 가져다 사용해 봅시다.
/*************************************************** DFRobot Gravity: HCHO Sensor "https://www.dfrobot.com/wiki/index.php/Gravity:_HCHO_Sensor_SKU:_SEN0231" *************************************************** This example reads the concentration of HCHO in air by DAC mode. Created 2016-12-15 By Jason "jason.ling@dfrobot.com@dfrobot.com" GNU Lesser General Public License. See "http://www.gnu.org/licenses/" for details. All above must be included in any redistribution ****************************************************/ /***********Notice and Trouble shooting*************** 1. This code is tested on Arduino Uno with Arduino IDE 1.0.5 r2. 2. In order to protect the sensor, do not touch the white sensor film on the sensor module, and high concentration of Hydrogen sulfide, hydrogen, methanol, ethanol, carbon monoxide should be avoided. 3. Please do not use the modules in systems which related to human being’s safety. ****************************************************/ #define SensorAnalogPin A2 // this pin read the analog voltage from the HCHO sensor #define VREF 5.0 // voltage on AREF pin void setup() { Serial.begin(115200); } void loop() { Serial.print(analogReadPPM()); Serial.println("ppm"); delay(1000); } float analogReadPPM() { float analogVoltage = analogRead(SensorAnalogPin) / 1024.0 * VREF; float ppm = 3.125 * analogVoltage - 1.25; //linear relationship(0.4V for 0 ppm and 2V for 5ppm) if( ppm < 0) { ppm = 0; } else if( ppm > 5) { ppm = 5; } return ppm; }
Arduino 와 연결되는 Pin 정보는 다음과 같습니다.
ZE08-CH2O | Arduino Nano -------------------------- 2 (DAC) | A2 -------------------------- | POWER -------------------------- VCC | 3.3V GND | GND --------------------------
Layout 구성도 입니다.
실재로 구현한 사진 :-)
Default 연결 방식인 Active Upload 방식과는 값의 차이가 많이 날 뿐더러, 일관적인 값을 보여주지 않습니다.
7. DFRobot 용 소스 - UART
이번에는 DFRobot 에서 나온 UART 방식의 소스를 이용해 봅니다.
/*************************************************** DFRobot Gravity: HCHO Sensor "https://www.dfrobot.com/wiki/index.php/Gravity:_HCHO_Sensor_SKU:_SEN0231" *************************************************** This example reads the concentration of HCHO in air by UART mode. Created 2016-12-15 By Jason "jason.ling@dfrobot.com@dfrobot.com" GNU Lesser General Public License. See "http://www.gnu.org/licenses/" for details. All above must be included in any redistribution ****************************************************/ /***********Notice and Trouble shooting*************** 1. This code is tested on Arduino Uno with Arduino IDE 1.0.5 r2. 2. In order to protect the sensor, do not touch the white sensor film on the sensor module, and high concentration of Hydrogen sulfide, hydrogen, methanol, ethanol, carbon monoxide should be avoided. 3. Please do not use the modules in systems which related to human being’s safety. ****************************************************/ #include "DFRobotHCHOSensor.h" #include "SoftwareSerial.h" #define SensorSerialPin 10 // this pin read the uart signal from the HCHO sensor SoftwareSerial sensorSerial(SensorSerialPin, SensorSerialPin); DFRobotHCHOSensor hchoSensor(&sensorSerial); void setup() { sensorSerial.begin(9600); // the baudrate of HCHO is 9600 sensorSerial.listen(); Serial.begin(115200); } void loop() { if(hchoSensor.available() > 0) { Serial.print(hchoSensor.uartReadPPM()); Serial.println("ppm"); } }
Arduino 와의 Pin 연결은 다음과 같습니다.
ZE08-CH2O | Arduino Nano -------------------------- 6 (TX) | D10 -------------------------- | POWER -------------------------- VCC | 3.3V GND | GND --------------------------
Layout 그림도 그려 봤습니다.
실재 구성 모습 입니다.
인터넷 바다를 떠돌다가, ESP8266 을 이용한 소스를 발견하게 됩니다.
* rsalinas/ze08-ch2o-arduino
- https://github.com/rsalinas/ze08-ch2o-arduino
Remember that this sensor requires 5V in Vcc but does NOT tolerate 5V in its RX input. If you just want to use the default, active mode, you don't even need to connect this pin, so you can connect directly 5V, GND and Arduino's RX.
궁극적으로는 WiFi > internet 을 통하여 sensor data 를 올리고, 모니터링 방식이 좋으므로, 잘 되었습니다.
ESP8266 에서 돌아가는 소스라면, WiFi 연결 코드만 추가하면 추가로 arduino 필요 없이 바로 구현이 가능 하겠습니다.
지금까지는, arduino 와 sensor 를 연결하고, ESP8266 은 오로지 WiFi 용으로만 사용하는 구성이었습니다.
ESP8266 에서 sensor 값 감지와 WiFi 가 동시에 되면, arduino 를 사용할 필요가 없어 효율이 좋겠네요.
ZIP 파일을 그대로 Library 에 추가 합니다.
Sketch > Include Library
Libraries 폴더에 보면, 새롭게 올라가 있는 것을 확인할 수 있습니다.
소스를 보면 Basic 하나만 등록되어 있습니다.
File > Examples > ze08-ch2o > Basic
Sketch 는 다음과 같습니다. SoftwareSerial 에서 조금 손을 봤습니다.
#include "ze08_ch2o.h" #include "SoftwareSerial.h" // Instantiate a serial port, whatever Stream you have // SoftwareSerial ch2oSerial(4, SW_SERIAL_UNUSED_PIN); // RX, TX SoftwareSerial ch2oSerial(14, 14); // RX, TX // Instantiate a sensor connected to the previous port Ze08CH2O ch2o{&ch2oSerial}; void setup() { ch2oSerial.begin(9600); ch2oSerial.listen(); Serial.begin(115200); // Serial Monitor } void loop() { Ze08CH2O::concentration_t reading; if (ch2o.read(reading)) { Serial.print("New value: "); Serial.println(reading); } }
여기서 한가지 문제가 있습니다.
ESP8266 에는 RX pin 이 하나만 있어, Serial Monitor 를 이용하면서 "수신" 을 받을 수 있는 pin 이 없다는 것이죠.
즉, sensor 를 연결할 수 있는 Pin 이 없습니다.
남아있는 GPIO2 는 TX 용도이고, 부팅 후에는 HIGH 로, 3V 전압이 걸려 있습니다.
그럼 도대체 이 소스 제작자는 어떻게 확인한 것일 까요?
사실은 ESP2866 이라는 것은 ESP-01 만 뜻하는 것이 아니라, ESP8266EX 을 사용한 WiFi module 의 총칭이었던 것입니다.
저는 지금까지 ESP8266 = ESP-01 인줄 알고, SoftwareSerial 부분에서 더 이상 진행을 못하고 있었습니다.
위의 도식처럼 ESP8266EX 에는, 더 많은 GPIO 를 지원하고 있었습니다.
단순히, ESP-01 의 pin out 갯수가 적었던 것이였죠. 더 많은 연결을 위해 ESP-01 도 pin out 을 처음부터 늘려 줬으면 어떠했을까 합니다.
어떤 사람이 "it's a shame to have such a small number of GPIOs at ESP-01" 라고 쓴 글을 본것 같습니다.
저도 chip diagram 을 보고, 납땜을 시도 했습니다.... 만 실패 했습니다. 너무 조밀합니다.
굴하지 않고, ESP8266EX chip 을 사용하면서 Pinout 이 확장된 breakout 모델인 ESP-03 을 구입해서 연결 했습니다!
연결할 수 있는 Pinout - GPIO 가 많아서 행복합니다.
Pin 연결도는 다음과 같습니다.
ZE08-CH2O | ESP-03 ---------------------- 6 (TX) | GPIO 14 ---------------------- | POWER ---------------------- VCC | 3.3V GND | GND ----------------------
실재 구성도는 다음과 같습니다.
Serial Monitor 까지 연결한 모습이 다음과 같습니다. ESP-03 의 GPIO 14 에 ZE08-CH2O 의 TX 와 연결되어 있습니다.
기본 소스에 IoT 솔루션인 Blynk 소스를 입혀 봤습니다. 자세한 내용은 아래 포스트에 올려 놨습니다.
* Software | Blynk 사용해 보기
- https://chocoball.tistory.com/entry/Software-Blynk-howto
이렇게 하므로써, WiFi 연결까지 소스에 한방에 녹여 놓을 수 있습니다.
#include "ze08_ch2o.h" #include "SoftwareSerial.h" SoftwareSerial ch2oSerial(14, 14); // RX, TX Ze08CH2O ch2o{&ch2oSerial}; int sensorData; /* Comment this out to disable prints and save space */ #define BLYNK_PRINT Serial #include "ESP8266WiFi.h" #include "BlynkSimpleEsp8266.h" // You should get Auth Token in the Blynk App. // Go to the Project Settings (nut icon). char auth[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; // Your WiFi credentials. // Set password to "" for open networks. char ssid[] = "XXXXXXXXXXXX"; char pass[] = "YYYYYYYYYYYYYYYYYYY"; BlynkTimer timer; // This function sends Arduino's up time every second to Virtual Pin (5). // In the app, Widget's reading frequency should be set to PUSH. This means // that you define how often to send data to Blynk App. void myTimerEvent() { // You can send any value at any time. // Please don't send more that 10 values per second. Ze08CH2O::concentration_t reading; if (ch2o.read(reading)) { Serial.print("ZE08-CH2O : "); Serial.println(reading); sensorData = reading; } Blynk.virtualWrite(V5, sensorData); } void setup() { // Debug console Serial.begin(115200); ch2oSerial.begin(9600); ch2oSerial.listen(); Blynk.begin(auth, ssid, pass); // You can also specify server: //Blynk.begin(auth, ssid, pass, "blynk-cloud.com", 80); //Blynk.begin(auth, ssid, pass, IPAddress(192,168,1,100), 8080); // Setup a function to be called every second timer.setInterval(5000L, myTimerEvent); } void loop() { Blynk.run(); timer.run(); // Initiates BlynkTimer }
아래와 같이 값들이 표시됩니다.
값의 범위가 50 ~ 150 정도여서, 기준을 모르겠어나, 값의 변동이 기민하게 발생하는 것을 보니, 문제 없을 듯 합니다.
나누기 100 을 하면, UART 방식의 값과 거의 비슷해 집니다.
문제 없이 Blynk 어플에서 값들을 확인할 수 있습니다.
FIN
ZE08-CH2O 의 연결 방식인 DAC / UART 는 시험해 봤으나, PWM 은 정보가 없어서 시도해 보지 못했네요.
나중에 알게 되면 추가하도록 하겠습니다.
Formaldehyde 센서 확인도 끝났으니, 자 다음 센서요~.
'Hardware' 카테고리의 다른 글
Hardware | Fuji Xerox CP116w 수리 성공기 (52) | 2020.10.07 |
---|---|
Hardware | ESP-03 사용기 (0) | 2020.08.17 |
Hardware | ROKU 로 화면 미러링 사용해 보기 (0) | 2020.07.29 |
Hardware | SK 스마트미러링 사용해 보기 (2) | 2020.07.28 |
Hardware | Vici VC97 Multimeter 구매기 (0) | 2020.07.27 |