๋ชฉ๋ก๐ฉ๐ป IoT (Embedded)/Arduino (64)
๐ ๊ณต๋ถํ๋ ์ง์ง์ํ์นด๋ ์ฒ์์ด์ง?

(์ฝ๋๋ ์ ์๊ถ์ ๊ณต์ ์๋ฉ๋๋น!!) ๐ฅ ๋ธ๋ฃจํฌ์ค ์กฐ๋ช ์ฅ์น ์ ์ดํ๊ธฐ : ๋ธ๋ฃจํฌ์ค ํต์ ์ผ๋ก ์๋์ด๋ ธ๋ก ๋ช ๋ นํ๋ฉด ์๋์ด๋ ธ๋ LED ์ ์ดํจ์ผ๋ก์จ ์กฐ๋ช ์ฅ์น ์์ฑ 1) ๋ธ๋ฃจํฌ์ค ์ ์ด ์ฑ์ ๋ธ๋ฃจํฌ์ค ๋ชจ๋๋ก ๋ช ๋ น ๋ฌธ์ ์ ์ก 2) ๋ธ๋ฃจํฌ์ค ๋ชจ๋์ ์๋์ด๋ ธ๋ก ๋ช ๋ น ๋ฌธ์ ์ ๋ฌ 3) ์๋์ด๋ ธ๋ ๋ธ๋ฃจํฌ์ค ๋ชจ๋๋ก๋ถํฐ ์๋ฆฌ์ผ ํต์ ์ผ๋ก ๋ช ๋ น ๋ฌธ์ ์ ๋ฌ๋ฐ์ 4) ์๋์ด๋ ผ๋ ์์ ๋ ๋ช ๋ น ๋ฌธ์์ ๋ฐ๋ผ ์ฐ๊ฒฐ๋ LED ์ ์ด ๐ ๋ค์ค ํฝ์ LED : ์นฉ์ด ๋ด์ฅ๋ LED : ์คํฌ๋ฆฝ, ๋ฐ, ์ํ ๋ฑ ๋ค์ํ ํํ : 5V, GND, DATA 3๊ฐ์ ํ ์ด๋ค์ง : Adafruit Neopixel ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ค์น ํ์ ๐ฅ ๋ธ๋ฃจํฌ์ค ํต์ ์ผ๋ก ์ผ์ ๋ฐ์ดํฐ ์กฐํํ๊ธฐ : ์๋์ด๋ ธ์์ ์ธก์ ํ ์ผ์ ๋ฐ์ดํฐ๋ฅผ ๋ธ๋ฃจํฌ์ค ํต์ ์ ํตํด ์ ์ก 1) ๋ธ๋ฃจํฌ์ค ์ ์ด ์ฑ..

(์ฝ๋๋ ์ ์๊ถ์ ๊ณต์ ์๋ฉ๋๋น!!) ๐ฅ ์ํํธ์จ์ด ์๋ฆฌ์ผ : ์๋ฆฌ์ผ ํต์ ์ง์ํ๋ ํฌํธ(0, 1) : SoftwareSerial ๋ผ์ด๋ธ๋ฌ๋ฆฌ ํตํด ์ํํธ์จ์ด๋ก ๊ฐ์์ ์๋ฆฌ์ผ ํฌํธ ์์ฑํ์ด ์๋ฆฌ์ผ ํต์ ๊ฐ๋ฅ ๐ SoftwareSerial #influde // rxPin : ์์ ํ ํ, txPin : ์ก์ ํ ํ SoftwareSerial mySerial(rxPin, txPin); ๐ฅ ๋ธ๋ฃจํฌ์ค ํต์ ๋ชจ๋ ๐ ๋ธ๋ฃจํฌ์ค : ๊ทผ๊ฑฐ๋ฆฌ ๋ฌด์ ํต์ ์ ์ํ ํ์ค : ์ ๊ฐ๊ฒฉ, ์ ์ ๋ ฅ ํต์ ๋ฐฉ๋ฒ : 10m ์ด๋ด์ ์งง์ ๊ฑฐ๋ฆฌ ํต์ ์ํ ๊ธฐ์ ๐ HC-06 : ์๋ฆฌ์ผ ํต์ ํ์ฉ์ํด ์ฐ๋ํด์ผํจ : SoftwareSerial๋ก ๋์งํธ 2, 3๋ฒ ํ์ ์๋ฆฌ์ผ ํฌํธ๋ก ์์ฑํ๊ณ ์ฌ์ฉ : ๋ชจ๋ ์ค์ ํ๋ ์์ ํ์ (๋ช ๋ น ๋ชจ๋๋ก ์ง์ ํ์ฌ ๋ธ..

