🤖Have you ever tried Chat.M5Stack.com before asking??😎
    M5Stack Community
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Search
    • Register
    • Login

    About sensors and GPIO

    Core 2
    2
    3
    5.3k
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • T
      takero
      last edited by takero

      Hello.
      I want to connect the sensors DHT22 and DS18B20 and the capacitive soil moisture sensor to Core 2 for operation.
      Below is the sketch. However, when I wrote the sketch with the pin stuck, fatal error occurred.And after that, I couldn't write.

      Core 2 has been lucky enough to come back, but it's scary.Therefore, I would like to know the GPIO that should point to the sensor. Please let me know.
      Thank you.

      //#include <M5Stack.h>
      #include <M5Core2.h>
      
      #include "DHT.h"  
      //#define DHTPIN 13  // Basic.DHT22.
      #define DHTPIN 27  // Core2.DHT22 .19.27
      #define DHTTYPE DHT22
      DHT dht(DHTPIN, DHTTYPE);
      
      #include <OneWire.h>  //DS18B20
      #include <DallasTemperature.h>  //DS18B20
      //#define ONE_WIRE_BUS 0 // Basic.DS18B20. 
      #define ONE_WIRE_BUS 26 // Core2.DS18B20.25.26.27
      OneWire oneWire(ONE_WIRE_BUS); // OneWire
      DallasTemperature sensors(&oneWire);//  Dallas Temperature sensor
      
      #define PinSoilMoist 35  //CapSoilMoistSensor
        const int dry = 3700;   
        const int wet = 1400; 
      
      int inttemp , inthumid ;  
      int intsoilmoist , soilval , intsoiltemp;  
      float temperature, humidity, soilMoist, soilTemp;  
      
      void getData() {
      delay(2000);
      dht.begin();
      float temperature = dht.readTemperature();
      float humidity = dht.readHumidity();
      if (isnan(temperature) || isnan(humidity) ) {
          Serial.println(F("Failed to read from DHT sensor!"));
          return;
      }
        inttemp = int ( temperature ); 
        inthumid = int ( humidity );
        Serial.print( inttemp ); Serial.println(" *C, ");  
        Serial.print( inthumid ); Serial.println(" RH% ");
      
        soilMoist = analogRead(PinSoilMoist);  
        soilval = map(soilMoist, dry, wet, 0, 100); 
        if(soilval >= 99)
      {
        intsoilmoist = 99;
      }
      else if(soilval <=20)
      {
        intsoilmoist = 20;
      }
      else if(soilval >21 && intsoilmoist < 99)
      {
        intsoilmoist = soilval ;  
      }
      //  Serial.print( soilMoist ); Serial.println(" Pin ");  
        Serial.print( intsoilmoist ); Serial.println(" soil% ");  
        delay(250);
      
        sensors.requestTemperatures();  
        float soilTemp = sensors.getTempCByIndex(0);
        intsoiltemp = int ( soilTemp );  
        Serial.print( intsoiltemp ); Serial.println(" soil*C, ");  
      }
      
      void sendSigfox() {
        String msg = String (inttemp, HEX)    
                     + String (inthumid, HEX)
                     + String (intsoilmoist, HEX)
                     + String (intsoiltemp, HEX);
      
         Serial2.println("AT$SF=" + msg);
        Serial.println("AT$SF=" + msg);
      }
      
      void setup() {
        M5.begin(true, false, true);  
      //  M5.Speaker.write(0); 
      //  M5.Axp.SetSpkEnable(0);  
      
      //  Serial2.begin(9600, SERIAL_8N1, 16, 17);  
        Serial2.begin(9600, SERIAL_8N1, 13, 14);  
      //  Serial.begin(9600);  
      }
      
      void loop() {
        getData();
        sendSigfox();  
      
      //  M5.Power.deepSleep(SLEEP_SEC(60*15)); 
        M5.Axp.DeepSleep(SLEEP_SEC(60*0.5)); 
      }
      
      1 Reply Last reply Reply Quote 0
      • ZontexZ
        Zontex
        last edited by

        @takero hello, is the DHT, DS18B20 and soil moisture sensor are M5 products? have you tried to use UIFlow for this or you'd prefer Arduino instead?

        T 1 Reply Last reply Reply Quote 0
        • T
          takero @Zontex
          last edited by

          @zontex Thank you.
          DHT, DS18B20 and Soil Moisture Sensor are not M5 products. Use Arduino.
          Thank you.

          1 Reply Last reply Reply Quote 0
          • First post
            Last post