5. LCD Address is Saved - EnglishNo/ESP32 GitHub Wiki
#include <Wire.h> // Wire ๋ผ์ด๋ธ๋ฌ๋ฆฌ ํฌํจ <BR>
void setup() {
Serial.begin(9600); // Serial ํต์ ์์
while (!Serial); // Serial ํต์ ์ด๊ธฐํ (Serial ํต์ ์ด ์์๋ ๋๊น์ง ๋๊ธฐ)
Wire.begin(); // I2C ์ธํฐํ์ด์ค ์ด๊ธฐํ
Serial.println("Scanning I2C devices..."); // "Scanning I2C devices..." ์ถ๋ ฅ
byte count = 0; // ๋ฐ๊ฒฌ๋ ์ฅ์น ์๋ฅผ ์ ์ฅํ ๋ณ์ count ์ ์ธ ๋ฐ ์ด๊ธฐํ
for (byte i = 8; i < 120; i++) { // I2C ์ฅ์น์ ์ฃผ์๋ 8~119 ์ฌ์ด์ ๊ฐ
Wire.beginTransmission(i); // i ์ฃผ์์ ๋ํ I2C ์ ์ก ์์, i ๋ณ์๊ฐ LCD์ ์ฃผ์๋ฅผ ์ธ์๋ก ๋ฐ์
if (Wire.endTransmission() == 0) { // ์ ์ก์ด ์ฑ๊ณตํ๋ฉด (0 ๋ฐํ)
Serial.print("Found I2C device at address 0x"); // "Found I2C device at address 0x" ์ถ๋ ฅ
if (i < 16) { // i๊ฐ 16๋ณด๋ค ์์ผ๋ฉด (1์๋ฆฌ ์)
Serial.print("0"); // "0" ์ถ๋ ฅ
}
Serial.println(i, HEX); // i๋ฅผ 16์ง์๋ก ์ถ๋ ฅ
count++; // ๋ฐ๊ฒฌ๋ ์ฅ์น ์ ์ฆ๊ฐ
}
}
if (count == 0) { // ๋ฐ๊ฒฌ๋ ์ฅ์น๊ฐ ์์ผ๋ฉด
Serial.println("No I2C devices found"); // "No I2C devices found" ์ถ๋ ฅ
}
else { // ๋ฐ๊ฒฌ๋ ์ฅ์น๊ฐ ์์ผ๋ฉด
Serial.println("done"); // "done" ์ถ๋ ฅ
}
}
void loop() {
// ์๋ฌด ์์
๋ ํ์ง ์์
}
(์์ธํ ๋ด์ฉ - https://makernambo.com/m/82)
*์ฃผ์ - ์ด ์ฌ์ง์ ๋์ค๋ ํ๋งต ์์น๋ ์ ํฌ๊ฐ ์ฐ๊ณ ์๋ ESP32ํ๊ณ ๋ค๋ฅด๋ฏ๋ก ESP32 ํ ์ฌ์ฉ ์ฉ๋ ์ฐธ๊ณ ์ฉ์ผ๋ก๋ง ๋ด์ฃผ์๊ธธ ๋ฐ๋๋๋ค.
(์์ธํ ์ฐ๊ฒฐ๋ฒ - https://github.com/EnglishNo/ESP32/wiki/ESP32-DHT11-And-LCD)
-.Clipchamp.1.mp4
(์ฑ๊ณต์ ์ผ๋ก ์ฝ๋ ์ปดํ์ผ์ ๋๋ธ ์์)
-ESP32์ ์๋ "EN"๋ฒํผ์ ๋ ๋ฒ ํด๋ฆญํ์ ๋ ๋ฌธ์ฅ์ด ์ธ ๋ฒ ์ถ๋ ฅ๋ ๋ชจ์ต์ผ๋ก, ์ฌ๊ธฐ์ ์ ๊ฐ ๊ฐ์ง๊ณ ์๋ LCD์ ์ฃผ์๋ "0x27"์ด๋ผ๋ ๊ฒ์ ์ ์ ์์ต๋๋ค.
-LCD์์ ์ฐ๊ฒฐ์ ์์ ๊ณ , "EN"๋ฒํผ์ ๋ค ๋ฒ ๋๋ ธ์ ๋์ ์ถ๋ ฅ ๋ชจ์ต!
- Chat GPT๋ฅผ ํตํด ์ฝ๋๋ฅผ ๋ฐ๊ฒฌํ์ ๋, ์ฒ์๋ณด๋ ํจ์๋ค์ด ๋ง์ ์ดํดํ๋ ๋ฐ ์ด๋ ค์ ๋ค.
- ๊ทธ๋์ GPTํํ ํด๋น ์ฝ๋์ ๋ํด ์ง๋ฌธ์ ํ๊ณ , ๊ต์๋ํํ ๋ ์ง๋ฌธ์ ํ๋ฉด์ ์ดํด๋ฅผ ํ๊ณ ์ ํ๋ค.
- while (!Serial);๋ ํต์ ์ด ๋ ๋๊น์ง ๊ธฐ๋ค๋ฆฌ๋ ์ฝ๋๋ก, ์ฆ "!Serial"๋ ํต์ ์ํ๊ฐ ์๋๋ผ๋ ์ ์ ์๋ฏธํ๋ ํจ์์ธ๋ฐ ์ด ํจ์๊ฐ ๊ฑฐ์ง์ผ ๋๊น์ง ๊ธฐ๋ค๋ฆฌ๋ ์ฝ๋์ด๋ค.
- Wire.beginTransmission(i);๋ iํํ ์ฐ๊ฒฐ๋ ๊ธฐ๊ธฐ์ ์ฃผ์ ์ธ์๋ฅผ ์ฃผ๋ ํจ์์ธ๋ฐ, ์ฌ๋ฌ ๋ฒ ์๋ํ๋๋ผ๋ i์ ๊ฐ์ด ์ฆ๊ฐํ๋ฉด ์ฃผ์์ ๊ฐ๋ ๋ณํ๋ค.