๐ ๊ณต๋ถํ๋ ์ง์ง์ํ์นด๋ ์ฒ์์ด์ง?
[์๋์ฐจ ๋ทํธ์ LCDํ์ผ๋ก ์ํฉ ์ ๋ฌํ๊ธฐ 1] ์ฌ์ฉํ๋ ๋ถํ (LCD, I2C ํต์ , joystick, LED) ๋ณธ๋ฌธ
๐ฉ๐ป IoT (Embedded)/Arduino
[์๋์ฐจ ๋ทํธ์ LCDํ์ผ๋ก ์ํฉ ์ ๋ฌํ๊ธฐ 1] ์ฌ์ฉํ๋ ๋ถํ (LCD, I2C ํต์ , joystick, LED)
์ง์ง์ํ์นด 2023. 11. 10. 11:38728x90
๋ฐ์ํ
โญ LCD
1) LCD(Liquid Cristal Display)
- ์ก์ (Liquid Crystal)์ด๋ผ๋ ์ ์ฒด์ด๋ฉด์ ๊ณ ์ฒด์ ๊ฐ์ ๊ดํ์ ์ฑ์ง์ ๊ฐ์ง๋ ๋ฌผ์ง
- ๊ณ ์ฒด ํ๋ฉด์ ์ ๊ธฐ์ ์ ํธ๋ฅผ ๋ณด๋ด์ด ์ก์ ์ด ํน์ ๋ฐฉํฅ์ผ๋ก ์ ๋ ฌ๋๋ฉด ๋น์ ์ฐจ๋จํ๊ฑฐ๋ ํฌ๊ณผํ ์ ์์
2) 16X2 LCD ๋ชจ๋
- 16๊ฐ ๋ฌธ์๋ฅผ 2์ด๋ก ์ถ๋ ฅํ ์ ์๋ ๋ชจ๋
- 8bit ๋ฐ์ดํฐ๋ฒ์ค์ 8๊ฐ์ ์ ์ด ์ ํธ๋ก ๊ตฌ์ฑ๋์ด ์์ด์ ์ด 16๊ฐ์ ํ์ด ํ์ํจ (I2C ๋ชจ๋์ ์ด์ฉ์ 2๊ฐ ํ๋ง ํ์)
3) ์์ง์ด๋ LCD ํ
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
void setup()
{
lcd.init();
lcd.backlight();
lcd.setCursor(0, 0);
lcd.print("Hellow, world!");
}
void loop()
{
for (int position = 0; position < 16; position++) {
lcd.scrollDisplayLeft();
delay(150);
}
for (int position = 0; position < 35; position++) {
lcd.scrollDisplayLeft();
delay(150);
}
}
โญ I2C
1) I2C (Inter Integrated Circuit)
- ์ฃผ๋ณ์ฅ์น๋ฅผ ์ฐ๊ฒฐํ๊ธฐ ์ํด ํ๋ฆฝ์ค์ฌ์์ ๊ฐ๋ฐํ ์ง๋ ฌ๋ฒ์ค ํต์ ๋ฐฉ์์ด๋ฉฐ, SCL,SDA ๋ ๊ฐ์ ์ ํธ๋ก ํต์ ์ด ๊ฐ๋ฅ
- ๋ง์คํฐ(์๋์ด๋ ธ) - ์ฌ๋ ์ด๋ธ๊ฐ 1:N ๋ฐฉ์ ์ฐ๊ฒฐ์ด ๊ฐ๋ฅํจ(Address๋ก ๊ตฌ๋ถ)
- SPI๋ Serial ํต์ ์ ๋นํด ์๋๊ฐ ๋๋ฆฐํธ์
- I2C๋ฒ์ค๋ ๋ฐ๋์ Pull-up์ผ๋ก ์ฐ๊ฒฐํด์ฃผ์ด์ผ ํจ
2) I2C์ ํต์ ๊ตฌ์กฐ
- I2C ๋ฒ์ค๋ ๊ธฐ๋ณธ์ ์ผ๋ก Pull-up๋์ด ์์ผ๋ฏ๋ก SDA๋ง Low๋ก ๋๋ฉด Start๊ฐ ๋๊ณ , High๊ฐ ๋๋ฉด Stop์ด ๋จ
- Start ์ดํ ํด๋ญ์ด High์ผ๋ ๋ฐ์ดํฐ ๊ฐ์ด ๊ฒฐ์ ๋์ด ์ ์ก๋จ
- ๋ฐ์ดํฐ๋ 7bit, ์ฆ, 128๊ฐ ๋ฐ์ดํฐ๋ฅผ ๋ณด๋ผ ์ ์๊ณ ๋๋จธ์ง 1bit๋ ๋ค๋ฅธ ์ฉ๋(R/W๋ก ์ฌ์ฉํ๊ณ ๋ค์์ Ack ๋ฐ์
- R/W๋ ๋ง์คํฐ์์ ๊ฒฐ์
- Ack๋ ์ฌ๋ ์ด๋ธ ๋๋ฐ์ด์ค์์ ๋ณด๋(์ฌ๋ ์ด๋ธ๊ฐ ์์ ํ์ผ๋ฉด Low)
- ๋ง์คํฐ์์ ์ฐ๊ธฐ : Slave Address(W) -> Register Address -> Slave Address(W) -> Data(๋ง์คํฐ ์)
- ๋ง์คํฐ์์ ์ฝ๊ธฐ : Slave Address(W) -> Register Address -> Slave Address(R) -> Data(์ฌ๋ ์ด๋ธ์์ ์)
โญ ์ด๋
1) ์ด๋ (Shield)
- ์๋์ด๋ ธ์ ์ ์ธต์์ผ ์ฌ์ฉํ๋ ๊ธฐ๋ฅ์ฑ ๋ณด๋๋ก์ ์๋์ด๋ ธ์ ๊ฒฐํฉํ์ฌ ์ฌ๋ฌ๊ฐ์ง ํ์ฅ ๊ธฐ๋ฅ์ ์ฌ์ฉํ ์ ์๊ฒ ํ๋ ๋ณด๋
2) ์กฐ์ด์คํฑ ์ด๋
- ์๋์ด๋ ธ ์ฐ๋ ธ ๋ณด๋์ ์ ์ธต์ ์ด๋๋ก ์ฌ์ฉ๋๋ฉฐ ์ฃผ๋ก ๊ฒ์์ ์ฌ์ฉ๋๋ ์กฐ์ข ๋ ๋ฒํ ์ ๋ ฅ์ฅ์น
- ๊ฒ์ ์ปจํธ๋กค๋ฌ, RC์นด ๋ฐ ๋๋ก ์กฐ์ข ๊ธฐ ๋ฑ ๋ค์ํ ๋ถ์ผ์ ํ์ฉ
- ์กฐ์ด์คํฑ ์ด๋์์ ์ฌ์ฉ๋๋ ํ์ D2, D3, D4, D5, D6, D7์ด๋ฏ๋ก ์๋์ด๋ ธ์์ ํด๋น ํ ๋ฒํธ๋ ์ฌ์ฉํ ์ ์์
โญ LED
728x90
๋ฐ์ํ
'๐ฉโ๐ป IoT (Embedded) > Arduino' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Comments