- ์ ๋ก๋ ํ์ผ๋ช : 0+์ซ์->์๋์ด๋ ธ / ์ซ์->ํ์ด์ฌ
-'์๋์ด๋ ธ์ ํผ์ง์ปฌ ์ปดํจํ with ํ์ด์ฌ' Chapter 1~5
(์ฅ๋คํฌ ์กฐ์ฅ๋์ ๊ฐ์ ํ ์๋์ด๋ ธ ์ค์ต)
์๋์ด๋ ธ: ๋ฌผ๋ฆฌ์ ์ธ ์ธ๊ณ๋ฅผ ๊ฐ์งํ์ฌ ์ ์ดํ ์ ์๋ ์ํ ์ปดํจํฐ
์๋์ด๋ ธ ๋ณด๋: ์ผ์๊ฐ ์ ๋ ฅ๋ฐ์ ๋ฐ์ดํฐ๋ฅผ ์ก์ธ์์ดํฐ์ ์ถ๋ ฅ ํํ๋ก ๋ณํํ๋๋ก ์ฒ๋ฆฌํ๋ ๊ฒ
ํผ์ง์ปฌ ์ปดํจํ : ์๋์ด๋ ธ๋ฅผ ์ด์ฉํ์ฌ ๋ง๋ ์ปดํจํ ์์คํ , ๋์งํธ ๊ธฐ์ ๋ฐ ์ฅ์น๋ฅผ ์ด์ฉํ์ฌ ๋ฌผ๋ฆฌ์ ์ธ ๋ฐฉ์์ผ๋ก ์ ๋ณด๋ฅผ ์ ๋ ฅ ๋ฐ์ ์ฒ๋ฆฌํ ๊ฒฐ๊ณผ๋ฅผ ๋ฌผ๋ฆฌ์ ์ธ ๋ฐฉ์์ผ๋ก ์ถ๋ ฅํ๋ ์์คํ
์ผ์: ์ค์ ์ธ๊ณ์ ๋ค์ํ ์ ๋ณด๋ฅผ ๊ฐ์งํ๊ฑฐ๋ ์ ๋ ฅ ๋ฐ์ ์ ์๋ ๋ถํ ๋๋ ์ฅ์น
-ex)๋น ์ผ์, ์๋ฆฌ ์ผ์, ์ด์ํ ์ผ์
์ก์ธ์์ดํฐ: ๋ฌผ๋ฆฌ์ ์ผ๋ก ๋์ํ๋ ๋ถํ ๋๋ ์ฅ์น ex) LED, ๋ถ์ , ๋ชจํฐ
์๋์ด๋ ธ์ ์ข ๋ฅ: ์ฐ๋ ธ ๋ชจ๋ธ, ๋ ์ค๋๋ฅด๋ ๋ชจ๋ธ, 101 ๋ชจ๋ธ, ๋๋ ธ ๋ชจ๋ธ, ์๋์ด๋ ธ ๋ฉ๊ฐ, ์๋์ด๋ ธ ์ค, ๋ฆด๋ฆฌํจ๋ ๋ฑ
*์๋์ด๋ ธ ์ฐ๋ ธ ๋ณด๋
๋์งํธ ์์ญ: 0๋ฒ๋ถํฐ 13๋ฒ๊น์ง 14๊ฐ์ ๋์งํธ ์ ์ถ๋ ฅ ํ์ด ์์
-0๋ฒ๊ณผ 1๋ฒ ํ์ ์ฃผ๋ก ๋ค๋ฅธ ์ปดํจํ ์ฅ์น์์ ํต์ (RX, TX)์ ์ํด ์ฌ์ฉ
-2๋ฒ๋ถํฐ 13๋ฒ๊น์ง์ ๋์งํธ ํ์ ์ฌ์ฉ
-๋์งํธ ํ์ ์ถ๋ ฅ ํ์ผ๋ก ์ฌ์ฉํ ๊ฒฝ์ฐ 0V(LOW) ๋๋ 5V(HIGH)์ ์ ์ ์ถ๋ ฅ ๊ฐ๋ฅ
์ด๊ธฐํ ๋ฒํผ: ์๋์ด๋ ธ ๋ณด๋ ์ด๊ธฐํ
ํ์ ์์ญ: ์ ์์ ๊ณต๊ธํด์ฃผ๋ 5V์ 3.3V ํ, -๊ทน์ธ GND ํ์ด 2๊ฐ, ์ธ๋ถ ์ ์์ ๊ณต๊ธ๋ฐ์ ๋ ์ฌ์ฉํ๋ Vin์ด ์์
์ ์ LED๋ ์๋์ด๋ ธ ๋ณด๋์ ์ ์์ด ๊ณต๊ธํ ๋ ์ผ์ง๋ฉฐ RX, TX LED๋ ์๋์ด๋ ธ์ ์ปดํจํฐ๊ฐ ํต์ ํ ๋ ์ผ์ง
๋์งํธ 13๋ฒ ํ ์์ L๋ก ํ์๋ LED๋ ๋์งํธ 13๋ฒ ํ์ ์ฐ๊ฒฐ๋์ด ์์
์๋ ๋ก๊ทธ ์ธ ์์ญ: 0๋ฒ๋ถํฐ 5๋ฒ๊น์ง 6๊ฐ์ ์๋ ๋ก๊ทธ ์ ๋ ฅ ํ์ด ์์
์๋์ด๋ ธ ์ํํธ์จ์ด๋ฅผ ์ค์นํ์๋ค.
ํ์ด์ฌ์ ์ค์นํ์๋ค.
ํ์ด์ฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ค์นํ์๋ค.
์๋์ด๋ ธ์ ๋ด์ฅ๋ LED๋ฅผ 1์ด ๊ฐ๊ฒฉ์ผ๋ก ๊น๋นก์ด๋ ํ๋์ ํ์๋ค.
Blink ํ๋ก๊ทธ๋จ์ ์ดํด๋ณด์๋ค.
์๋ก์ด ํจ์๋ฅผ ์ ์ํด๋ณด์๋ค.
setup() ํจ์: ๊ฐ์ข ์ค์ ์ ํ๋ ํจ์, ํ๋ก๊ทธ๋จ์ด ํ ๋ฒ๋ง ์คํ
loop() ํจ์: ํ๋ก๊ทธ๋จ์ ๋ฐ๋ณต์ ์ผ๋ก ์คํํ๋ ํจ์
pinMode(LED_BUILTIN, OUTPUT): ๋์งํธ 13๋ฒ ํ์ ์ถ๋ ฅ ํ์ผ๋ก ์ค์ ํ๋ ๋ช ๋ น์ด
digitalWrite(LED_BUILTIN, HIGH): ๋์งํธ 13๋ฒ ํ์ ์ ๊ธฐ๋ฅผ ๊ณต๊ธํ๋ผ๋ ๋ช ๋ น์ด
delay(1000): 1000 ๋ฐ๋ฆฌ์ธ์ปจ๋, ์ฆ 1์ด๋์ ์๋ฌด๊ฒ๋ ํ์ง ์๊ณ ๋๊ธฐํ๋ ๋ช ๋ น์ด
digitalWrite(LED_BUILTIN, LOW): ๋์งํธ 13๋ฒ ํ์ ์ ๊ธฐ ๊ณต๊ธ์ ํด์ ํ๋ผ๋ ๋ช ๋ น์ด
์ปดํ์ผ: ์ฌ๋์ด ์์ฑํ ํ๋ก๊ทธ๋จ์ ์ปดํจํฐ๊ฐ ์ดํดํ ์ ์๋ ์ฝ๋๋ก ๋ณํํ๋ ๊ฒ
์ฒดํฌ(V)๋ฒํผ: ์ปดํ์ผ
์ ๋ก๋(->)๋ฒํผ: ์ปดํ์ผ ํ, ์ปดํ์ผ ๋ ํ์ผ์ ์๋์ด๋ ธ ๋ณด๋์ ์ ๋ก๋
๋ชจ๋ํ: ํจ์๋ฅผ ์ด์ฉํ๋ฉด ๊ธฐ๋ณธ ํจ์(loop)์์ ํน์ ๋์์ ์ํํ๋ ๋ช ๋ น์ด๋ค์ ๋ชจ์์ ๋ณ๋์ ํจ์๋ก ๋ง๋ค ์ ์์, ์๋ก ์ ์ํ ํจ์๋ฅผ ํ์ํ ๋๋ง๋ค ํธ์ถํ์ฌ ์คํ ๊ฐ๋ฅ
์ผ์ ๊ฐ์ ๋ชจ๋ํฐ์ ์ถ๋ ฅํ๋ ํ๋์ ํ์๋ค.
-์กฐ๋์ผ์๋ฅผ ์๋์ด๋ ธ ๋ณด๋์ ์ฐ๊ฒฐํ๊ณ , ์กฐ๋์ผ์๊ฐ ๊ฐ์งํ ๊ฐ์ ์ปดํจํฐ์ ์๋ฆฌ์ผ ๋ชจ๋ํฐ๋ก ํ์ธํด ๋ณด์๋ค. ์ผ์ ์ฃผ๋ณ์ด ์ด๋์์ง๋ฉด ๊ฐ์ด ์์์ง๊ณ ๋ฐ์์ง๋ฉด ๊ฐ์ด ์ปค์ง๋ ๊ฒ์ ํ์ธํ ์ ์์๋ค.
ํน์ ๋ฌธ์๋ฅผ ์ ๋ ฅํ์ฌ LED๋ฅผ ์ ์ดํด๋ณด๋ ํ๋์ ํ์๋ค.
-์ปดํจํฐ์์ ํน์ ๋ฌธ์๋ฅผ ์ ๋ ฅํ๊ณ ์๋ฆฌ์ผ ๋ชจ๋ํฐ์ ์ ์ก ๊ธฐ๋ฅ์ ์ด์ฉํ์ฌ ์๋์ด๋ ธ ๋ณด๋๋ก ์ ๋ณด๋ฅผ ๋ณด๋ด ๊ทธ์ ์ฐ๊ฒฐ๋ LED๋ฅผ ์ผ๊ฑฐ๋ ๊บผ ๋ณด์๋ค.
Serial.begin(9600): ํต์ ์๋๋ฅผ 9600์ผ๋ก ์ค์
Serial.PrintIn( ): ์๋ฆฌ์ผ ๋ชจ๋ํฐ์ ( )์์ ๋ฐ์ดํฐ๋ฅผ ์ถ๋ ฅํ๊ณ , ํ ์ค ๋ด๋ฆฌ๋ผ๋ ์๋ฏธ
analogRead(0): ์๋ ๋ก๊ทธ 0๋ฒ ํ์ ์ฐ๊ฒฐ๋ ์กฐ๋ ์ผ์์ ๋ฐ์ดํฐ๋ฅผ ์ฝ์ด์ค๋ผ๋ ๋ช ๋ น์ด
Serial.print( ): ์๋ฆฌ์ผ ๋ชจ๋ํฐ์ ( )์์ ๋ฐ์ดํฐ๋ฅผ ์ถ๋ ฅํ์ง๋ง, ์ ๋ ฅ ์ปค์๋ฅผ ํ ์ค ๋ด๋ฆฌ์ง๋ ์๋๋ค.
Serial.available( ): ์๋ฆฌ์ผ ํต์ ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ๋ฐ์ผ๋ฉด, ๋ฐ์ ๋ฐ์ดํฐ์ ๊ฐ์๋ฅผ ์ถ๋ ฅ, ๋ง์ฝ ๋ฐ์ดํฐ๋ฅผ ์ ๋ ฅํ์ง ์์ผ๋ฉด 0์ ์ถ๋ ฅ(๊ฑฐ์ง์ผ๋ก ํ๋จํ์ฌ ๋ช ๋ น์ด๋ฅผ ์คํํ์ง ์๋๋ค.)
LED: ๋ฐ๊ด๋ค์ด์ค๋(Light-Emitting Diode)์ ์ฝ์ด ์๋ฐฉํฅ์ผ๋ก ์ ์์ ๊ฐํ์ ๋ ๋น์ ๋ด๋ ์ ์ ๋ถํ/ํฌ๊ธฐ ๋จ์: ํ์ด/๊ธด ํ์ด +๊ทน, ์งง์ ํ์ด โ๊ทน
์๋์ด๋ ธ ๋ณด๋์ LED 1๊ฐ๋ฅผ ์ฐ๊ฒฐํ๊ณ 1์ด ๊ฐ๊ฒฉ์ผ๋ก ์ผ์ก๋ค๊ฐ ๊บผ์ง๊ฒ ํ๋ ํ๋์ ํ์๋ค.
LED 3๊ฐ๋ฅผ ์ฐ๊ฒฐํ์ฌ ์์๋๋ก ๊น๋ฐ์ด๋ ํ๋์ ํ์๋ค.
digitalWrite(ํ ๋ฒํธ, ๊ฐ): ํด๋น ๋์งํธ ํ์ HIGH(์ ๊ธฐ ๊ณต๊ธ) ๋๋ LOW(์ ๊ธฐ ๊ณต๊ธ ์ ํจ)์ ๊ฐ์ ์ค ์ ์๋ ๋ช ๋ น์ด
digitalRead(ํ ๋ฒํธ): ํด๋น ํ์ ์ ๋ ฅ๋ ๊ฐ์ ์ฝ์ด ์ค๋ ๋ช ๋ น์ด, ํด๋น ํ ๋ฒํธ์ ์ฐ๊ฒฐ๋ ์ ์๋ถํ์ผ๋ก๋ถํฐ ๋ฐ์ ๊ฐ์ HIGH ๋๋ LOW๊ฐ์ผ๋ก ๊ฐ์ ธ์ด
-์๋์ด๋ ธ with ํ์ด์ฌ ๊ต์ฌ์ python ๋ฒ์ ์ด 2.7 ๋ฒ์ ์ด์ง๋ง, ํ์ฌ python3๊ฐ ๋ง์ด ์ฌ์ฉ๋๊ณ ์์ผ๋ฏ๋ก python3.11๋ก ์ ํ ํ์๋ค.
-ํ์ด์ฌ3 ๋ฒ์ ์ผ๋ก ์์ฑํ ๋ arduino ๋ชจ๋์ด ์๋ค๊ฑฐ๋ ํฌํธ๋ฅผ ์ฐพ์ ์ ์๋ค๋ ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ค. ์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด
[Arduino] ํ์ด์ฌ์์ ์๋์ด๋ ธ ์ ์ดํ๊ธฐ
๋ฅผ ์ค์นํ๊ณ ์๋์ด๋ ธ์์ ์คํ์ํจ ํ ํ์ด์ฌ์์ ๋ค์ ์ค์ต์ ํ์๋ค. ์ค์นํ ํ prototype ์ฝ๋์์ ํต์ ์๋๋ง 9600์ผ๋ก ๋ณ๊ฒฝํด์ฃผ๊ณ sketches ๋ด ํด๋์ ์๋ prototype ํด๋๋ฅผ Arduinoํด๋์ ๋ณต๋ถํ์๋ค.(์ด ๊ณผ์ ์์ ๊ณ ๋ฑ 3ํ์ ๋์์ด ์์๋ค.)
๋ํ, (pip install python-arduino๋ฅผ cmd์ ์ ๋ ฅํ ํ) ๊ธฐ๋ณธ์์์์ pip install arduino-python๋์ pip install arduino-python3๋ก ํด์ฃผ์ด์ผ ํ๋ค.
-'์๋์ด๋ ธ์ ํผ์ง์ปฌ ์ปดํจํ with ํ์ด์ฌ' Chapter 6, 8~10 ๊ณต๋ถ
(๊นํ๋น ์กฐ์ฅ๋์ ๊ฐ์ ํ ์๋์ด๋ ธ ์ค์ต)
ํธ์ฌ ๋ฒํผ์ ๋๋ ์ ๋ LED์ ๋ถ์ด ๋ค์ด์ค๊ณ ๋์ ๋ ๋ถ์ด ๊บผ์ง๊ฒ ๋๋ ํ๋ก๋ฅผ ๊ตฌ์ฑํ์๋ค.
ํธ์ฌ ๋ฒํผ : ์ ๊ธฐ ํ๋ก๋ฅผ ์ฐ๊ฒฐํ๊ฑฐ๋ ๋์ ์ ์๋ ๋ฌผ๋ฆฌ์ ์ฅ์น, ๋ฒํผ์ ๋๋ ์ ๋ ํ๋ก๊ฐ ์ฐ๊ฒฐ๋๊ณ ๋๋ฅด์ง ์์์ ๋ ํ๋ก๊ฐ ๋๊น. ์ด ๊ตฌ์กฐ๋ฅผ ํตํด ์ ๊ธฐ๋ฅผ ๊ณต๊ธํ๊ฑฐ๋ ํ์ง ์๊ฒ ํ๋ ์ค์์น ๊ธฐ๋ฅ์ ํจ
ํ๋กํ ํ์ : ์ค์์น๊ฐ ์ฐ๊ฒฐ๋์ง ์์ ์ํ์์ ์ ๋ฅ๊ฐ ํ๋ฅด๋์ง ์ ํ๋ฅด๋์ง ์ ์ ์๋ ์ํ๊ฐ ๋ ๊ฒ
ํ๋ค์ด ์ ํญ : ํ๋กํ ํ์์ ํด๊ฒฐํ๊ธฐ ์ํ ๋ฐฉ๋ฒ์ผ๋ก ์ค์์น๊ฐ ์ด๋ฆฐ ์ํ์์๋ ์ด๋์๋ ์ ๋ฅ๊ฐ ํ๋ฅด์ง ์๊ณ ์ ๋ ฅํ์ 0V ์ ์์ ๊ฑธ๊ณ ์ค์์น๊ฐ ๋ซํ๋ฉด GND์ ์ฐ๊ฒฐ๋์ด GND์ ์ฐ๊ฒฐ๋ ์ ํญ์ผ๋ก ์ธํด ์ ๋ฅ๊ฐ ๋ชจ๋ ์ ๋ ฅํ์ผ๋ก ํ๋ฅด๊ฒ ํ์ฌ 5V ์ ์์ ๊ฑฐ๋ ๋ฐฉ๋ฒ
ํ์ ์ ํญ : ํ๋กํ ํ์์ ํด๊ฒฐํ๊ธฐ ์ํ ๋ฐฉ๋ฒ์ผ๋ก ์ค์์น๊ฐ ์ด๋ฆฐ ์ํ์ผ ๋๋ ์ ๋ ฅํ์ผ๋ก ์ ๋ฅ๊ฐ ํ๋ฅด๊ฒ ํ์ฌ 5V ์ ์์ ๊ฑธ๊ณ ์ค์์น๊ฐ ๋ซํ๋ฉด GND์ ์ฐ๊ฒฐํด ๋ชจ๋ ์ ๋ฅ๊ฐ GND ์ชฝ์ผ๋ก ํ๋ฅด๊ฒ ํ์ฌ ์ ๋ ฅํ์ 0V์ ์ ์์ ๊ฑฐ๋ ๋ฐฉ๋ฒ
Arduino("9600", port="COM6") : ํต์ ์๋๋ฅผ 9600์ผ๋ก ํฌํธ๋ฅผ COM6๋ก ์ค์ ํ๋ ์ฝ๋
pinMode(ledPin, โOUTPUTโ) : ๋ฏธ๋ฆฌ ์ค์ ํ ๋ณ์ ledPin์ ๊ฐ์ ํด๋นํ๋ ํ์ ์ถ๋ ฅํ์ผ๋ก ์ค์
pinMode(buttonPin, โINPUTโ) : ๋ฏธ๋ฆฌ ์ค์ ํ ๋ณ์ buttonPin์ ๊ฐ์ ํด๋นํ๋ ํ์ ์ ๋ ฅํ์ผ๋ก ์ค์
digitalRead(buttonPin) : buttonPin์์ ์ธก์ ๋๋ ๊ฐ์ ์ฝ์ด์ค๋ ์ฝ๋
digitalWrite(ledPin, โHIGHโ) : ๋ฏธ๋ฆฌ ์ค์ ํ ๋ณ์ ledPin์ ๊ฐ์ ํด๋นํ๋ ํ์ HIGH๋ก ์ถ๋ ฅํ๋ ์ฝ๋
if๋ฌธ์ ํตํด ํธ์ฌ ๋ฒํผ์ ๋๋ฌ 13๋ฒ ํ์์ ๊ฐ์ด 1์ด ๋๋ฉด LED์ ๋ถ์ ์ผ๊ณ Push!!๋ฅผ ์ถ๋ ฅํ๊ณ else๋ฅผ ํตํด ํธ์ฌ ๋ฒํผ์ ๋๋ฅด์ง ์์ผ๋ฉด 13๋ฒ ํ์์ ๊ฐ์ด 0์ด ๋๋ฉฐ LED์ ๋ถ์ ๋๋ ์ฝ๋๋ฅผ ์์ฑํ๋ค.
PWM ๊ธฐ๋ฅ๊ณผ ์๋ ๋ก๊ทธ ์ถ๋ ฅ ์ฝ๋๋ฅผ ์ด์ฉํด LED์ ๋ฐ๊ธฐ๋ฅผ ์กฐ์ ํ์๋ค.
LED : ์๋์ด๋ ธ ๋ณด๋์์ ์ ๋ฅ๊ฐ ํ๋ฅด์ง ์๋ ์ํ์ธ 0๋ถํฐ ๊ฐ์ฅ ๋ฐ์ 255๊น์ง ์ด 256๋จ๊ณ์ ๋ฐ๊ธฐ ๋จ๊ณ๋ฅผ ์ฌ์ฉํ์ฌ LED๋ฅผ ์ ์ ๋ฐ๊ฒ ์ ์ ์ด๋ก๊ฒ ์กฐ์ ํ ์ ์๋ค.
PWM : Pulse Width Modulation์ ์ฝ์๋ก ์ฃผ๊ธฐ ํญ ๋ณ์กฐ๋ฅผ ์๋ฏธ ํ๋ค. ๊ฐ ์ฃผ๊ธฐ๋ณ๋ก ๊ฐ์ฅ ๋์ ์ ์ ๊ตฌ๊ฐ์ ๋น์จ์ ์กฐ์ ํ์ฌ ์๋ ๋ก๊ทธ์ฒ๋ผ ์ฌ๋ฌ ๊ฐ์ ์ ํธ๋ก ๋ง๋ค์ด ์ฃผ๋ ์ถ๋ ฅ ๋ฐฉ๋ฒ์ด๋ค.
analogWrite(ledPin, brightness) : PWM ๊ธฐ๋ฅ์ ์ง์ํ๋ ํ(ledPin์ ์ ์ฅ๋ ํ ๋ฒํธ)์ brightness์ ์ ์ฅํ ๊ฐ์ ์ถ๋ ฅํ๋ ์ฝ๋
while ๋ฐ๋ณต๋ฌธ๊ณผ brightness ๋ณ์๋ฅผ ํตํด LED ์ต๊ณ ๋จ๊ณ 255๋ณด๋ค ์์ ๋๋ brightness ๊ฐ์ 1์ฉ ๋ํด๊ฐ๋ฉฐ LED์ ๋ฐ๊ธฐ๋ฅผ ์ ์ ์ฌ๋ฆฐ๋ค. ๊ทธ๋ฆฌ๊ณ 255๋ณด๋ค ์ปค์ง๊ฒ ๋๋ฉด brightness์ ๊ฐ์ 1์ฉ ๋นผ๊ฐ๋ฉฐ LED๊ฐ ์ ์ ์ด๋์์ง๊ฒ ํ๋ค.
์กฐ๋ ์ผ์๋ฅผ ํตํด ์ผ์ ์ฃผ๋ณ์ด ์ด๋์์ง๋ฉด LED์ ๋ถ์ด ๋ค์ด์ค๊ณ ๋ฐ์์ง๋ฉด LED์ ๋ถ์ด ๊บผ์ง๋ ํ๋ก๋ฅผ ๊ตฌ์ฑํ์๋ค.
์กฐ๋ ์ผ์(Photoresistor) : ๋น, ๊ด, CdS ์ผ์ ๋ฑ์ผ๋ก ๋ถ๋ฆฌ๋ ์ผ์๋ก, ์ฃผ๋ณ์ ๋น์ ์์ ๊ฐ์งํ๋ ์ผ์์ด๋ค. ์ผ๋ฐ์ ์ธ ์กฐ๋ ์ผ์๋ ํ ๋ค๋ฆฌ๊ฐ 2๊ฐ์ด๋ฉฐ ๊ทน์ฑ์ด ๋ฐ๋ก ์๋ค. ์ผ์ข ์ ์ ํญ์ผ๋ก ๋ณผ ์ ์๋ค.
analogRead(cdsPin) : cdsPin์ ์ ์ฅ๋ ๊ฐ์ ํด๋นํ๋ ์๋ ๋ก๊ทธ ํ์์ ์ธก์ ๋ ๊ฐ์ ์ฝ์ด์ค๋ ์ฝ๋
if๋ฌธ์ ํตํด ์กฐ๋ ์ผ์์ ์ธก์ ๋๋ ๊ฐ์ด ์ผ์ ์์น๋ณด๋ค ์์์ง๋ฉด ์ฆ ์ผ์ ์ฃผ๋ณ์ด ์ด๋์์ง๋ฉด LED์ ๋ถ์ด ์ผ์ง๊ณ else๋ฅผ ํตํด ์ผ์ ์์น๋ณด๋ค ์กฐ๋ ์ผ์์ ์ธก์ ๋๋ ๊ฐ์ด ํด ๋๋ LED์ ๋ถ์ด ๊บผ์ง๊ฒ ๋๋ ์ฝ๋๋ฅผ ์์ฑํ๋ค.
๊ฐ๋ณ ์ ํญ์ ํตํด LED์ ๋ฐ๊ธฐ๋ฅผ ์กฐ์ ํ๋ ํ๋ก๋ฅผ ๊ตฌ์ฑํ์๋ค.
๊ฐ๋ณ ์ ํญ : ๊ฐ๋ณ ์ ํญ์ ๋ฐ๊ณ ์ ์ ํญ, ํฌํ ์ ๋ฏธํฐ ๋ฑ์ผ๋ก ๋ถ๋ฆฌ๋ฉฐ ์ ํญ ๊ฐ์ ์กฐ์ ํ ์ ์๋ ๋ถํ์ด๋ค. 0๋ถํฐ 1023๊น์ง ๊ฐ์ ๊ฐ์ง ์ ์๋ค.
while๋ฌธ์ ํตํด ๋ฐ๋ณตํด์ ๊ฐ๋ณ ์ ํญ์ ๊ฐ์ ์ธก์ ํ๋ฉด์ ๋ณ์ brightness๋ฅผ ์ค์ ํด ๊ฐ๋ณ ์ ํญ์ ๊ฐ์ 4๋ก ๋๋ ๊ฐ์ ์ ์ฅํ๋ค. ์ด brightness ๊ฐ์ 0~255๊น์ง์ ๊ฐ์ ๊ฐ์ง๊ฒ ๋์ด LED์ ๋ฐ๊ธฐ ๋จ๊ณ๋ฅผ ๊ฑฐ์ ๋ชจ๋ ์กฐ์ ํ ์ ์๊ฒ ๋๋ค. ์ด๋ฅผ ํตํด ๊ฐ๋ณ ์ ํญ์ ๊ฐ์ ๋ณ๊ฒฝํด ๊ฐ๋ฉฐ LED์ ๋ฐ๊ธฐ๋ฅผ ๋ณ๊ฒฝํ๋ ์ฝ๋๋ฅผ ์์ฑํ๋ค.
์กฐ๋์ผ์์ ๊ฐ๊ณผ ๊ด๋ จ๋ ์กฐ๊ฑด์ ์ฑ ์ ์๋ ๊ฒ์ฒ๋ผ if cdsValue < 500๋ก ์์ฑํ๋๋ ์กฐ๋์ผ์ ์ฃผ๋ณ์ ๋ฐ๊ธฐ๋ฅผ ์กฐ์ ํด๋ LED๊ฐ ๊ณ์ ์ผ์ ธ์๊ธฐ๋ง ํ์ต๋๋ค. '์กฐ๊ฑด๊ฐ์ ์ค์ ์ด ์๋ชป๋์ด์๋?'ํ๋ ์๋ฌธ์ ์ ๊ฐ์ง๊ณ ์กฐ๋์ผ์์ ๊ฐ์ ๋จผ์ ์ถ๋ ฅํด๋ณด์์ต๋๋ค. ์ ํฌ์ ์คํฐ๋ ํ๊ฒฝ์์ ์กฐ๋์ผ์์ ๊ฐ์ 0๊ณผ60 ์ฌ์ด์์ ๋ณํ๊ณ ์์์ต๋๋ค. ์ด์ if cdsValue < 30์ผ๋ก ์ฝ๋๋ฅผ ์์ ํ๊ณ ๋ค์ ์๋ํด๋ณด์๋๋ ์ฌ๋ฐ๋ฅด๊ฒ ์๋ํ์์ต๋๋ค.
ํ๋ก๋ 13๋ฒ ํ์ ์ฐ๊ฒฐ๋๋๋ก ๋์ด์์๊ณ , ์ฝ๋๋ 11๋ฒ ํ์ผ๋ก(ledPin=11) ๋์ด์์์ต๋๋ค.
์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ๋จผ์ ์ฝ๋๋ฅผ 13์ผ๋ก(ledPin=13) ๋ฐ๊พธ์์ต๋๋ค. ๊ฐ๋ณ์ ํญ์ ๋๋ฆฌ๋ฉด LED์ ๋ฐ๊ธฐ๊ฐ ์ฐ์์ ์ผ๋ก ๋ณํํด์ผํ๋๋ฐ, ๊บผ์ก๋ค๊ฐ ์ผ์ง๊ธฐ๋ง์ ๋ฐ๋ณตํ์ต๋๋ค. ์ด์ ํ๋ก์ ์ฝ๋๋ฅผ 11๋ฒ ํ์ผ๋ก ์์ ํ์ฌ(ledPin=11) ๋ค์ ์๋ํด๋ณด์๋๋, ์ฌ๋ฐ๋ฅด๊ฒ ์๋ํ์์ต๋๋ค. ๊ทธ ์ด์ ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
LED์ ๋ฐ๊ธฐ๋ฅผ ์กฐ์ ํ๋ ค๋ฉด PWM์ ์ด์ฉํด์ผ ํฉ๋๋ค. PWM-ํ์ค ํญ ๋ณ์กฐ-๊ธฐ๋ฅ์ ์ด์ฉํ๋ฉด ๋์งํธ ํ์ ๋ง์น ์๋ ๋ก๊ทธ ํ์ฒ๋ผ ์ฌ์ฉํ ์ ์๊ฒ ๋๊ธฐ ๋๋ฌธ์ ๋๋ค. ์๋์ด๋ ธ ์ฐ๋ ธ์์ PWM์ผ๋ก ์ฌ์ฉ ๊ฐ๋ฅํ Pin์ ~ํ์๋ฅผ ํด๋์์ต๋๋ค. ๊ทธ๋ฌ๋ฏ๋ก ~ํ์๊ฐ ์๋ 13๋ฒ ํ์ด ์๋, 11๋ฒ ํ์ ์ด์ฉํด์ผ ํฉ๋๋ค.
(*์๋ ๋ก๊ทธ: ์ด๋ค ์ ๋๋ ๋ฐ์ดํฐ๋ฅผ โ์ฐ์์ ์ผ๋กโ ๋ณํํ๋ ๋ฌผ๋ฆฌ๋์ผ๋ก ํํํ๋ ๊ฒ / ์ฐ์์ ์ผ๋ก ๋ณํํ๋ ํํ๋ก ์ ๋ฅ๋ฅผ ์ ๋ฌ
*๋์งํธ: 1๊ณผ 0์ด๋ผ๋ ์ซ์๋ฅผ ํตํด ์ ๋ณด๋ฅผ ์ ๋ฌํ๋ ๊ฒ / ์ ๋ฅ๊ฐ ํ๋ฅด๋ ์ํ(1)์ ํ๋ฅด์ง ์๋ ์ํ(0)์ 2๊ฐ์ง๋ฅผ ์กฐํฉํ์ฌ ์ ๋ฌ)
-'์๋์ด๋ ธ์ ํผ์ง์ปฌ ์ปดํจํ with ํ์ด์ฌ' Chapter 11, 13~14 ๊ณต๋ถ
(์ฑํฌ์ฃผ ์กฐ์ฅ๋์ ๊ฐ์ ํ ์๋์ด๋ ธ ์ค์ต)
ํผ์์กฐ ๋ถ์ : ํผ์์กฐ(์์ ) ํจ๊ณผ๋ฅผ ์ด์ฉํ์ฌ ์๋ฆฌ๋ฅผ ๋ผ ์ ์๋ ๋ถํ
ํผ์์กฐ ํจ๊ณผ: ์ด๋ ํ ์ฑ์ง์ ์ด์ฉํ์ฌ ์๋ ฅ์ ์ฃผ๊ฒ๋๋ฉด ํ๋ฉด์ ์ ์์ด ๋ฐ์ํ๋ ๊ฒ
ํผ์์กฐ ๋ถ์ ์์๋ ์ด ํจ๊ณผ๋ก ์์ ํ์ ๋ฏธ์ธํ ๋จ๋ฆผ์ด ๋ฐ์ํด ์๋ฆฌ๊ฐ ๋๋ค.
ํฐ ์๋ฆฌ๋ฅผ ๋ด์ง๋ ๋ชปํ์ง๋ง ๊ฐ์ด ์ธ๊ณ ์ฌ์ฉํ๊ธฐ ๊ฐ๋จํ๋ค.
ํผ์์กฐ ๋ถ์ ์๋ 2๊ฐ์ ํ์ด ๋ฌ๋ ค ์๋๋ฐ, ๊ธด ํ์ +๊ทน, ์งง์ ํ์ -๊ทน์ ๋ํ๋ธ๋ค.
C์ธ์ด์์๋ tone()ํจ์๋ฅผ ์ด์ฉํ์ฌ ํด๋น ์ฃผํ์์ ์์ ๋ด๋๋ก ํ ์ ์์ง๋ง, ํ์ด์ฌ์์๋ ์ด๋ฌํ ํจ์๊ฐ ์กด์ฌํ์ง ์์, ์ํ๋ ์์ ๋ด๊ธฐ ์ํด ํผ์์กฐ ๋ถ์ ๊ฐ ๋ช์ด๋ง๋ค ์ด๋๋งํผ ์ง๋ํด์ผํ๋์ง ์ง์ ์ค์ ํด์ฃผ์ด์ผ ํ๋ค.
์๋ฅผ ๋ค์ด, C4(๋)๋ 1์ด๋น 262๋ฒ ์ง๋ํ๋ค(262Hz). ๋ฐ๋ผ์ ์ด ์์ ๋ด๊ธฐ ์ํด์๋ 1์ด/262๋ฅผ 2๋ก ๋๋ ๊ฐ(0.001911) ๋์ High์ ์์ ์ฃผ๊ณ ๋ค์ ๊ฐ์ ์๊ฐ๋์ Low ์ ์์ ์ฃผ์ด์ผ ํ๋ค.
์จ๋ ์ผ์: ์ฃผ๋ณ์ ์จ๋๋ฅผ ์ธก์ ํ ์ ์๋ ๋ถํ
์จ๋ ์ผ์์ 3๊ฐ์ ํ์ ์๋์ ๊ทธ๋ฆผ์์ ๋ณผ ์ ์๋ฏ, 1๋ฒ๋ถํฐ ์ ์ ๊ณต๊ธํ, ์๋ ๋ก๊ทธ ์ถ๋ ฅ ํ, GND ํ์ด๋ค.
์ด ํ๋ค์ ์ ๋๋ก ์ฐ๊ฒฐํ์ง ์์ ์ ์จ๋ ์ผ์๊ฐ ๊ฐ์ด๋ ์ ์์ผ๋ฏ๋ก ์ฃผ์ํด์ ์ฐ๊ฒฐํ์ฌ์ผ ํ๋ค.
์จ๋ ์ผ์๊ฐ ์ธก์ ํ ๊ฐ์ ์ญ์จ ์จ๋๋ก ์ถ๋ ฅํ๊ธฐ ์ํด ๋ค์๊ณผ ๊ฐ์ ๊ณ์ฐ์์ ๊ฑฐ์ณ์ผ ํ๋ค.
์ญ์จ์จ๋ = (์จ๋ ์ผ์๊ฐ ์ถ๋ ฅํ ๊ฐ/1024.0) * 5000.0 / 10.0
์ฐ๋ฆฌ๊ฐ ์ฌ์ฉํ ์จ๋ ์ผ์๋ LM35dz๋ก, 1โ ๋ณํ ๋, 10mV ๋ณํ๋ค.(10mv/โ)
์จ๋ ์ผ์๋ ์๋ ๋ก๊ทธ ๊ฐ์ ์ถ๋ ฅํ๋ฏ๋ก ์ด๋ฅผ 1024๋ก ๋๋์ด์ฃผ๊ณ , 5V์ ์ ์์ ์ฃผ์์ผ๋ฏ๋ก mV๋ก ์ ํํ๊ธฐ ์ํด 5000์ ๊ณฑํด์ฃผ๊ณ , 10mv/โ๋ก ๋๋์ด ์ฃผ๋ฉด ์ญ์จ ์จ๋๋ฅผ ๋์ถํ ์ ์๋ค.
์๋ณด๋ชจํฐ๋ ์ ๊ธฐ๋ฅผ ์ด์ฉํ์ฌ ํ์ ๋์์ ํ๋ ์ ์ ๋ถํ์ด๋ค. 0~180 ์ฌ์ด์ ๊ฐ๋๋ก ์์ง์ด๋ฉฐ, ํด๋น ํ์ ๋ฒ์ ์์์ ์ ํํ ์์น ์ ์ด๊ฐ ๊ฐ๋ฅํ๋ค.
์ ๊ทธ๋ฆผ์ ๋ณด์ด๋ ๋ ธ๋์ ์ ์ PWM(ํ์ค ํญ ๋ณ์กฐ) ๊ธฐ๋ฅ์ ์ง์ํ๋ ๋์งํธ ํ์ ์ฐ๊ฒฐํด์ผํ๋ค. ๋นจ๊ฐ์ ์ ์ 5V์, ๊ฐ์ ์ ์ GND์ ์ฐ๊ฒฐํ๋ค.
์๋์ด๋ ธ ํคํธ์์ ์ ๊ณตํ๋ ํผ์์กฐ ๋ถ์ ์ ์์ด ๋ณํ์ง ์์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ค. ๋์ผํ ์ฃผํ์๋ฅผ ์ ๋ ฅํด๋ ๊ฐ ๋ถ์ ๋ง๋ค ๋ค๋ฅธ ์์ ๋ด๋ ๊ฒ์ ํ์ธํ์ฌ ๋ถ์ ์ ๋ฌธ์ ๊ฐ ์์์ ์ ์ ์์๋ค. ์ฃผํ์์ ๋ํ ์ธ์ฌํ ์กฐ์ ์ด ๋ถ๊ฐํ์ฌ ๋ถ์ ๋ฅผ ๋ณ๊ฒฝํ๋ ๊ฒ์ด ์ข์ ๊ฒ ๊ฐ๋ค๊ณ ํ๋จํ๋ค.
๋ํ, ๋ถ์ ๋ฅผ ์ ์ดํ๋ ๋ฐ ์์ด, ํ์ด์ฌ์ ์ฌ์ฉํ๋ ๊ฒ ๋ถ์ ์ ํจ์ ๋๋ ์ ์์๋ค. C์ธ์ด์์๋ ํด๋น ์ฃผํ์์ ์์ ์ํ๋ ์๊ฐ๋์ ์ถ๋ ฅํ ์ ์์ง๋ง, ํ์ด์ฌ์ ์์ ๋ด๊ธฐ ์ํด ์ง๋์ ์์ฒด๋ฅผ ์กฐ์ ํด์ผ ํ๋ฏ๋ก ๋ค๋ฅธ ์์ ์ฐ์ด์ด ๋ด๊ธฐ์๋ ๋ฒ๊ฑฐ๋ก์ ๊ต์ฌ์์๋ ํ ์์ ๋ด๋ ๊ฒ์ ์ค์ตํ๋ค. ํ์ด์ฌ์ ๊ณ ๋ฑํ์๋ค์ด ์ ๊ทผํ๊ธฐ์ ์ฌ์ด ์ธ์ด์ด๋ฏ๋ก ์๋์ด๋ ธ๋ฅผ ์ ํ๋ ๋ฐ๋ ์ฉ์ดํ ์ ์์ง๋ง, ์ค์ ์ฌ์ฉ์ ์ํด์๋ ์ ์ด ํจ์๋ฅผ ๋ค์ํ๊ฒ ์ ๊ณตํ๋ c์ธ์ด๊ฐ ์ ์ ํ๋ค๊ณ ๋๊ผ๋ค.
-C ์ธ์ด๋ก LED ์ ์ดํ๋ ์ฝ๋ ์์ฑ ํ ์๋์ด๋ ธ ์ค์ต(with ์ค์์น) (๊ต์ฌ 2์ฃผ์ฐจ ๋ด์ฉ)
-C ์ธ์ด๋ก LCD ์ ์ดํ๋ ์ฝ๋ ์์ฑ ํ ์๋์ด๋ ธ ์ค์ต (๊ต์ฌ 5์ฃผ์ฐจ ๋ด์ฉ)
1602 IIC I2C LCD
-C ์ธ์ด๋ก 7-segment ์ ์ดํ๋ ์ฝ๋ ์์ฑ ํ ์๋์ด๋ ธ ์ค์ต (๊ต์ฌ 5์ฃผ์ฐจ ๋ด์ฉ)
์ฝ๋๋ ์ ํํ ์ ๋ ฅํ๊ณ , ํ๋ก๋ ์ ๋๋ก ์ฐ๊ฒฐํ๋๋ฐ๋ LCD์ ๊ธ์๊ฐ ์ถ๋ ฅ๋์ง ์์ ์ด๋ฅผ ํด๊ฒฐํ ์ ์๋ ๋ฐฉ๋ฒ์ ๋ํด ์์๋ณด์๋ค.
ex) ํ๋ฉด๋ง ๋ฐ์ง, ๋ค๋ชจ์นธ๋ง ์ถ๋ ฅ, ๋ค๋ชจ์นธ๊ณผ ๊ธ์ ํจ๊ป ์ถ๋ ฅ, โฆ
l2C ์ฃผ์๋ฅผ ํ์ธํฉ๋๋ค.
์ฃผ์๊ฐ ๋ง๋๋ฐ๋ ์ถ๋ ฅ๋์ง ์์ ์ ์ ํญ๊ฐ์ ์ธ๊ธฐ๋ฅผ ์กฐ์ ํฉ๋๋ค.
lcd ๋ชจ๋ํฐ๋ฅผ ๋ค์ง์ด ํ๋์ ๋ธ๋ญ์์ ์๋ ์ญ์ ๋์ฌ๋ฅผ ์ธ๋ฐํ๊ฒ ์กฐ์ ํ์ฌ ์ ํญ๊ฐ์ ์กฐ์ ํ๊ณ ๋ณํ๊ฐ ๋ณด์ด๋ฉด ์๋์ด๋ ธ๋ฅผ ์ฌ์ฐ๊ฒฐํฉ๋๋ค.
7segment์ ์ข ๋ฅ์ ๋ฐ๋ผ a, b, c, d, e, f, g๋ก ๋ํ๋๋ ๋ถ๋ถ์ด ๋ค๋ฅด๋ฏ๋ก ์ด๋ฅผ ํ์ธํ ํ ํ๋ก๋ฅผ ์ฐ๊ฒฐํ๊ณ ์ฝ๋๋ฅผ ์ง์ผ ์ํ๋ ๋๋ก ์๋ํ ์ ์์๋ค.
-์๋์ด๋ ธ ๋ฌธ๋ฒ ์ ๋ฆฌ
-LED ํ ๊ฐ๋ฅผ ๋ฐ์ง์ด๊ฒ ํ๋ ํ๋ก์์ ์ค์์น๋ก LED๋ฅผ ์ ์ดํ๋ ํ๋ก๋ก ๋ฐ๋ก ์ด์ด์ง๋๋ก ํ๋ ํจ์จ์ ์ธ ํ๋ก ์ฐพ๊ณ ์ฝ๋ ์์ฑํด์ ์ ๋ฆฌ
-์๋์ด๋ ธ C์ธ์ด 2์ฃผ์ฐจ ๊ต์ฌ ppt ์ ์(๋ฌธ๋ฒ ์ ๋ฆฌ, LED, ์ค์์น)
-์กฐ๊ฑด๋ฌธ
-
if elseif else
else if๋ฌธ์ ์์๋ ์ ํ์ด ์์ผ๋ฉฐ ์ฌ๋ฌ๊ฐ์ ์กฐ๊ฑด๋ฌธ์ ์์์๋ถํฐ ์ฝ์ด๋๊ฐ ๊ฐ์ฅ ๋จผ์ true๊ฐ ๋๋ ๋ธ๋ก๋ง ์คํํ๊ณ if๋ฌธ์ ๋น ์ ธ๋๊ฐ๊ฒ๋๋ฉฐ
๋ชจ๋ ์คํ์กฐ๊ฑด์ด ๋ง์ง์๋๊ฒฝ์ฐ else๋ฌธ์ ์คํํ๋ค.
if ( ์กฐ๊ฑด1 )
{
์กฐ๊ฑด 1์ด ์ฐธ์ด๋ฉด ์คํ
}
else if ( ์กฐ๊ฑด2 )
{
์กฐ๊ฑด 1์ด ๊ฑฐ์ง์ด๊ณ ,
์กฐ๊ฑด 2๊ฐ ์ฐธ์ด๋ฉด ์คํ
}
else if ( ์กฐ๊ฑด3 )
{
์กฐ๊ฑด 1์ด ๊ฑฐ์ง์ด๊ณ ,
์กฐ๊ฑด 2๋ ๊ฑฐ์ง์ด๊ณ ,
์กฐ๊ฑด 3์ด ์ฐธ์ด๋ฉด ์คํ
}
else
{
์กฐ๊ฑด 1, 2, 3 ๋ชจ๋ ๊ฑฐ์ง์ด๋ฉด ์คํ
}
-๋ฐ๋ณต๋ฌธ
-
while
์กฐ๊ฑด์์ด true์ผ ๊ฒฝ์ฐ์ ๊ณ์ํด์ ๋ฐ๋ณตํ๋ ๋ฌธ๋ฒ
์กฐ๊ฑด์์๋ ๋น๊ต ๋๋ ๋ ผ๋ฆฌ ์ฐ์ฐ์์ด ์ค๋๋ฐ ์กฐ๊ฑด์์ด false๊ฐ ๋๋ฉด ๋ฐ๋ณต์ ๋ฉ์ถ๊ณ while๋ฌธ์ ์ข ๋ฃํ๋ค.
-
for
์ผ์ ํ ํ์๋งํผ ๋ฐ๋ณตํ ๋ ์ฃผ๋ก ์ฌ์ฉ๋๋ ๋ฌธ๋ฒ
for (์ด๊ธฐ์; ์กฐ๊ฑด์; ์ฆ์)
{
์คํ๋ฌธ;
}
-
Break: ๋ฐ๋ณต๋ฌธ์ ์คํ์ค์งํ ๋ ์ฌ์ฉ
-
Continue: ๋ฐ๋ณต๋ฌธ์ ์ข ๋ฃํ์ง ์๊ณ ๊ณ์ ๋ฐ๋ณต์ ์ํ
-๋ณ์ ์ ์ธ
int char float double boolean
string
string : C++์์ ์ ๊ณตํ๋ ํด๋์ค๋ก ๋ฌธ์์ด์ ๋ค๋ฃจ๋ ํด๋์ค์ด๋ค.
-๋น๊ต ์ฐ์ฐ์
== : ์ผ์ชฝ์ ํผ์ฐ์ฐ์์ ์ค๋ฅธ์ชฝ์ ํผ์ฐ์ฐ์์ ๊ฐ์ด ๊ฐ์ผ๋ฉด 1์ ๋ฐํํ๋ค.
!= : ์ผ์ชฝ์ ํผ์ฐ์ฐ์์ ์ค๋ฅธ์ชฝ์ ํผ์ฐ์ฐ์์ ๊ฐ์ด ๋ค๋ฅด๋ฉด 1์ ๋ฐํํ๋ค.
< : ์ผ์ชฝ์ ํผ์ฐ์ฐ์๊ฐ ์ค๋ฅธ์ชฝ์ ํผ์ฐ์ฐ์๋ณด๋ค ์์ผ๋ฉด 1์ ๋ฐํํ๋ค.
<= : ์ผ์ชฝ์ ํผ์ฐ์ฐ์๊ฐ ์ค๋ฅธ์ชฝ์ ํผ์ฐ์ฐ์๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ผ๋ฉด 1์ ๋ฐํํ๋ค.
> : ์ผ์ชฝ์ ํผ์ฐ์ฐ์๊ฐ ์ค๋ฅธ์ชฝ์ ํผ์ฐ์ฐ์๋ณด๋ค ํฌ๋ฉด 1์ ๋ฐํํ๋ค.
>= : ์ผ์ชฝ์ ํผ์ฐ์ฐ์๊ฐ ์ค๋ฅธ์ชฝ์ ํผ์ฐ์ฐ์๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ์ผ๋ฉด 1์ ๋ฐํํ๋ค.
-๋์ ์ฐ์ฐ์
= : ์ผ์ชฝ์ ํผ์ฐ์ฐ์์ ์ค๋ฅธ์ชฝ์ ํผ์ฐ์ฐ์๋ฅผ ๋์ ํ๋ค.
์ฐ์ ์ฐ์ฐ์๋ฅผ โ=โ ์ผ์ชฝ์ ๋ถ์ฌ์ ์ผ์ชฝ์ ํผ์ฐ์ฐ์์ ์ค๋ฅธ์ชฝ ํผ์ฐ์ฐ์๋ฅผ ์ฐ์ ์ฐ์ฐํ ๊ฐ์ ์ผ์ชฝ์ ํผ์ฐ์ฐ์์ ๋์ ํ๋ ์ฐ์ฐ์๋ค๋ ์๋ค.
ex) +=, -=, *=, /=, %=
-์ฐ์ ์ฐ์ฐ์
+ : ์ผ์ชฝ์ ํผ์ฐ์ฐ์์ ์ค๋ฅธ์ชฝ์ ํผ์ฐ์ฐ์๋ฅผ ๋ํ๋ค.
- : ์ผ์ชฝ์ ํผ์ฐ์ฐ์์์ ์ค๋ฅธ์ชฝ์ ํผ์ฐ์ฐ์๋ฅผ ๋บ๋ค.
- :ย ์ผ์ชฝ์ ํผ์ฐ์ฐ์์ ์ค๋ฅธ์ชฝ์ ํผ์ฐ์ฐ์๋ฅผ ๊ณฑํ๋ค.
/ : ์ผ์ชฝ์ ํผ์ฐ์ฐ์๋ฅผ ์ค๋ฅธ์ชฝ์ ํผ์ฐ์ฐ์๋ก ๋๋๋ค. ๊ฐ์ผ๋ก๋ ๋ชซ์ ๋ฐํํ๋ค.
% : ์ผ์ชฝ์ ํผ์ฐ์ฐ์๋ฅผ ์ค๋ฅธ์ชฝ์ ํผ์ฐ์ฐ์๋ก ๋๋ ํ, ๊ทธ ๋๋จธ์ง๋ฅผ ๋ฐํํ๋ค.
์๋์ด๋ ธ ํจ์
-Void: ์๋ฌด๊ฒ๋ ๋ฐํํ ํ์๊ฐ ์๋ค.
-setup(): setup() ํจ์๋ ์๋์ด๋ ธ IDE์ ์ด๊ธฐ์ค์ ์ ํ๋ ๋ถ๋ถ์ด๋ค. ๊ฐ์ข ์ค์ ์ ํ๋ ํจ์์ด๋ฉฐ {} ์์ ์ ํ ๋ถ๋ถ์ด ํ ๋ฒ๋ง ์คํ๋๋ค.
-loop(): loop() ํจ์๋ {} ์์ ์ ํ ๋ถ๋ถ์ ๋ฐ๋ณต์ ์ผ๋ก ์คํํ๋ ํจ์์ด๋ค.
-HIGH: ์๋์ด๋ ธ์์ 5V๋ฅผ ์๋ฏธํ๋ฉฐ, ์ซ์ 1๋ก ๋์ ์ฌ์ฉํด๋ ๋ฌด๋ฐฉํ๋ค. ํ์ ์ ๊ธฐ๊ณต๊ธ์ ํ๋ค.
-LOW: ์๋์ด๋ ธ์์ 0V๋ฅผ ์๋ฏธํ๋ฉฐ, ์ซ์ 0์ผ๋ก ๋์ ์ฌ์ฉํด๋ ๋ฌด๋ฐฉํ๋ค. ํ์ ์ ๊ธฐ๊ณต๊ธ์ ๋๋๋ค.
-Serial.begin(ํต์ ์๋): setup()์์ ์คํ์์ผ์ค๋ค. ์ปดํจํฐ์ ์๋์ด๋ ธ ๋ณด๋๊ฐ ํต์ ํ๊ธฐ ์ํด ์ฌ์ฉํ๋ ์๋ฆฌ์ผ ํต์ ์ ํต์ ์๋๋ฅผ ์ค์ ํ๋ ๋ช ๋ น์ด์ด๋ค. ํต์ ์๋๋ก ๋ณดํต 9600bps์ ์ฌ์ฉํ๋ค.
-pinMode(ํ ๋ฒํธ, ๋ชจ๋)
ํด๋น ๋์งํธ ํ์ ์ ๋ ฅ์ผ๋ก ์ฌ์ฉํ ๊ฒ์ธ์ง ์ถ๋ ฅ์ผ๋ก ์ฌ์ฉํ ๊ฒ์ธ์ง ์๋ ค์ค๋ค.
-INPUT: ์ ๋ ฅ๋ชจ๋
-OUTPUT: ์ถ๋ ฅ๋ชจ๋
ex) pinMode(13, OUTPUT)
: 13๋ฒ ํ์ ์ถ๋ ฅ ํ์ผ๋ก ์ค์ ํ๋ค.
-digitalWrite(ํ ๋ฒํธ, ๊ฐ)
ํด๋น ๋์งํธ ํ์ HIGH(์ ๊ธฐ ๊ณต๊ธ)๋๋ LOW(์ ๊ธฐ ๊ณต๊ธ ์ ํจ)์ ๊ฐ์ ์ค ์ ์๋ ๋ช ๋ น์ด
ํ ๋ฒํธ์๋ ์ ์ ๋ถํ๊ณผ ์ฐ๊ฒฐ๋ ๋์งํธ ํ ๋ฒํธ ์ ๋ ฅ
๊ฐ์๋ HIGH ๋๋ LOW๊ฐ์ ์ ๋ ฅ
ex) digitalWrite(5, HIGH)
: 5๋ฒ ํ์ ์ฌ์ฉํ๊ณ ์ ๊ธฐ๋ฅผ ๊ณต๊ธ(HIGH)ํ๋ค.
-delay(์๊ฐ)
์ผ์ ์๊ฐ๋งํผ ์๊ฐ์ ์ง์ฐ์ํค๋ ํจ์
์๊ฐ์ ๋ค์ด๊ฐ ๊ฐ์ ms๋จ์ (1/1000์ด)
1์ด๋ฅผ ํํํ ๋: delay(1000)
0.5์ด๋ฅผ ํํํ ๋: delay(500)
ex)
digitalWrite(13, HIGH);
delay(10000);
13๋ฒ ํ์ ์ ๊ธฐ๋ฅผ ๊ณต๊ธํ๊ณ , 10์ด๊ฐ ๋๊ธฐ
-digitalRead(ํ ๋ฒํธ): ํด๋น ๋์งํธ ํ์ ์ํ๋ฅผ ์ฝ์ด์ค๋ ๋ช ๋ น์ด์ด๋ค.
๋ฐํ๊ฐ: HIGH ๋๋ LOW ๊ฐ (1, 0)
-analogWrite(ํ ๋ฒํธ, ๊ฐ):
์๋ ๋ก๊ทธ ๊ฐ์ ํ์ ์ถ๋ ฅํ๋ค. ํ์ค ํญ ์กฐ์ (PWM)ย ๊ธฐ๋ฅ์ ์ง์ํ๋ ๋์งํธ ํ(์๋์ด๋ ธ ๋ณด๋์์ ~ํ์๊ฐ ๋์ด ์๋ ํ)๋ฒํธย 0๋ถํฐ 255๊น์ง ์ ๋ ฅ ๊ฐ์ ์ง์ ํ์ฌ ์ฌ์ฉํ๋ค.
-analogRead(ํ ๋ฒํธ)
์๋์ด๋ ธ ๋ณด๋์ ์๋ ๋ก๊ทธ ํ์ ์ฐ๊ฒฐ๋ ๊ฐ์ ์ฝ์ด์จ๋ค.
์๋ ๋ก๊ทธ ๊ฐ์ 0๋ถํฐ 1023๊น์ง 1024๋จ๊ณ๋ก ์ธก์ ํ๋ค.
๋ฐํ๊ฐ: 0~1023 ์ ์ ๊ฐ(int)
-Serial.available()
์๋ฆฌ์ผ ํต์ ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ๋ฐ์ผ๋ฉด, ๋ฐ์ ๋ฐ์ดํฐ์ ๊ฐ์ ์ถ๋ ฅ
โLED ํ ๊ฐ๋ฅผ ๋ฐ์ง์ด๊ฒ ํ๊ธฐโ, โ์ค์์น๋ก LED ์ ์ดํ๊ธฐโ ๋ฅผ ์ด๋ป๊ฒ ์ฝ๊ณ ํจ์จ์ ์ผ๋ก ํ์๋ค์๊ฒ ์ ๋ฌํ ๊น์ ๋ํด ๊ณ ๋ฏผํด๋ณด์๋ค.
๋ ์ฃผ์ ์ ์ฝ๋๋ฅผ ๋ฐ๋ก ์์ฑํ์ฌ ๋ ๋ฒ ์ค์ตํ๋ ๊ฒ ๋ณด๋ค LED ํ ๊ฐ๋ฅผ ๋ฐ์ง์ฌ๋ณธ ๋ค์, ๊ทธ ํ๋ก์ ์ค์์น๋ฅผ ์ถ๊ฐํ๊ณ ์ฝ๋๋ ๊ทธ์ ๋ง๊ฒ ์์ ํ๋ ๊ฒ์ด ํ์๋ค์ด ์ฐ๊ณํ์ฌ ์ดํดํ๋ ๊ฒ์ ๋์์ ์ค ๊ฒ์ด๋ผ๊ณ ์๊ฐํ๋ค.
์ด์ ๋ ์ค์ต์ด ์ด์ด์ง ์ ์๋๋ก ์ฝ๋์ ํ๋ก๋ฅผ ์ง์ ์์ ํ์๋ค. ์ด ๊ณผ์ ์์ ํ ์ปค์บ๋๋ฅผ ์ฌ์ฉํ๋๋ฐ, ์ง์ ํ๋ก๋ฅผ ๋ง๋๋ ๊ฒ๋ณด๋ค ์๊ฐ์ด ํจ์ฌ ๋จ์ถ๋์๋ค. ์ด ํน์ง์ ์ด์ฉํด ์ฌ๋ฌ ์ฝ๋์ ํ๋ก๋ฅผ ์คํํด๋ณผ ์ ์์๋ค.
์์ฑํ ์ฝ๋์ ํ๋ก๊ฐ ์ ์๋ํ๋์ง๋ฅผ ํ ์ปค์บ๋๋ฅผ ํตํด ํ์ธํด ๋ณด๊ณ ์ต์ข ํ์ ๋๋ฉด, ์ง์ ์๋์ด๋ ธ ๋ณด๋๋ฅผ ์ฐ๊ฒฐํ์ฌ ์ค์ ๋ก๋ ์ค๋ฅ ์์ด ์๋ํ๋์ง ์ด์ค์ผ๋ก ์ฒดํฌํ์๋ค.
-LCD ์ ์ด ์ฝ๋ ๋ฐ ํ๋ก๋ ์ ๋ฆฌ
-7segment ์ ์ด ์ฝ๋ ๋ฐ ํ๋ก๋ ์ ๋ฆฌ
-์๋์ด๋ ธ 5์ฃผ์ฐจ ๊ต์ฌ ppt ์ ์(LCD, 7segment)
LCD I2c์ ๊ฒฝ์ฐ์๋ ์ฃผ์๋ฅผ ๋ง์ถฐ์ฃผ์ง ์์ผ๋ฉด ์๋์ ํ์ง ์๊ธฐ์ ์ฃผ์๋ฅผ ์ฐพ๋ ์์ ์ ํด์ค์ผ ํ๋ค. ์ฃผ์๊ฐ ๋ณดํต์ 0X27๊ณผ 0X3F๋ผ๊ณ ๋์์์ง๋ง ์ด๋ฒ ๊ต์ฌ๋ฅผ ๋ง๋ค๋ฉฐ ์ฌ์ฉํ๋ LCD๋ ์ฃผ์๊ฐ 0X20์ด์๊ธฐ์ ์ด๋ฅผ ์์์ฐจ๋ฆฌ๋ ๋ฐ ์๊ฐ์ด ๊ฑธ๋ ธ๊ณ , LCD์ ์ข ๋ฅ ๋ํ ์ฐธ๊ณ ์๋ฃ์ ์๋ ๊ฒ๊ณผ ๋ฌ๋๊ธฐ์ ์ด๋ฅผ ์์ ํ๋ ๋ฐ ์๊ฐ์ด ๊ฑธ๋ ธ๋ค.
7 segment ํํธ์ ํ๋ก๋ฅผ ์ ์ํ๋ ๊ณผ์ ์์๋ 7-segment์ LED๊ฐ a, b, c, d, e, f, g ์ค ์ด๋์ ํด๋นํ๋์ง ํ์ธํด์ผ ํ๋ค. ์ด ๋ถํ ์ญ์ ์ฐธ๊ณ ์๋ฃ์ ๋์์๋ 7-segment์ LED ๋ฐฐ์ด๊ณผ ๋ฌ๋ผ์ ํ๋ํ๋ LED์ ์์น๋ฅผ ํ์ธํด์ผ ํ๊ธฐ์ ์๊ฐ์ด ๊ฑธ๋ ธ๋ค.
์์ ๋ ๊ณผ์ ์ ๊ฑฐ์น๋ฉฐ ์๋์ด๋ ธ๊ฐ ์ ๋๋ก ๋์ํ์ง ์์ ๋๋ ๋ถํ์ ํ์ ๊ณผ ๋ถํ์ ๋ฐ๋ฅธ ๊ธฐ๋ณธ ์ค์ ์ด ๋ค๋ฅด๊ฒ ๋์ด์์ง๋ ์์์ง๋ฅผ ํ์ธํด์ผ ํ๋ค๋ ๊ฒ์ ์๊ฒ๋์๋ค.
-์๋์ด๋ ธ ์คํํฐ ํคํธ ๋ถํ ์๋ด์ ์ ์
-ํ๋ก์ ํธ ๊ธฐํ์ ์์ ์ ์
-ํ๋ก์ ํธ ์์ ํ์ต์ง ์ ์
-์๋์ด๋ ธ 8์ฃผ์ฐจ ๊ต์ฌ ppt ์ ์(ํ๋ก์ ํธ ์๋ด)
