Light Interaction Assistance for Hard of Hearing Drivers
๐ Members
๊น์ฃผํ ์กฐ์ ์ฃผ ์ฐจ๋ง์์
1. Introduction
1.1 Background
ํ๊ตญ๊ตํต์ฅ์ ์ธํํ์ ๋ฐ๋ฅด๋ฉด, ์ฒญ๊ฐ ์ฅ์ ์ธ์ ๊ฒฝ์ฐ ๋ณด์ฒญ๊ธฐ๋ฅผ ์ฐฉ์ฉํ์์ ๊ฒฝ์ฐ 40dB์ด์ ๋ค์ ์ ์์ผ๋ฉด ์ด์ ๋ฉดํ์ฆ์ ์ทจ๋ํ ์ ์๋ ์กฐ๊ฑด์ ์ถฉ์กฑํ๋ค. ๋ณด์ฒญ๊ธฐ์ ์ฐฉ์ฉํด๋ 40dB ๋ฏธ๋ง์ผ๋ก ๋ฃ๋๋ค๋ฉด, 1์ข ๋ฐ ํน์๋ฉดํ๋ฅผ ์ ์ธํ๊ณ ์ด์ ๋ฉดํ๋ฅผ ์ทจ๋ํ ์ ์๋ ์กฐ๊ฑด์ ์ถฉ์กฑํ๋ฉฐ ๋ฉดํ๋ฅผ ์ทจ๋ํ์์ ๊ฒฝ์ฐ ์ฐจ๋์ ๋ณผ๋ก๊ฑฐ์ธ๊ณผ ์ฒญ๊ฐ ์ฅ์ ์ธ ํ์ง๋ฅผ ๋ถ์ฐฉํด์ผ ํ๋ค. ์ด์ ์ ์ฌ๋ฌ ๊ฐ๊ฐ ์ ๋ณด๋ฅผ ๋ฐํ์ผ๋ก ์ํฉํ๋จ์ด ํ์ํ์ง๋ง, ์ฒญ๊ฐ์ฅ์ ์ธ ์ด์ ์๋ ์๊ฐ ์ ๋ณด์ ๋ ์์กดํ ์ ๋ฐ์ ์๋ค. ์ฒญ๊ฐ์ฅ์ ์ธ ์ด์ ์๋ ์ฐ๋ฆฌ๋๋ผ์ ์ ์ฒด ์ด์ ์ ์ ์ค์์ 1%์ ํด๋นํ๋ฉฐ ๊ทธ๋ค์ด ๋๋ก์์ ์์ ํ๊ฒ ์ฃผํํ ์ ์๊ธฐ ์ํ ์ ๋๋ ์์คํ ์ด ๋ถ์กฑํ๋ค.
1.2 Goal
์ด์ ์ค ์ฒญ๊ฐ ์ ๋ณด๋ ์์ ๊ณผ ์ง๊ฒฐ๋ ๋งค์ฐ ์ค์ํ ์ ๋ณด์ด๋ค. ๋ณธ ์ฐ๊ตฌ์์๋ ์ค์ํ ์๋ฆฌ๋ฅผ ์ฒญ๊ฐ์ฅ์ ์ธ๋ค์ด ๋์น์ง ์๊ณ ์ธ์งํ ์ ์๋ ์์คํ ์ ๋ง๋ค๊ณ ์ํ๋ค. ๋ฐ๋ผ์, ์ค์ํ ์๋ฆฌ ์ ๋ณด 3๊ฐ์ง์ธ ์๋์ฐจ์ ํฌ๋ฝ์ ์๋ฆฌ, ๊ฐ์ข ์ฌ์ด๋ ์๋ฆฌ ๊ทธ๋ฆฌ๊ณ ์ฃผ์ฐจํ ๋์ ํ๋ฐฉ ๊ฑฐ๋ฆฌ ๊ฐ์ง ์ผ์์์ ๋์ค๋ ์๋ฆฌ ์ ๋ณด๋ฅผ ๋น ์ธํฐ๋ ์ ์ผ๋ก ํํํ๋ค.
๊ทธ๋ฆผ 1. ์ค์ํ ์ฒญ๊ฐ ์ ๋ณด 3๊ฐ์ง
2. Main contents
How to build your program
์ ์ฒด์ ์ธ ํ๋ก๊ทธ๋จ ๊ฐ๋ฐ์ arduino์ python์ ์ด์ฉํ์ฌ ๊ตฌํํ์๋ค. ์ด ์์คํ ์์ ๊ฐ์ฅ ์ค์ํ ๊ฒ์ ์๋ฆฌ ์ ๋ณด๋ฅผ ๋น ์ ๋ณด๋ก ํํํ๋ ๊ฒ์ด๋ค. ์๋์ด๋ ธ์ ์ด์ํ ์ผ์์ ์ฌ์ด๋ ์ผ์๋ฅผ ํตํด ์๋ฆฌ์ ๋ณด๋ฅผ ํ์ ํ๊ณ philips hue๋ฅผ ํตํด์ ๋น์ ๋ํ๋ด ์ด์ ์๊ฐ ์ํฉ์ ๋น ๋ฅด๊ฒ ์ธ์งํ๊ณ ๋์ฒํ ์ ์๋๋ก ๋๋๋ค. ๋ฐ์ดํฐ๋กค ์ ์กํ๊ณ ์ฝ์ด์ ๋น ์ ๋ณด๋ฅผ ์ถ๋ ฅํ๋ ๋ฐฉ๋ฒ์ผ๋ก ๋ค์๊ณผ ๊ฐ์ ๋ฐฉ๋ฒ์ ์๋ํ์๋ค.
Plan A. arduino โ iftt โ philips hue
Arduino์์ ์ป์ ๋ฐ์ดํฐ๋ฅผ ๋ฐํ์ผ๋ก ifttt๋ฅผ ํตํด์ philips hue๋ฅผ ์ ์ดํ๋ ๋ฐฉ์์ด๋ค.
Plan B. arduino โ philips hue
Arduino์์ ์ผ์ ๊ฐ์ ๋ฐ๋ก python์์ ์ฝ์ด์ python code๋ก philips hue๋ฅผ ์ ์ดํ๋ ๋ฐฉ์์ด๋ค.
Plan C. arduino file write โ python file read โ philips hue
Arduino์์ ์ผ์ ๊ฐ์ ํ์ผ์ ์ฐ๊ณ ๊ทธ ๊ฐ์ python code๊ฐ ์ฝ์ด์ philips hue๋ฅผ ์ ์ดํ๋ ๋ฐฉ์์ด๋ค.
Necessary images
a. Idea sketches
๊ทธ๋ฆผ2. ์ด๊ธฐ์ ์ค๊ณํ ๋น ์ธํฐ๋ ์
b. A screen capture of program
๊ทธ๋ฆผ3. ์ฌ์ด๋ ์ผ์์ ๋ฐ๋ฅธ ๋น์ ๋ณํ
Explanation of source code
-
Connect Hue to Python
''' * ๋ค์ ์ฝ๋๋ python๊ณผ philips hue๋ฅผ ์ฐ๋ํ ํ python์ผ๋ก philips hue๋ฅผ ์ ์ดํ๋ ๊ฒ์ด๋ค. * ์ฐ์ philips hue์ ์ฐ๊ฒฐ์ ํ๊ณ ip ์ฃผ์๋ฅผ ๋ฐ์์ bridge๋ฅผ ๋๋ฅด๊ณ ํ๋ก๊ทธ๋จ์ ์คํํ๋ฉด ์ฐ๋์ด ๋๋ค. * ์ฃผ์ํ ์ ์ ๋์ผํ ๋คํธ์ํฌ์ฌ์ผ ์ฐ๊ฒฐ์ด ๋๋ค. ''' # In[1]: from phue import Bridge import random as r from time import sleep import logging logging.basicConfig() #hue์ ip์ฃผ์๋ฅผ ๋ฐ์์์ ์ฐ๊ฒฐํ๋ค. bridge = Bridge("192.168.0.34") #์ฐ๊ฒฐ์ ํ ๋ bridge์ ๋ฒํผ์ ๋๋ฅด๊ณ ์ฝ๋๋ฅผ ๋๋ ค์ผ ์ฐ๊ฒฐ์ด ๋๋ค. bridge.connect() lights = bridge.get_light_objects('name') # ๋ค์์ ์ํฉ์ ๋ฐ๋ผ philips hue๋ฅผ ์ ์ดํ ๊ฒ์ด๋ค. # In[2]: lights['Kitchen'].brightness = 50 #bridge.set_light('Kitchen', 'bri', 70) while True: data = input("choose situation: ") # ์ฌ์ด๋ ์ผ์๊ฐ ๋ฉ๋ฆฌ์๋ ์๋ฆฌ๋ฅผ ์ธ์ํ์ ๊ฒฝ์ฐ if data == 1: #slow green i=0 while True: if i==5: break lights["Kitchen"].on = True lights["Kitchen"].hue = 46000 sleep(0.7) lights["Kitchen"].on = False sleep(0.7) i +=1 elif data == 2: #fast yellow i=0 while True: if i==5: break lights["Kitchen"].on = True lights["Kitchen"].hue = 46000 sleep(0.5) lights["Kitchen"].on = False sleep(0.5) i +=1 elif data == 3: #fast red i=0 while True: if i==10: break lights["Kitchen"].on = True lights["Kitchen"].hue = 46000 sleep(0.5) lights["Kitchen"].on = False sleep(0.5) i +=1 elif data == 4: #fast red lights["Kitchen"].on = True lights["Kitchen"].hue = 1000 sleep(10) lights["Kitchen"].on = False elif data == 5: for i in range(1,3): lights["Kitchen"].on = True lights["Kitchen"].hue = 1000 sleep(1) lights["Kitchen"].hue = 15000 sleep(1) lights["Kitchen"].hue = 25000 sleep(1) lights["Kitchen"].hue = 25000 sleep(1) lights["Kitchen"].hue = 15000 sleep(1) lights["Kitchen"].hue = 1000 sleep(1) lights["Kitchen"].on = False elif data == 6: lights['Kitchen'].brightness = 70 lights["Kitchen"].on = True lights["Kitchen"].hue = 25000 sleep(1) lights['Kitchen'].brightness =50 lights["Kitchen"].on = False elif data == 7: lights['Kitchen'].brightness = 70 lights["Kitchen"].on = True lights["Kitchen"].hue = 15000 sleep(1) lights['Kitchen'].brightness =50 lights["Kitchen"].on = False elif data == 8: lights['Kitchen'].brightness = 70 lights["Kitchen"].on = True lights["Kitchen"].hue = 1000 sleep(1) lights['Kitchen'].brightness =50 lights["Kitchen"].on = False else: print("Bye!\n") break
๊ทธ๋ฆผ4. ์กฐ๋ช ์ด๋ฆ์ Kitchen์ผ๋ก ์ค์ ํ์๋ค.
-
Arduino with ultrasonic sensor
void setup() { pinMode(2, OUTPUT); pinMode(3, INPUT); } void loop() { analogWrite(11, 0); analogWrite(10, 0); analogWrite(9, 0); digitalWrite(2, HIGH); delayMicroseconds(10); digitalWrite(2, LOW); long duration = pulseIn(3, HIGH); if (duration == 0) { return; } long distance = duration / 58.2; while (distance < 5) { analogWrite(11, 255); long duration = pulseIn(3, HIGH); if (duration == 0) { return; } long distance = duration / 58.2; } while (distance < 15) { analogWrite(11, 255); delay(50); analogWrite(11, 0); delay(20); long duration = pulseIn(3, HIGH); if (duration == 0) { return; } long distance = duration / 58.2; } while (distance < 22 and distance >= 15) { analogWrite(11, 255); delay(100); analogWrite(11, 0); delay(100 ); long duration = pulseIn(3, HIGH); if (duration == 0) { return; } long distance = duration / 58.2; } while (distance < 30 and distance >= 22) { analogWrite(11, 255); delay(100); analogWrite(11, 0); delay(200); long duration = pulseIn(3, HIGH); if (duration == 0) { return; } long distance = duration / 58.2
๊ทธ๋ฆผ5. ์๋์ด๋ ธ ๋ฐฐ์
Explanation of your program with images
๊ทธ๋ฆผ6. ์ฌ์ฉ์ ํ ์คํธ๋ฅผ ๋ฐํ์ผ๋ก ๊ฐ์ ํ ๋น ์ธํฐ๋ ์
์ด ์์คํ ์์ ๊ฐ์ฅ ์ค์ํ interaction์ ์ด์ ์๊ฐ ์ป๋ ์๋ฆฌ ์ ๋ณด๋ฅผ ๋น์ผ๋ก ๋ํ๋ด์ค์ผ ํ๋ค๋ ๊ฒ์ด๋ค. ๋น ์ ๋ณด๊ฐ ์ถ๋ ฅ๋๋ ์ํฉ์ ์ฃผํ ์ค(D)์ด๊ฑฐ๋ ์ฐจ๊ฐ ํ์ง(R)ํ๊ฑฐ๋, ์ฃผ์ฐจ๋ ์ํฉ(P)์ด๋ค. ์ฃผํ์ ํ๋ ๊ฒฝ์ฐ์๋ ์ด์ํ ์ผ์๋ ์๋ํ์ง ์์ผ๋ฉฐ, ์ฌ์ด๋ ์๋ฆฌ๋ ์ฐจ๋ ๊ฒฝ์ ์๋ฆฌ์ ํฌ๊ธฐ์ ๋ฐ๋ผ์ ๋น์ด ํํ๋๋ค. ์ฆ, ์๋ฆฌ ์ ๋ณด๋ง ํ์ ํ๋ ๊ฒ์ด๋ค. ์๋ฆฌ๋ 40dB์ด์์ผ ๊ฒฝ์ฐ ์ธ์๋๋ค. ์ ์ผ ์์ ์๋ฆฌ๋ ๋ น์๋ถํฐ ๊ทธ๋ผ๋ฐ์ด์ ์ผ๋ก ์ ์ผ ํฐ ์๋ฆฌ๋ ๋นจ๊ฐ์์ผ๋ก ํํ๋๋ค. ์ฌ์ด๋ ์ด ์ง๋๊ฐ ๊ฒฝ์ฐ, ์๋ฆฌ์ ํฌ๊ธฐ ๋ณํ์ ๋ฐ๋ผ ๋น์ ๋ณํ๊ฐ ์๊ณ , ์ฃผ๋ณ ์ฐจ๋์ ๊ฒฝ์ ์๋ฆฌ์ ๊ฒฝ์ฐ ๊ฒฝ์ ์ด ์ง์๋๋ ๋์ ๊ฒฝ์ ์๋ฆฌ ํฌ๊ธฐ์ ๋ฐ๋ผ ๋น์ด ํํ๋๋ค.
์ถ๊ฐ์ ์ผ๋ก, ์ฌ์ฉ์ ํ ์คํธ ํ ๋น์ ๊ฒฝ์ฐ ์์ ๋ฐ๋ผ ์ธ์๋๋ ์ ๋๊ฐ ๋ค๋ฅด๋ค๋ ๊ฒ์ ์ ์ ์์๋ค. ์๋ฅผ ๋ค์ด, ๋นจ๊ฐ์์ ๊ฒฝ์ฐ ๋ค๋ฅธ ์๋ณด๋ค ๋ ๋ฐ์์ผ ๋น์ ๋ ์ ์ธ์ํ ์ ์์๋ค. ์ด์ ์ฌ์ฉ์ ํ ์คํธ ํ ์์ ๋ฐ๋ผ ๋น์ ์ธ๊ธฐ๋ฅผ ๋ค๋ฅด๊ฒ ํ์๋ค. ๋ํ ์์ง ๊ตฌํ์ ๋์ง ์์์ง๋ง ๋ฎ๊ณผ ๋ฐค, ์ธ๋ถ์ ๋ ์จ๋ ํ๊ฒฝ์ ๋ฐ๋ผ ๋น์ ์ธ๊ธฐ๋ฅผ ์กฐ์ ํ๋ค๋ฉด ๋น์ ๋ ์ฝ๊ฒ ์ธ์งํ ์ ์์ ๊ฒ์ด๋ค.
์ฐจ๊ฐ parking(P)์ํ ์ด๊ฑฐ๋, ํ์ง(R)ํ๋ ์ํฉ์์๋ ์ฌ์ด๋ ์ผ์์ ๋๋ถ์ด ์ด์ํ ์ผ์(๊ฑฐ๋ฆฌ ๊ฐ์ง ์ผ์)๊ฐ ์๋ํ๋ค. ์ฐจ๊ฐ ํ์งํ๋ ์ํฉ์์ ๊ฑฐ๋ฆฌ์ ๋ฐ๋ผ ์๋ฆฌ๋ก ๋ฌผ์ฒด์์ ๊ฑฐ๋ฆฌ๋ฅผ ๋ํ๋ด์ฃผ๋๋ฐ ์ด๋ฅผ ๋น ์ ๋ณด๋ก ๋ํ๋ธ๋ค. ์ด๋์ ๋น์ ํ๊ฐ์ง ์์ธ ํ๋์์ ํตํด์๋ง ๋ํ๋ธ๋ค. ๊ทธ๋ฆผ2์ ๋์์๋ ๊ฑฐ๋ฆฌ์ ๋ฐ๋ฅธ ๋น ๋ณํ์์ ์ ์ ์๋ฏ์ด, ์ผ์ ํ ๊ฑฐ๋ฆฌ์ ๋ฐ๋ผ์ ๋น์ ๊น๋นก์ด๋ ๋น ๋ฅด๊ธฐ๊ฐ ๋ณํ๋๋ก ํ์๋ค. ๋ง์ง๋ง ์ฐจ๊ฐ ๋ฌผ์ฒด์ 40cm ๋ฏธ๋ง์ผ๋ก ๊ฐ๊น์์ก์ ๋์๋ ๋น์ด ๊น๋นก์ด์ง ์๊ณ ๊ณ์ ์ผ์ง๋ฉฐ ๋ฐ๊ธฐ๊ฐ ๊ธฐ์กด์ ๋ฐ๊ธฐ์ ๋นํด ๋ฐ์์ง๋ค.
P๋ R์ ์ํฉ์ ๊ฒฝ์ฐ, ์ฌ์ด๋ ์ผ์์ ์ด์ํ ์ผ์๊ฐ ๋์์ ์๋ํ๋๋ก ํ์๋ค. ๋ง์ฝ ์ด ์ํฉ์์ ์ฌ์ด๋ ์ผ์์ ์ด์ํ ์ผ์๊ฐ ๋์์ ์๋ํ๋ ์ํฉ์ด ์๊ฒผ์ ๋ 2๊ฐ์ง ๋ฐฉ๋ฒ์ ์๊ฐํด๋ณด์๋ค. ์ฒซ๋ฒ์งธ๋ ์ฌ๊ธฐ์์ ์ฌ์ด๋ ์ผ์์ prority๊ฐ ์๋ ๊ฒ์ด๋ค. ํ์ง์ ํ๊ฑฐ๋ parking์ ์ํฉ์์๋ ํฐ ์๋ฆฌ๊ฐ ๋ํ๋๋ค๋ฉด ์ฐ์ ์์์ ๋ฐ๋ผ ๋น์ ์์ด ์ฌ์ด๋ ์ผ์์ ๋ฐ๋ผ ๋ํ๋๋ ์์ผ๋ก ๋ณํ๋ค. ๊ทธ๋ฌ๋ ์ด ๋ฐฉ๋ฒ์ ์ฌ์ด๋ ์ผ์์ ์ด์ํ ์ผ์๊ฐ ๋์์ ํ์ํ ์ํฉ์ด ๋ฐ์ํ๋ค๋ฉด ์ข์ ๋ฐฉ๋ฒ์ด ์๋๊ฒ ๋๋ค. ์ด์ ๋ํ ๋์์ผ๋ก ๋น์ ์์ ์ฌ์ด๋ ์ผ์๋ฅผ ์ธ์ํ์ ๋์ ์์ผ๋ก ๋ฐ๋๋ฉด์ ์ด์ํ ์ผ์์ ๋ฐ๋ผ ๊น๋นก์ด๋ ์ ๋๋ ์ ์งํ๋ ๊ฒ์ด๋ค. ์ฆ, ๋ฌผ์ฒด์ ๋ฐ๋ผ ๊น๋นก์ด๋ ์ ๋๋ ๋ณด์ฌ์ง๋ฉด์ ๋น์ ์์ด ํ๋์์์ ๊ทธ๋ผ๋ฐ์ด์ ์์ผ๋ก ๋ณํํ๋ ๊ฒ์ด๋ค.
Demo video
- ์ฌ์ฉ์ ์กฐ์ฌ ์๋ฎฌ๋ ์ด์ ์์ (1์ฐจ)
- ์ต์ข ๋น ์ธํฐ๋ ์ ์์ (2์ฐจ)
- Arduino ultrasonic sensor demo
- Philips hue siren demo
3. Conclusion
๋ณธ ์ฐ๊ตฌ๋ ์ฒญ๊ฐ์ฅ์ ์ธ์ ์ด์ ๋ณด์กฐ๋ฅผ ์ํด ๋น ์ธํฐ๋ ์ ์ ๋์ ํ๊ณ ์ ๊ณํ๋์๋ค. ์ค๊ณํ ๋น ์ธํฐ๋ ์ ์๋ฎฌ๋ ์ด์ ์์์ผ๋ก ์ฌ์ฉ์ ํ ์คํธ๋ฅผ ์งํํ์๊ณ ์ด๋ฅผ ํตํด ๋์ถ๋ ๊ฒฐ๊ณผ๋ก ์ธํฐ๋ ์ ์ ๊ฐ์ ํ์๋ค. ๊ทธ ๊ฒฐ๊ณผ,
ํ์ง๋ง, arduino์ ์ฅ์ฐฉ๋ ์๋ฆฌ์ ๊ฑฐ๋ฆฌ ์ผ์๋ฅผ ํตํด philips hue๋ฅผ ์ ์ดํ๊ธฐ ์ํด ๋ง์ ๋ฐฉ๋ฒ์ ์๋ํ์์๋ ์ต์ข ์ ์ผ๋ก ๊ตฌํํด๋ด์ง ๋ชปํ๋ค. ๋ํ ๋น ์ธํฐ๋ ์ ์ ๊ฒ์ฆํ๊ธฐ ์ํ ์ฌ์ฉ์ ์กฐ์ฌ ๋จ๊ณ์์ ์ฒญ๊ฐ์ฅ์ ์ธ ์ ์ ๊ฐ ์๋ ๋น์ฅ์ ์ธ์ด ์๋ฆฌ ์์ด ์์์ ์์ฒญํ๋ค๋ ์คํ ์กฐ๊ฑด๋ง์ผ๋ก ์งํํ์๋ค.
๋ณธ ์ฐ๊ตฌ์์ ์ค๊ณ๋ ๋น ์ธํฐ๋ ์ ์ ์ํฉ์ ์ ํํ ์ดํดํ ์ ์๋ ์ฌ๋ณผ์ด๋ ํ ์คํธ๊ฐ ์๊ธฐ ๋๋ฌธ์ ์ํฉ์ ์ ํํ ๊ตฌ๋ถํ๊ธฐ๋ณด๋ค ์ฃผ๋ณ ์ํฉ์ ์ฃผ์๋ฅผ ๊ธฐ์ธ์ด๋ผ๋ ์ ํธ๋ก์์ ์์๊ฐ ์๋ค. ๋ณธ ์ฐ๊ตฌ์ ๋น ์ธํฐ๋ ์ ์ ๊ธฐ๋ฐํด์ ์ฌ๋ณผ๊ณผ ํ ์คํธ๊ฐ ์กฐํฉ๋ ์๊ฐ ์ ํธ์ ๊ฐ๋ฐ์ ํ์ฉ๋ ์ ์๋ค. 2์ฐจ ์ ์ ํ ์คํธ๋ฅผ ํตํด ์ฒญ๊ฐ์ฅ์ ์ธ์ ์ค์ ์ด์ ์ํฉ์์์ ์ฌ์ฉ์ฑ, ์ธ์ง์ฉ์ด์ฑ, ํจ๊ณผ์ฑ, ์์ ์ฑ์ ๊ฒํ ๊ฐ ํ์ํ ๊ฒ์ผ๋ก ์์๋๋ค. ๋ํ ์ฌ์ฉ์ ์ ํธ์ ๋ฐ๋ผ ์ํฉ๋ณ ๋น ์์ ๋ฐ ์ธํฐ๋ ์ ์ ์ค์ ํ ์ ์๋ ์ธํฐํ์ด์ค์ ๊ฐ๋ฐ๋ ๊ณ ๋ คํ ์ ์๋ค.
์ถํ ์ ์ ํ ์ธํฐ๋ ์ ๋ฐ ์ฌ์ฉ์ฑ์ด ๊ฐ์ ๋๋ค๋ฉด ์ฒญ๊ฐ์ฅ์ ์ธ์ ์์ ํ ์ด์ ์ ๋๋ ์ฅ์น๋ก ์ญํ ํ ์ ์์ ๊ฒ์ด๋ค. ๋ํ ์ด๋ฌํ ๋น ์ธํฐ๋ ์ ์ ์ด์ ์ํฉ๋ฟ๋ง ์๋๋ผ ์ค๋งํธํ ์์คํ ์ ์ ์ฉ๋๋ ๋ฑ ์ฒญ๊ฐ์ฅ์ ์ธ๋ค์ ๋ถํธํ ์ผ์์ ๊ฐ์ ์ํฌ ์ ์๋ ๊ฐ๋ฅ์ฑ์ ๊ฐ์ง๊ณ ์๋ค.
4. Difficulties
๋น ์ธํฐ๋์ ์ ๊ตฌํํ๋ ๋ฐ์ ์์ด์ ํ๋ก์ธ์ค๋ ๋ค์๊ณผ ๊ฐ์ด ๋์ผํ๋ค. ์ผ์ ์ ๋ ฅ โ ์ธํฐ๋ท ์ฐ๊ฒฐ โ ํ๋ฆฝ์ค ํด. ํ์ง๋ง ์ด ํ๋ก์ธ์ค๋ฅผ ๊ตฌํํ๋๋ฐ์ ๋ง์ ์ด๋ ค์์ ๊ฒช์๊ณ 3๊ฐ์ง๊ฐ ๋์ ๋ค๋ฐ์ ์ผ๋ก ์ฐ๊ฒฐ๋์ ์ฐ๋ฆฌ๊ฐ ์ํ๋ ์ธํฐ๋ ์ ์ ๊ตฌํํ๋ ๊ฒ์๋ ์คํจํ์๋ค.
Plan A. arduino โ iftt โ philips hue
IFTTT์์๋ ์ฐ๋ฆฌ๊ฐ ์ํ๋ ์ธํฐ๋ ์ ์ ํญ์ด ๋๋ฌด ์ ์๋ค. ์ผ์ ๊ฐ์ ๋ฐ๋ฅธ ๋ค์ํ ์ธํฐ๋ ์ ์ ์ํ์ง๋ง, IFTTT์์ Phillips Hue๋ฅผ ์ ์ดํ ์ ์๋ ์ธํฐ๋ ์ ์ ๋งค์ฐ ํ์ ์ ์ด์๋ค. ๋ถ ๊บผ์ง, ์ผ์ง, ๊ทธ๋ฆฌ๊ณ ์ผ์ ํ ๊น๋นก์ ์ ๋์ ์ ํด์ง Setting ๊ฐ์ ์ธํฐ๋ ์ ์ ๋ณด๋ด์ผ ํ๊ธฐ ๋๋ฌธ์ ์ฐ๋ฆฌ๊ฐ ์ํ๋ ์ธํฐ๋ ์ ์ ๊ตฌํํ๊ธฐ์๋ ๋ถ๊ฐ๋ฅํ๋ค.
Plan B. arduino โ philips hue
Arduino Sensor ๊ฐ์ Python code๋ก ์ฝ์ง ๋ชปํจ. Arduino์์ ๋์ค๋ input ๊ฐ๋ค์ Serial์ ํตํด์ ์ฝ์ด์ผ ํ๋๋ฐ Serial์ ์ฝ๋ library๊ฐ Python ์์์ ์คํ์ด ์ ๋์๋ค. ๋ฐ๋ผ์ ๊ฐ๋ฐ์ ์์ด์ ์ด๋ ค์์ ๊ฒช์๊ณ ๋ค๋ฅธ ๋ฐฉ๋ฒ์ ๋ชจ์ํด๋ณด์๋ค.
Plan C. arduino file write โ python file read โ philips hue
Arduino write file์ Python read file ์ํธ์์ฉ์ด ์ํํ ์ ์ด๋ฃจ์ด์ง. Arduino์์ ํ์ผ์ ์ฐ๊ณ Python์์ ํ์ผ์ ์ฝ์ ๋ค์์ Phillips Hue๋ก ๋ณด๋ด๋ ๊ฒ์ ๊ฐ๋ฅํ์ผ๋ ์ค์๊ฐ์ผ๋ก ์งํํ๋ ๊ฒ์ ๋ถ๊ฐ๋ฅํ๋ค. Arduino์์ ์คํ์ ์์ผ์ผ ์ฝ์ด์จ ๋ฐ์ดํฐ๋ค์ ํ๋ฒ์ ํ์ผ์ ์์ฑ์ด ๋์๊ณ ์ง์์ ์ธ ์ค์๊ฐ ํ์ผ ์ ๋ฐ์ดํธ๋ ๋ฐฉ๋ฒ์ ์ฐพ์ ์๊ฐ ์์๋ค.
๊ทธ๋ฆผ 7. hue ์ ์ด๋ฅผ ์ํ ์๋ history
5. References
Plan A. arduino โ iftt โ philips hue
-
[Arduino - HTTP Request Arduino Tutorial](https://arduinogetstarted.com/tutorials/arduino-http-request) - Connect Arduino to IFTTT for IoT Projects
- Controlling a Philips Hue via a Arduino
- Link Python code to IFTTT!
- Rupakpoddar/Trigger-Events
Plan B. arduino โ philips hue
-
[Philips Hue Light Control Using Arduino Home Automation Smart IoT Nodemcu](https://www.youtube.com/watch?v=pNoH4MPkhZk) - Get Started - Philips Hue Developer Program
Plan C. arduino file write โ python file read โ philips hue