Arduino Bağlantı Problemi

Bir Arduino hava istasyonu kurmak istiyorum ve yazdığım kod, bir Atmega2560 ile Arduino Mega 2560'ım üzerinde mükemmel bir şekilde çalıştı, ancak Arduino/Genuino Micro'yu kullanmaya başladığımda, donanım ve LCD doğru bir şekilde kablolandı. LCD'de düzgün çalışmadığı veya herhangi bir şey göstermediği gibi çalışmayacaktı ve Seri üzerinden hiçbir şey göndermeyecekti. Yükleme sırasında, USB bağlantı noktasının birkaç kez bağlandığını ve bağlantısını kesildiğini duydum. Kod:

    #include "DHT.h"
    #include 
    #include 
    #include 

    LiquidCrystal lcd(8,9,4,5,6,7);
    DHT dht(12, DHT22);

    Adafruit_MPL3115A2 baro = Adafruit_MPL3115A2();

    float temp;
    int humidity;
    int pressure;
    int altitude;
    long interval = 2000;
    long millisSinceStart;
    char cmd;

    void setup() {
      pinMode(12, INPUT);
      lcd.begin(16, 2);
      lcd.clear();
      dht.begin();
        baro.begin();
        lcd.home();
        lcd.print("TEMP:");
        lcd.setCursor(10, 0);
        lcd.print("HUM:");
        lcd.setCursor(0, 1);
        lcd.print("PRES:");
        lcd.setCursor(9, 1);
        lcd.print("ALT:");
        Serial.begin(9600);
        pinMode(A0, INPUT);
    }

    void loop() {
      millisSinceStart = millis();
      if(millisSinceStart % interval == 0){
        temp = dht.readTemperature(true);
        humidity = dht.readHumidity();
        pressure = baro.getPressure();
        altitude = baro.getAltitude();
        lcd.setCursor(5, 0);
        lcd.print(temp);
        lcd.setCursor(14, 0);
        lcd.print(humidity);
        lcd.setCursor(5, 1);
        lcd.print(pressure);
        lcd.setCursor(13, 1);
        lcd.print(altitude);
        Serial.println(temp);
        Serial.println(humidity);
        Serial.println(pressure);
        Serial.println(altitude);
        }
    }
0
Göz kırpma öğreticisi gibi temel bir kroki çalıştırabilir misiniz? USB bağlantı noktası yeniden başlatılırsa, kısa devre veya aşırı voltaj nedeniyle olabilir.
katma yazar dotnetengineer, kaynak
Muhtemelen senin probleminle ilgili değil ... if (millisSinceStart% interval == 0) millis() , ilgilendiğiniz milisaniyeyi atladığında başarısız olmaya zorlanır. Ve millis() , tipik olarak her 43 ms'de bir milisaniyeyi atlar. Bu zamanlama mantığını uygulamak için uygun şekilde Gecikmesiz Göz Kırpma konusuna bakın.
katma yazar Sprogz, kaynak
Son zamanlarda mikrofonu aldım, yani şort yok.
katma yazar d33tah, kaynak
Ama yine de sıfırlama düğmesine bastığımda veya karşıya yüklediğimde USB bağlantısının kesildiğini duyuyorum, ancak tekrar bağlanıyor.
katma yazar d33tah, kaynak
Göz kırpma taslağını çalıştırabilirim ve BlinkWithoutDelay taslağının nasıl söylediğini yapmaya çalıştım.
katma yazar d33tah, kaynak

Cevap yok

0