(์ฝ๋๋ ์ ์๊ถ์ ๊ณต์ ์๋ฉ๋๋น!!) ๐ฅ EEPROM : ATmega328 ๋ง์ดํฌ๋ก ์ปจํธ๋กค๋ฌ์๋ ์ธ ์ข ๋ฅ์ ๋ฉ๋ชจ๋ฆฌ๊ฐ ํฌํจ ๐ Flash Memory : 32K : ํ๋ก๊ทธ๋จ(์ค์ผ์น) ์ ์ฅ : ๋นํ๋ฐ์ฑ : ํ๋ก๊ทธ๋จ ์คํ ์ค ๋ณ๊ฒฝ ๋ถ๊ฐ ๐ SRAM : 2KB : ๋ฐ์ดํฐ ์ ์ฅ : ํ๋ฐ์ฑ : ํ๋ก๊ทธ๋จ ์คํ ์ค ๋ณ๊ฒฝ ๊ฐ๋ฅ : ๊ฐ์ฅ ๋น ๋ฆ ๐ EEPROM : 1KB : ๋ฐ์ดํฐ ์ ์ฅ : ๋นํ๋ฐ์ฑ (์ ์ ์ฐจ๋จ๋๊ฑฐ๋ ๋ฆฌ์ ๋๋๋ผ๋ ๊ฐ ์ ์ง) : ํ๋ก๊ทธ๋จ ์คํ ์ค ๋ณ๊ฒฝ ๊ฐ๋ฅ : ๊ฐ์ฅ ๋๋ฆผ #include // EEPROM ์ address ์์น์ value ๊ธฐ๋ก EEPROM.write(address, value); EEPROM.put(address, value); // EEPROM ์ address ์์น์์ ๊ฐ ์ฝ์ด์ ๋ฐํ ..

(์ฝ๋๋ ์ ์๊ถ์ ๊ณต์ ์๋ฉ๋๋น!!) ๐ฅ delay ์์ด ์์ ์ํ : ์๋ ์์ ๋ค์์ delay ์ฃผ๊ณ loop ๋ด์ ๊ตฌ์ฑํ๋ฉด ์ฃผ๊ธฐ์ ์ผ๋ก ์์ ์ํ ๊ฐ๋ฅ ๐ millis() ํจ์ unsigned long time = millis(); : ์๋์ด๋ ธ๊ฐ ํ๋ก๊ทธ๋จ์ ์์ํ ๋ค ๊ฒฝ๊ณผ๋ ์๊ฐ์ ms ๋จ์๋ก ๋ณํ : delay ์์ด ์ฃผ๊ธฐ์ ์ธ ๋์ ์ํ ๊ฐ๋ฅ : ์๊ฐ ๊ฒฝ๊ณผ ์กฐ๊ฑด ๋ง์กฑํ ๋๋ง ์์ ์ํํจ ๐ฅ ์๋์ด๋ ธ ๋ฉ์ถ์ง ๋ง๊ธฐ : ๋ฉ์ถ์ง ์๊ณ LED๋ฅผ ๊น๋นก์ด๊ธฐ ์ํด millis ํจ์๋ฅผ ํ์ฉํ๊ธฐ ๐ฅ ์ธํฐ๋ฝํธ : ์คํ ์ค์ธ ํ๋ก๊ทธ๋จ์์ ์ฆ์ ์ฒ๋ฆฌํด์ผ ํ ํ๋ก๊ทธ๋จ์ด ๋ฐ์๋๋ ๊ฒ : ์คํ ์ค์ธ ํ๋ก๊ทธ๋จ์ ์ค๋จํ๊ณ ์ฆ์ ์คํํด์ผ ํ ํ๋ก๊ทธ๋จ ์ํ // ์ธํฐ๋ฝํธ๊ฐ ๋ฐ์ํ์ ๋ ์คํ๋ callback ํจ์ attachInterr..

