M5Stack의 DHT12 샘플 (온습도 센서)을 놀아

신인가~ 같은 사람밖에 보이지 않기 때문에 아마추어가 셋업을 해 봅니다.



대체 절차


  • 구입합니다. M5Stack Gray와 프로토 키트를 구입했습니다.
    htps //w w. 슈 tch-s 시엔세. 코 m/타타 g/㎃ st/770/
  • 환경을 설정합니다. 공식 설정을 참고로했습니다 (후술)
    htp // m5s ck. 이 m/아세 ts/도 cs/가 x. HTML
  • 샘플을 읽고 거기에 가십시오 (아래 참조)

  • 환경 설정



    macOS High Sierra 환경에서 수행했습니다.
    htp // m5s ck. 이 m/아세 ts/도 cs/가 x. HTML 을 보면서 진행합니다.

    드라이버 다운로드 및 설치 (Installing the USB Driver)



    htps //w w. 시 bs. 이 m / p 로즈 cts /에서 ゔ ぉ p 멘 t와 ls / 그 f와 ぁ 레 / u sb 와우 rt eb 드 게 vcp 드 ゔ ぇ rs 에서 적절한 것을 가져옵니다.
    do NOT use the Windows 10 Universal (v10.1.1) driver! 라는 것이므로 Windows의 사람은 주의가 필요할 것 같습니다.
    ※macOS의 경우, 인스톨중에 시큐러티 경고가 나오므로, 시스템 환경설정→시큐러티와 프라이버시로부터 허가를 내야 한다고 하는 다른 주의가 있습니다.

    ESP32 Arduino Core 배포 (Installing the ESP32 Arduino Core)



    OS마다 절차가 다릅니다.

    macOS의 경우 htps : // 기주 b. 이 m/에 sp 레시 f/아 r즈이노-에 sp32/bぉb/뭐 r/도 cs/아 r즈이노-에데/마 c. md # in s ta chion-in st ru c chi on s fu r-ma c-o s을 참조하여 진행합니다.
    1. Arduino IDE 배포 (아직 경우)
    2. 실수를 실행
    터미널을 열고 다음을 붙여 넣고 Enter로 OK
    mkdir -p ~/Documents/Arduino/hardware/espressif && \
    cd ~/Documents/Arduino/hardware/espressif && \
    git clone https://github.com/espressif/arduino-esp32.git esp32 && \
    cd esp32 && \
    git submodule update --init --recursive && \
    cd tools && \
    python get.py
    

    그런 다음 Arduino IDE가 이미 열려 있으면 재부팅하십시오.

    Arduino 용 라이브러리 다운로드 (Download Library)



    Arduino IDE에서 수행하는 방법을 추적합니다.
  • Arduino IDE를 시작하고 スケッチライブラリをインクルードライブラリを管理를 선택합니다.
  • 검색 필터에 m5stack를 입력하고 M5Stack를 선택하고 インストール를 클릭하여 설치합니다.
  • 설치가 완료되면 샘플이나 무엇인가를 사용할 수 있게 됩니다.

  • DHT12용 샘플을 불러오기



    우선 움직여보자



    M5Stack의 USB-C 포트 옆의 구멍에 온습도 센서를 연결하고 USB 케이블로 PC에 연결해 둡니다.
    Arduino IDE를 열고 ファイルスケッチ例에서 "사용자 정의 라이브러리 스케치 예"에서 M5StackModulesDHT12를 선택합니다.
    산루가 열리면 ツールボード에서 ESP32 ArduinoM5Stack-Core-ESP32를 선택합니다. 다음에 ツールシリアルポート/dev/cu.SLAB_USBtoUART 도 선택해 둡니다.
    준비가되면 창의 왼쪽 상단에있는 "→"버튼을 누릅니다. 움직이네요. 다만, 조금 표시가 이상한 위에, 화면을 가득 넣어도 리프레시되지 않습니다.

    거기서 이런 식으로 바꾸어 보았습니다.



    약간의 타이포( M5.Lcd 에 해야 할 부분이 Serial 로 되어 있다)와 화면이 가득 찼는지의 판정이 없는 것이 원인이므로 조금 만져 보았습니다.
    이어서 F나 K에서의 온도를 시리얼에 흘리는 것도 멈췄습니다.

    DHT12mod.ino
    #include <M5Stack.h>
    #include "DHT12.h"
    #include <Wire.h>     //The DHT12 uses I2C comunication.
    DHT12 dht12;          //Preset scale CELSIUS and ID 0x5c.
    
    // 画面に何行表示したかのカウント
    int count = 0;
    
    void setup() {
      M5.begin();
      Wire.begin();
      Serial.println("Testing DHT12 lib:");
      M5.Lcd.println("Testing DHT12 lib:");
    }
    
    void loop() {
      //Read temperature with preset scale.
      Serial.print("Temp.: ");
      M5.Lcd.print("Temp.: ");
      Serial.print(dht12.readTemperature());
      M5.Lcd.print(dht12.readTemperature());
    
      //Read humidity.
      Serial.print("*C  Humid: ");
      M5.Lcd.print("*C  Humid: ");
      Serial.print(dht12.readHumidity());
      M5.Lcd.print(dht12.readHumidity());
      Serial.println("%RH");
      M5.Lcd.println("%RH");
    
      // 表示回数の更新
      count++;
    
      delay(5000);
    
      // 1文字の高さが8pxなので30行出すといっぱいになる
      // 30行表示したら画面をクリアして,一番上から再開
      if(count == 30){
        count = 0;
    
        Serial.println("Clear LCD Output...");
    
        M5.Lcd.fillScreen(0x0);
        M5.Lcd.setCursor(0, 0);
      }
    }
    

    이상! 이것으로 화면 가득 차면 클리어 해줍니다.

    좋은 웹페이지 즐겨찾기