Arduino Партаванне Праблема

Я хачу пабудаваць Arduino метэастанцыі, і код, які я напісаў працаваў выдатна на маім Arduino Mega 2560 з ATmega2560, але калі я porthed яго да майго Arduino/Genuino Micro, апаратныя сродкі і КІ былі падлучаныя правільна, але не будзе працаваць, як на ВК-дысплеі не будзе працаваць правільна ці не адлюстроўваць нічога, і яна не дасылала нічога больш паслядоўнага. Пры загрузцы, я чуў, порт USB быць падключаны і адключаны некалькі разоў. код:

    #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
Ці можаце вы па-ранейшаму працаваць базавы эскіз, як мігцення падручнік? Калі порт USB паўторна запускаецца, гэта можа з-за кароткага замыкання або перанапружання.
дададзена аўтар dotnetengineer, крыніца
Верагодна, не звязаныя з вашай праблемай, але ... калі (millisSinceStart% інтэрвал == 0) асуджаны на правал, калі Миллис() скача мілісекунду вы зацікаўленыя. І Миллис() звычайна прапускае адну мілісекунду кожныя 43 мс. См Blink без затрымкі , належным чынам рэалізаваць гэтую логіку сінхранізацыі.
дададзена аўтар Sprogz, крыніца
Ну, я нядаўна атрымаў Micro, таму не шорты.
дададзена аўтар d33tah, крыніца
Але я да гэтага часу чую USB адлучэнне кожны раз, калі я націскаю на кнопку скіду або загрузкі, але затым ён злучаецца зноў.
дададзена аўтар d33tah, крыніца
Я магу запусціць лыпання эскіз, і я паспрабаваў зрабіць гэта як эскіз BlinkWithoutDelay сказаў.
дададзена аўтар d33tah, крыніца

адказаў няма

0