(์ฝ๋๋ ์ ์๊ถ์ ๊ณต์ ์๋ฉ๋๋น!!) ๐ฅ LCD (Liquid Crystal Display) : ์ก์ ํ์ ์ฅ์น : ์ก์ ์ ์ก์ฒด์ฒ๋ผ ์ ์ฒด์ ์ฑ์ง์ ๊ฐ์ง๋ฉด์ ๊ณ ์ฒด์ฒ๋ผ ๊ดํ์ ์ฑ์ง์ ๊ฐ์ง๋ ๋ฌผ์ง : ์ ๊ธฐ์ ์ ํธ๋ฅผ ๊ฐํด ์ํ๋ ๋ฐฉํฅ์ผ๋ก ๋ฐฐ์ด ๊ฐ๋ฅ : ๊ฐ ํฝ์ ์ ํฌ๊ณผํ๋ ๋น์ ์์ ์กฐ์ ํ์ฌ ์ ๋ณด ํํ : 1์ค์ 16๋ฌธ์์ฉ 2์ค ์ถ๋ ฅ ๊ฐ๋ฅ : 5v ์ ์์ผ๋ก ๋ฐฑ๋ผ์ดํธ ๋์ : ๊ฐ๋ณ ์ ํญ์ ํตํด ๋ฌธ์์ ๋ช ์ ์กฐ์ : 16๊ฐ ํ์ ๊ฒฐ์ ํ์ฌ ์ ์ด ๐ Liquid Crystal I2C ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ค์น // lcd ์ด๋ฆ์ผ๋ก ๊ฐ์ฒด๋ฅผ ์์ฑ // ๋ชจ๋์ ์ฃผ์๊ฐ์ 0x27, lcd ํฌ๊ธฐ๋ 16x2 LiquidCrystal_I2C lcd(0x27, 16, 2); // ๋ฉ์์ง๋ฅผ lcd์ ์ถ๋ ฅ lcd.print("๋ฉ์์ง"); // ์ปค์..

(์ฝ๋๋ ์ ์๊ถ์ ๊ณต์ ์๋ฉ๋๋น!!) ๐ฅ 7segment (FND:Flexible Numeric Display) : "๋ถํ ํ๋ค" ๋ 7๊ฐ์ ๋ถํ ๋ ์ ์ผ๋ก ์ซ์๋ฅผ ํํํด์ฃผ๋ ๋ถํ : 7๊ฐ์ LED๊ฐ ๋ชจ์ฌ์์ : ๊ฐ ํ ๋ณ๋ก ํ๋์ ํ์ด ๋ฐฐ๋น๋์ด ๊ฐ ํ์ ๋๊ฑฐ๋ ์ผค ์ ์์ ๊ณตํต ์๊ทน(Common-anode) ๋ฐฉ์ : ๋ชจ๋ LED์ ์๊ทน์ด ๊ฒฐํฉ๋ ์ํ ๊ณตํต ์๊ทน(Common-cathode) ๋ฐฉ์ : ๋ชจ๋ LED์ ์๊ทน์ด ๊ฒฐํฉ๋ ์ํ ๐ฅ 7์ธ๊ทธ๋จผํธ ํ์ฉํ๊ธฐ : 7๊ฐ์ ์ (์ธ๊ทธ๋จผํธ)์ผ๋ก ์ซ์/์ํ๋ฒณ ๋ฑ์ ํํํด ์ฃผ๋ ์์ : 7๊ฐ์ ์ ์ ๊ฐ๊ฐ LED๋ก ๊ตฌ์ฑ : ์ด๋ค ์ ์ ์ ํธ๋ฅผ ์ฃผ๋์ง์ ๋ฐ๋ผ ๋ฌธ์๋ฅผ ํํ ๐ฅ ์ ํธ๋ฑ ๋ง๋ค๊ธฐ : ์ด๋ก์ ์ ํธ๊ฐ ๊น๋นก์ผ ๋ 5์ด ์นด์ดํธ ์ ๋ณด๋ฅผ 7 ์ธ๊ทธ๋จผํธ์ ํํ

