'2019/05'에 해당되는 글 3건

  1. 2019.05.05 Hardware | tilt sensor 를 사용해 보자
  2. 2019.05.05 Hardware | vibration sensor 를 사용해 보자
  3. 2019.05.01 Hardware | 샤오미 Mi Band 3 화면 보호 필름 구매기

Hardware | tilt sensor 를 사용해 보자

|

이 글은 아래 포스트와 연결되는 글 입니다. 


* Hardware | vibration sensor 를 사용해 보자

https://chocoball.tistory.com/entry/Hardware-vibration-sensor


저번에 잘못 배송되어 온 센서가, 이 Tilt Sensor 입니다.

원래는 Vibration Sensor 를 구매하려 했는데, 사양이 다른 이 기울기 센서가 왔던 것이죠.


동작 방식도 다르다 보니, 이렇게 따로 구분하여 글을 올립니다.




1. SW-520D tilt sensor


이 Tilt 센서는 의도치 않게 구매하게 되었습니다.

아래 링크에서 보이듯이 SW-18015P 라고 되어 있는데 거짓말 입니다.


* 3pin KY-002 SW-18015P Shock Vibration Switch Sensor Module for arduino Diy Kit 1PCS

https://www.aliexpress.com/item/3pin-KY-002-SW-18015P-Shock-Vibration-Switch-Sensor-Module-for-arduino-Diy-Kit-1PCS/32843226927.html



도착은 합니다만...



Vibration Sensor 의 특징인 한쪽 다리가 가는게 아니라, 이놈은 두가닥 모두 두껍습니다.



음?!!!



센서 표기를 보니 SW-18015P 가 아니라, SW-520D 라고 되어 있네요?

제품 사양을 확인해 보니, SW-180 계열의 스프링 형태가 아니라 굴러다니는 공이 안에 들어있는 구조 입니다.



SW-520D.pdf


원리가 다르다 보니 센싱에 있어서도 차이가 있어 보입니다.





2. Layout


센서의 연결은 간단합니다. 전원 +/- 와 신호선 1개.


기울기 센서는 안에 들어가 있는 볼이 리드선과 접촉했냐 안했냐에 따라서 센싱을 합니다.

그래서, 세워졌을 때 중력으로 두 개의 볼과 리드선이 모두 접촉해 있을때를 기준으로 ON 으로 인식합니다.


접속은 다음과 같습니다.


 SW-520D | Arduino Nano
------------------------
    S    |     D8
   GND   |     GND
   VCC   |     3.3V
------------------------


회로도는 다음과 같습니다.



실재 구성 모습니다.






3. Sketch


Source 는 다음과 같습니다.


int LED = 3; // define the LED Pin
int shock = 8; // define the sensor Pin 
int val; // define a numeric variable val 

void setup () {
	Serial.begin(9600);      // Only for debugging
	pinMode (LED, OUTPUT); // LED pin as output
	pinMode (shock, INPUT); // input from KY-002 sensor
}

void loop () {
	val = digitalRead(shock); // read the value from KY-002
	
	if (val == HIGH ) { // when sensor detects shock, LED flashes
		digitalWrite(LED, HIGH);
		Serial.println(val);
	} else {
		digitalWrite(LED, LOW);
		Serial.println(val);
	}
}




4. 결과


디지털 pin 에 입력이 연결되어 있다 보니, 1 or 0 으로 표시됩니다.



사양서 처럼, 세워져 있는 형태가 기준이 됩니다.

손가락으로 튕겨 진동을 주면 흔들리는 정도에 따라 센싱을 합니다.


옆으로 뉘이면 계속 센싱을 하는것 처럼 되어 버리니, 이 센서를 사용함에 있어서는 세우는 것이 중요해 보입니다.






FIN


뉘거나 기울이면, 오작동 하지만, 세워 놓기만 하면 꽤나 민감하게 반응해 줍니다.

Vibration Sensor 와는 다르게 Tilt Sensor 도 괜찮아 보입니다.


처음 제품이 잘못 온것도 있지만, 이렇게 테스트 해볼 수 있어서 행운이었습니다.


And

Hardware | vibration sensor 를 사용해 보자

|

1. 원리


