ESP-WROOM-02의 Arduino 환경에서 I2C 제어

ESP-WROOM-02는 단독으로 Arduino로 사용할 수 있습니다.
Arduino의 Wire 라이브러리를 사용하면 I2C 제어를 쉽게 할 수 있으므로 소개합니다.

회로도





필요한 것


  • ESP-WROOM-02
    926엔으로 샀습니다. 싸다!
  • FT232RL USB 직렬 변환 모듈 AE-UM232R
    htp // 아키즈키덴시. 코 m/타타 g/g/gK-01977/
    ESP-WROOM-02와 Arduino를 직렬 통신하는 데 사용됩니다
  • I2C 연결 소형 문자 LCD 모듈 8x2 행 AE-AQM0802
    htp // 아키즈키덴시. 코 m/분 g/g/gP-06669/
    이 장치를 I2C로 제어
  • I2C 연결 소형 LCD 모듈 용 피치 변환 기판
    htp // 아키즈키덴시. 코 m/분 g/g/gP-06794/
  • 3.3V 3 단자 레귤레이터
    출력이 3.3V라면 뭐든지 좋지만 uPC2933B를 사용했습니다.
    덧붙여서 AE-UM232R에도 3.3V의 출력 단자가 있습니다만, 최대 정격이 50mA 밖에 없기 때문에 이것으로 3.3V를 만듭니다.
  • 저항 10kΩ x5
  • 세라믹 커패시터 0.1uF x2
  • 알루미늄 전해 커패시터 10uF
  • PC
    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
      }
    }
    

    펌웨어를 작성하는 방법


  • sw1을 누른 상태에서 sw2를 누릅니다. 그런 다음 sw1을 놓습니다.
    sw2를 놓을 때 sw1을 누르면 OK입니다.
    IO1을 Low로 재설정하면 펌웨어 쓰기 모드로 부팅됩니다.
  • Arduino에서 스케치를 엽니 다
  • 마이크로 컴퓨터에 레코딩 버튼을 누르면 레코딩이 시작됩니다
  • 쓰기가 완료되면 일반 모드로 부팅됩니다.
    LCD 디스플레이에 문자가 표시되어야 합니다.



  • 회로도에서 ESP-WROOM-02의 EAGLE 라이브러리를 작성했으므로 공개해 둡니다.
    htps : // 등 w. 기테부세 r 콘텐트 t. 이 m/이케사토/에아 gぇ-ぃb 라리 s/마s r/lbr/에 sp-w로오 m02. lbr
    좋으면 부디-.

    ESP-WROOM-02는 WiFi 모듈로 사용할 수 있지만 단독으로 여기까지 할 수 있으면 훌륭합니다!

    좋은 웹페이지 즐겨찾기