Arduino पोर्टिंग समस्या

मैं एक अरुडिनो मौसम स्टेशन बनाना चाहता हूं, और जिस कोड को मैंने लिखा है वह मेरे अरुडिनो मेगा 2560 पर एक एमेमेगा 2560 के साथ पूरी तरह से काम करता था, लेकिन जब मैंने इसे अपने अरुडिनो/जेनुइनो माइक्रो पर रखा, तो हार्डवेयर और एलसीडी सही तरीके से वायर्ड हो गए लेकिन यह एलसीडी में काम नहीं करेगा, ठीक से काम नहीं करेगा या कुछ भी प्रदर्शित नहीं करेगा, और यह सीरियल पर कुछ भी नहीं भेजेगा। अपलोड करते समय, मैंने सुना है कि यूएसबी पोर्ट कनेक्ट हो रहा है और कुछ बार डिस्कनेक्ट हो गया है। कोड:

    #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
क्या आप अभी भी ब्लिंक ट्यूटोरियल की तरह एक बुनियादी स्केच चला सकते हैं? यदि यूएसबी पोर्ट फिर से शुरू होता है, तो यह शॉर्ट-सर्किट या ओवर-वोल्टेज की वजह से हो सकता है।
जोड़ा लेखक dotnetengineer, स्रोत
शायद आपकी समस्या से संबंधित नहीं है लेकिन ... अगर (millisSinceStart% अंतराल == 0) असफल होने के लिए बाध्य है जब millis() आपके द्वारा रुचि रखने वाली मिलीसेकंड को छोड़ देता है। millis() आमतौर पर प्रत्येक 43 एमएस में एक मिलीसेकंड छोड़ देता है। इस समय तर्क को लागू करने के उचित तरीके के लिए विलंब के बिना ब्लिंक देखें।
जोड़ा लेखक Sprogz, स्रोत
खैर मुझे हाल ही में माइक्रो मिला, तो कोई शॉर्ट्स नहीं।
जोड़ा लेखक d33tah, स्रोत
लेकिन जब भी मैं रीसेट बटन दबाता हूं या अपलोड करता हूं, तब भी मैं यूएसबी डिस्कनेक्टिंग सुनता हूं, लेकिन फिर यह फिर से जुड़ता है।
जोड़ा लेखक d33tah, स्रोत
मैं झपकी स्केच चला सकता हूं और मैंने इसे करने की कोशिश की कि ब्लिंक विथआउटडेले स्केच ने कहा।
जोड़ा लेखक d33tah, स्रोत