왠만한 센서들을 시험해 봐서, 점점 arduino 와 놀아 볼 sensor 들이 적어짐을 요즘 느끼고 있습니다.

여러 사이트를 돌아다니다가 Vibration Sensor 가 있음을 알게 됩니다.


오호이, 바로 구입하여 시험해 봤습니다. (물론 AliExpress 이고, 이번 배송은 한달...)



원리는, 코일로 감겨있는 전선이 흔들리면서 중앙에 있는 심지에 닿아, 전기적으로 short 되는 정도를 가지고 측정하는 것입니다.


또한 모델별 제품의 특성으로는,

센서 원통이 길수로 예민하게 반응하고, 모델명에 "P" 가 들어가 있으면 막혀있는 구조라고 합니다.



* 제품 설명 PDF : usr_attachment_Vibration_Sensor_SW180.PDF





2. 구입


AliExpress 에서 검색하면 여러 종류가 나오지만, 그들 중에서 외형이 깔끔한 제품을 선택합니다.

Order 갯수가 3개밖에 없어서 좀 불안하기는 합니다만, 주문해 봅니다.


* KY-002 Vibration Switch Module Vibration Sensor SW-18015P For

https://www.aliexpress.com/item/KY-002-Vibration-Switch-Module-Vibration-Sensor-SW-18015P-For-Arduino/32274071530.html



도착은 했지만, 일반적인 봉투에 그냥 보내서 90도가 꺾인 모습으로 배송되었습니다.

그러면서 단선도 되었네요.



Refund 요청 넣고, 정신줄을 바로잡은 다음, 다시 제품을 검색합니다.


* 3pin KY-002 SW-18015P Shock Vibration Switch Sensor Module for arduino Diy Kit 1PCS

https://www.aliexpress.com/item/3pin-KY-002-SW-18015P-Shock-Vibration-Switch-Sensor-Module-for-arduino-Diy-Kit-1PCS/32843226927.html



이놈은 아예 꺾여있고, terminal 두께가 더 두껍습니다.

원래 한쪽 터미널은 얇게 표현된 사양서와 달라 보입니다만, 우선 기본 동작을 확인하는게 먼저니 이것을 구입합니다.



음? 그런데 새로 도착한 센서 번호가 SW-18015P 가 아니라, SW-520D 라고 표기되어 있네요?

사양을 확인해 보니, SW-18015P 의 스프링 형태가 아니라 굴러다니는 공이 안에 들어있는 구조 입니다.



SW-520D.pdf


원리가 다르다 보니 센싱에 있어서도 차이가 있어 보입니다.

이 Tilt Sensor는 다음 포스트에서 따로 다루었습니다.


* Hardware | tilt sensor 를 사용해 보자

https://chocoball.tistory.com/entry/Hardware-tilt-sensor





3. 센서 /wo breakout board


음... 다시 정신을 차리고, SW-18010P 센서 구입하기 위해 AliExpress 를 뒤집니다.


* 10pcs/lot SW-18010P SW18010P Snap Switch Shock Sensor High Sensitive Vibration Switches ROHS High Quality

https://www.aliexpress.com/item/10pcs-lot-SW-18010P-SW18010P-Snap-Switch-Shock-Sensor-High-Sensitive-Vibration-Switches-ROHS-High-Quality/32864605129.html



이렇게 breakout 보드 없이 센서만 따로 파네요.



센서만 따로 구입했습니다.



이번에는 틀림 없는 "SW-18010P" 입니다.



우여곡절 끝에 기존 고장난 센서와의 스와핑이 끝났습니다.


처음 구입했던, 고장나서 배송되어 온 센서를 가위로 잘라 봤습니다.



사양서 대로 중간에 두꺼운 봉이 있고, 그 주위를 스프링이 접촉없이 둘러 쌓인 구조 입니다.



스프링이 촘촘해서 요로코롬 늘어나요.

진동이 오면 스프링이 어떻게 흔들리나 동영상도 찍어 봤습니다.






4. Layout


연결은 GND 에 5V 를 인가하는 모양으로 연결하였습니다.


SW-18010P | Arduino Nano -------------------------- S | A0 GND | 5V Vcc | --------------------------


Vcc 에 왜 전원이 인가되지 않고, GND 에 인가되었냐고 생각할 수 있습니다.

