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

    About sensors and GPIO

    Scheduled Pinned Locked Moved Core 2
    3 Posts 2 Posters 6.5k Views
    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 Offline
      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 Offline
        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 Offline
          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

          Hello! It looks like you're interested in this conversation, but you don't have an account yet.

          Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

          With your input, this post could be even better 💗

          Register Login
          • First post
            Last post