ESP-WROOM-02의 Arduino 환경에서 I2C 제어
9662 단어 ArduinoI2CESP8266ESP-WROOM-02
Arduino의 Wire 라이브러리를 사용하면 I2C 제어를 쉽게 할 수 있으므로 소개합니다.
회로도
필요한 것
926엔으로 샀습니다. 싸다!
htp // 아키즈키덴시. 코 m/타타 g/g/gK-01977/
ESP-WROOM-02와 Arduino를 직렬 통신하는 데 사용됩니다
htp // 아키즈키덴시. 코 m/분 g/g/gP-06669/
이 장치를 I2C로 제어
htp // 아키즈키덴시. 코 m/분 g/g/gP-06794/
출력이 3.3V라면 뭐든지 좋지만 uPC2933B를 사용했습니다.
덧붙여서 AE-UM232R에도 3.3V의 출력 단자가 있습니다만, 최대 정격이 50mA 밖에 없기 때문에 이것으로 3.3V를 만듭니다.
Arduino 환경이 설치된 PC.
나는 Mac을 사용했지만 Windows, Linux도 환경있는 것 같습니다.
Arduino 환경 설치 방법은 htps : // 기주 b. 코 m/에 sp8266/아 r즈이노의 Installing with Boards Manager에서 찾을 수 있습니다.
긴 브레드 보드가 아니면 들어갈 수 없습니다
스케치
esp-wroom-02-i2c.ino
#include <Wire.h>
#define ADDR 0x3e
void setup() {
Serial.begin(115200);
delay(10);
Serial.println("");
Serial.println("Started");
Wire.begin(4, 14);
delay(40);
uint8_t cmd_init[] = {0x38, 0x39, 0x14, 0x70, 0x56, 0x6c, 0x38, 0x0d, 0x01};
command(cmd_init, sizeof(cmd_init));
delayMicroseconds(1080); // 1.08ms
uint8_t cmd_str1[] = {0x48, 0x65, 0x6c, 0x6c, 0x6f};
uint8_t cmd_cr[] = {0xc0};
uint8_t cmd_str2[] = {0x57, 0x6f, 0x72, 0x6c, 0x64, 0x21};
write(cmd_str1, sizeof(cmd_str1));
command(cmd_cr, sizeof(cmd_cr));
write(cmd_str2, sizeof(cmd_str2));
}
void loop() {
}
void command(uint8_t *cmd, size_t len) {
size_t i;
for (i=0; i<len; i++) {
Wire.beginTransmission(ADDR);
Wire.write(0x00);
Wire.write(cmd[i]);
Wire.endTransmission();
delayMicroseconds(27); // 26.3us
}
}
void write(uint8_t *cmd, size_t len) {
size_t i;
for (i=0; i<len; i++) {
Wire.beginTransmission(ADDR);
Wire.write(0x40);
Wire.write(cmd[i]);
Wire.endTransmission();
delayMicroseconds(27); // 26.3us
}
}
펌웨어를 작성하는 방법
sw2를 놓을 때 sw1을 누르면 OK입니다.
IO1을 Low로 재설정하면 펌웨어 쓰기 모드로 부팅됩니다.
LCD 디스플레이에 문자가 표시되어야 합니다.
회로도에서 ESP-WROOM-02의 EAGLE 라이브러리를 작성했으므로 공개해 둡니다.
htps : // 등 w. 기테부세 r 콘텐트 t. 이 m/이케사토/에아 gぇ-ぃb 라리 s/마s r/lbr/에 sp-w로오 m02. lbr
좋으면 부디-.
ESP-WROOM-02는 WiFi 모듈로 사용할 수 있지만 단독으로 여기까지 할 수 있으면 훌륭합니다!
Reference
이 문제에 관하여(ESP-WROOM-02의 Arduino 환경에서 I2C 제어), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/ikesato/items/92f4cb143e7aeb5e0f9b텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)