지금껏 해오던 것처럼, GND / Vcc 에 마이너스 (-) 와 전원을 연결하면 제대로 동작하지 않더군요.


여러 조합을 시험해 본 결과, 센서와 Breakout 보드와 결합된 모양을 감안하여,

두꺼운 부분이 Vcc 와 연결되어 전압이 인가되어야 하고, 가느다란 선이 analog input 으로 가야 맞아 보입니다.


솔직하게 S / + / - 모두 연결해도 되나, 그렇게 되면 너무 둔감하게 반응합니다.

이는 아래 사진처럼 S / + 단자 사이에 저항을 끼어 놔서, 저항에 걸리는 전압과 센서에 걸리는 전압을 동일하게 가져가게 되고,

저항의 값이 센서의 감도를 좌우하게 됩므로 calibration 이 없으면 의미가 없어집니다.



아래는 최종 연결도 입니다.



아래는 실재 사진이구요.






5. Sketch


진동이 감지되면 LED가 켜지고 buzzer 가 울리는 코드 입니다.

그냥 진동 센서만 가지고 놀면 재미가 없으니, LED 와 Buzzer 도 함께 구성해 봤습니다.


또한, analogRead() 함수를 사용하여, 입력 신호를 1023개로 레벨링 하여 숫자로 표현해 줍니다.


마이너스(-) 단자에 5V 를 입력시켰으니, A0 에 max 1023 으로 값이 나올것 입니다.

관련해서는 아래 7. 참고 를 참조해 주세요.


센싱의 가장 적절한 값으로 1000 이상 되면 LED 와 Piezo 를 활성화 하게 했습니다.

그 밑의 값도 나옵니다만, 예민한 것도 있고, 진동 강도에 따라 살짝 안맞는 부분이 있어 보입니다.


int LED = 3; // define the LED Pin
int PIEZO = 2; // buzzer
int val; // define a numeric variable val 

void setup () {
  Serial.begin(9600); // Only for debugging
  pinMode (LED, OUTPUT); // LED pin as output
}

void loop () {
	val = analogRead(A0); // read the value from KY-002
	
	if (val > 1000 ) { // when sensor detects shock, LED flashes
		digitalWrite(LED, HIGH);
		Serial.print("Sensor Value: ");
		Serial.println(val);
		tone(PIEZO, 500);
	} else {
		digitalWrite(LED, LOW);
		Serial.print("Sensor Value: ");
		Serial.println(val);
		noTone(PIEZO);
	}
}


기준값 조정 - calibration - 이 되어야 정밀하게 사용할 수 있을 듯 한데요,

정밀하게 사용하려면, 아래 처럼 breakout 보드에서 입력값 조정하는 회로가 추가되어야 할 것입니다.



가능하면 위와 같은 breakout 보드를 사용할 것 그랬습니다.

(그놈의 돈이...)





6. 결과


Serial Monitor 로는 아래와 같이 아날로그 값이 감지됩니다.



손가락으로 가볍게 치거나 흔들면 1000 이상 되기 때문에, 이때에 LED 와 Piezo 가 반응하도록 했습니다.

아래는 그 동영상 입니다.






7. 참고


처음 arduino 를 접하면서 analog 값에 대한 정확한 사용을 몰랐는데,

이번에 1023 으로 자동 leveling 하는 것을 정확하게 알게 되었습니다.


아래는 아날로그 값을 입력받는 방법에 대한 내용을 arduino 사이트에서 캡춰해 봤습니다.


* Read Analog Voltage

https://www.arduino.cc/en/Tutorial/ReadAnalogVoltage


The microcontroller of the board has a circuit inside called an analog-to-digital converter or ADC that reads this changing voltage and converts it to a number between 0 and 1023. When the shaft is turned all the way in one direction, there are 0 volts going to the pin, and the input value is 0. When the shaft is turned all the way in the opposite direction, there are 5 volts going to the pin and the input value is 1023. In between, analogRead() returns a number between 0 and 1023 that is proportional to the amount of voltage being applied to the pin.





FIN


처음 시작이 고장난 센서였고, 센서만 따로 구매하여 스왑 하는 등, 깔끔하지는 못했으나,

