Arduino porting muammosi

Men Arduino ob-havo stantsiyasini qurmoqchiman va yozgan kodim Arduino Mega 2560 da Atmega2560 bilan yaxshi ishlagan, lekin uni Arduino/Genuino Micro qurilmasiga ulaganimda, apparat va LCD displey to'g'ri uzilgan, ammo LCDda bo'lgani kabi ishlamaydi, to'g'ri ishlamasa yoki hech narsa ko'rsatmasa, Seriya orqali hech narsa yuborilmaydi. Yuklanayotganda, men USB porti bir necha marta bog'langanini eshitganman. 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
Siz hali ham miltillovchi ilhom kabi asosiy eskizni ishlata olasizmi? USB port qayta ishlayotgan bo'lsa, u qisqa tutashuv yoki ortiqcha kuchlanish tufayli yuzaga kelishi mumkin.
qo'shib qo'ydi muallif dotnetengineer, manba
Ehtimol, sizning muammongiz bilan bog'liq emas, lekin millis() siz qiziqqan millisekundni atlayotganida if (millisSinceStart% interval == 0) bajarilmaydi. millis() odatda har bir milisaniyani har 43 milga o'tkazadi. Ushbu vaqt mantiqini amalga oshirish uchun to'g'ri yo'lni ko'rish uchun Blink Without Delays -ga qarang.
qo'shib qo'ydi muallif Sprogz, manba
Xo'sh, men yaqinda Mikroga ega bo'ldim, shuning uchun hech qanday shimlar yo'q.
qo'shib qo'ydi muallif d33tah, manba
Ammo men USB-ni o'chirish tugmasini bosib yoki yuklashni to'xtatib turgandek eshitaman, lekin keyin yana ulanadi.
qo'shib qo'ydi muallif d33tah, manba
Blink-sketchni ishga tushiraman va BlinkWithoutDelay sketchining qanday qilib aytganini qildim.
qo'shib qo'ydi muallif d33tah, manba

Javob yo'q

0