(์ฝ๋๋ ์ ์๊ถ์ ๊ณต์ ์๋ฉ๋๋น!!) ๐ฅ ๋ชจํฐ ๋๋ผ์ด๋ฒ : ์ ํธ์ ์ ๋ ฅ์ ์๋ง๊ฒ ๊ณต๊ธ : ๋ชจํฐ์ ์๋์ ํ์ ๋ฐฉํฅ ์ ์ด : 2.5~12V์ ๋ชจํฐ DC 2๊ฐ ์ ์ด ๊ฐ๋ฅ : ๋ชจํฐ ๋น 200mA ์ ๋ฅ ํ์ฉ : ๋ชจํฐ A๋ฅผ ์ฐ๊ฒฐํ๊ณ A-1A, A-1B์ ์ ์ ํ ์ ํธ๋ฅผ ์ธ๊ฐ ๐ฅ ์จ๋ ์กฐ์ ์ฅ์น : ์๋ฌผ์ด ์๋ผ๋๊ธฐ ์ํด์ ์ ์ ํ ์จ๋๋ฅผ ์ ์งํ๊ธฐ ์ํด ์จ๋๊ฐ ์ผ์ ๊ฐ ์ด์์ผ๋ก ๋์์ง ๊ฒฝ์ฐ, ์๋์ผ๋ก ์ ํ๊ธฐ๋ฅผ ๊ฐ๋ ๐ฅ DC ๋ชจํฐ ์๋ ์กฐ์ ํ๊ธฐ : ์๋์ด๋ ธ๋ DC ๋ชจํฐ๋ ๊ตฌ๋/์ ์งํ ๋ฟ๋ง ์๋๋ผ PWM ์ ํธ๋ฅผ ์ด์ฉํด์ ๋ชจํฐ์ ์๋๋ ์ ์ด : ๋ฒํผ์ ๋๋ฅด๋ฉด ๋์ํ๋ ์ ํ๊ธฐ์ฒ๋ผ ๋ฒํผ์ ๋๋ฅผ ๋๋ง๋ค ์ฝํ, ์คํ, ๊ฐํ ์ธ ๋จ๊ณ๋ก ์๋๋ฅผ ์ ์ด

(์ฝ๋๋ ์ ์๊ถ์ ๊ณต์ ์๋ฉ๋๋น!!) ๐ฅ DC ๋ชจํฐ : ๋ชจํฐ๋ ์ ๊ธฐ๋ฅผ ์ด์ฉํ์ฌ ํ์ ๋ ฅ์ ์ป์ : DC (Direct Current, ์ง๋ฅ ์ ์)์ผ๋ก ๋์ํ๋ ๋ชจํฐ : ์ ์์ด ์ฐ๊ฒฐ๋๋ฉด ํ์ : ์ ๋ ฅํ๋ ์ ์์ ๊ทน์ฑ์ ๋ฐ๋ผ ์ ๋ฅ์ ๋ฐฉํฅ์ด ๋ฐ๋๋ฉด ํ์ ๋ฐฉํฅ ๋ฐ๋ : PWM์ผ๋ก ์๋ ์ ์ด ๊ฐ๋ฅ ์ธ๋ถ์ ๊ณ ์ ๋ ์์์ด ๋ฐฐ์น๋๊ณ ๋ด๋ถ์ ํ์ ์ฒด์ ์ฝ์ผ๋ก ๊ตฌ์ฑ๋จ ํ์ ์ฒด์ ์ ๋ฅ๊ฐ ํ๋ฅด๋ฉด ๋ฐฉํฅ์ด ์ ํ๋จ์ ๋ฐ๋ผ ์๊ธฐ์ฅ์ด ๋ฐ์๋์ด ํ์ ๋ ฅ ์ป์ ๐ ํธ๋์ง์คํฐ : ์ง๋ฅ ์ฆํญ๊ธฐ ์ญํ : ํฐ ์ ๋ฅ ์ ์ด ๊ฐ๋ฅ : Nํ ๋ฐ๋์ฒด์ Pํ ๋ฐ๋์ฒด์ ์ ํฉ ์์์ ๋ฐ๋ผ PNP, NPN ํํ๋ก ๋๋จ : ๊ทน์ฑ์ด ๋ฐ๋, ํ์ ์ ์์ด ์ธ๊ฐ๋๋ ๋ฐฉ์์ ์ฐจ์ด๊ฐ ์์ Collector : ์๋ฐฉํฅ ์ ๋ฅ ๊ณต๊ธ (5V ์ฐ๊ฒฐ) Base : Collector ์์ E..