GND 단자에 Vcc 를 연결하면서부터 어느정도 활용할 수 있는 정도로 되어서 기쁩니다.


다음에 vibration sensor 를 다시금 사용하게 된다면, 전용 breakout 보드에 붙은 센서를 구입해서 활용해 보겠습니다.


And

Hardware | 샤오미 Mi Band 3 화면 보호 필름 구매기

|

1. 생활 스크레치


일전에 Xiaomi Mi Band 3 를 구매하여 잘 사용하고 있었습니다.


* Hardware | Xiaomi Mi Band 3 구매기

https://chocoball.tistory.com/entry/Hardware-Xiaomi-Mi-Band-3-unboxing


다만, 손목에 차는 시계같은 것이라, 가방 끈의 금속이나 문같은 곳세 긁히는 경우가 많이 생깁니다.



위의 사진에서 보듯 저도 상처가 좀 났네요.

그리 고가의 물건도 아니고, 또한 상처가 쉽게 나는게 아니라서 궂이 필요는 없습니다.... 만.


스마트폰 강화유리 붙이듯 샤오미 미밴드 3 용으로 혹시 없나 알아 봤습니다.




2. 구입


알리에서 검색하니 바로 뜨네요.

이미 8천명 이상이 구입해 갔고, 별 점수가 나쁘지 않아 아래 제품으로 선택합니다.


검색시 "protective" 와 "tempered film" 으로 검색하면 됩니다.


다른 제품들은, 미밴드 3의 스크린이 조금 곡면이라 들떠버려서 쓸게 못된다고 하더군요.

특히 본체 구입시 주는 번들 제품은 쓰레기라고 합니다.

구입하실 때에는, 구입자 수와 review 를 꼭 참고해 보세요.


* 5Pcs Smart Bracelet For Xiaomi MI band 3 Protective Film High-Definition Non-Curved Edge Steel Tough Tempered Film

https://www.aliexpress.com/item/5Pcs-Smart-Bracelet-For-Xiaomi-MI-band-3-Protective-Film-High-Definition-Non-Curved-Edge-Steel/32946408110.html



회사 동료들도 "왜" 라고 했지만, 5개에 천원도 안해서 전혀 부담은 없습니다.





3. 도착


2주만에 꽤나 빨리 도착했습니다.



요로코롬 생겼습니다.






4. 장착


번호 순서에 맞게, 1번 BACK 의 커버를 띠어 내고, 본체에 부착합니다.



둥그런 부분을 기준으로 맞추면 쉽습니다.


뭐 실패하면 5개나 있이니, 다른 새거로 다시 하면 되죠 뭐.

스마트폰에 강화유리 붙이는 것과는 다르게, 마음이 너무 편하고 전혀 부담되지 않습니다.



짜잔~!

먼지는 조금 들어갔으나 깔끔하게 잘 된듯 합니다.



특히 이 재질이 연질의 비닐이라 둥그런 모서리에도 촥 달라붙는것 같아요.



위의 사진에서 보이듯이 둥그런 면도 잘 붙어 있습니다.




FIN


금액도 부담가지 않고, 느긋한 시간에 쉽게 할 수 있는 작업이었습니다.


재질이 딱딱하지 않은 비닐 소재라, 둥그런 모서리도 신축성 있게 잘 달라 붙어서 좋습니다.

어떤 충격으로부터 보호해 준다는 것 보다는, 생활 긁힘을 방지해 주는 시트지 정도의 느낌입니다.


재질이 살짝 두깨가 있는 말랑말랑함이다 보니, 붙인 이후로도 이질감이 없구요.


고가의 Mi Band 3 는 아니지만, 오래 잘 쓸 수 있도록, 화면 보호 필름을 붙여 봤습니다.

붙이고 하루도 안된지라, 시간이 지나면 어떻게 변하게 되는지 나중에 update 해보겠습니다.




Update - 20191220


보호 필름이 벗겨져서 새로 붙였습니다.



헤어드라이기로 열을 가하니, 곡면이 쉽게 붙는군요.

곡면 부분이 조금씩 일어나서 벗겨지는 결과가 오는데, 열로 가열하고 붙이면, 식으면서 촥 하고 달라 붙는 것 같습니다.



다시 붙였는데, 잘 된것 같습니다.


And
prev | 1 | next