Arduino পোর্টিং সমস্যা

আমি একটি আর্ডিনো আবহাওয়া কেন্দ্র নির্মাণ করতে চাই, এবং যে কোডটি আমি লিখেছিলাম সেটি আমার আড্ডিনো মেগা 2560 এটমেগা ২6060 এর সাথে পুরোপুরিভাবে কাজ করে, কিন্তু যখন আমি এটি আমার অর্ডিনো/জেনুইনো মাইক্রোতে দেখিয়েছিলাম, তখন হার্ডওয়্যার এবং এলসিডি সঠিকভাবে তারযুক্ত ছিল কিন্তু এটি LCD তে কাজ করবে না সঠিকভাবে কাজ করবে না বা কিছু প্রদর্শন করবে না, এবং এটি সিরিয়ালের উপরে কিছু পাঠাবে না। আপলোড করার সময়, আমি ইউএসবি পোর্ট সংযুক্ত হচ্ছে এবং কয়েকবার সংযোগ বিচ্ছিন্ন। কোড:

    #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, উৎস
সম্ভবত আপনার সমস্যা সম্পর্কিত নয় তবে ... if (millisSinceStart% interval == 0) millis() আপনার আগ্রহযুক্ত মিলিসেকেন্ডটি ছাড়লে ব্যর্থ হবে। মিলিস() সাধারণত 43 এমএস এক মিলিসেকেন্ড ছাড়ে। এই টাইমিং লজিক প্রয়োগের সঠিক পদ্ধতির জন্য বিলম্বহীন ব্লিঙ্ক দেখুন।
যোগ লেখক Sprogz, উৎস
ওয়েল আমি সম্প্রতি মাইক্রো পেয়েছিলাম, তাই কোন শর্টস।
যোগ লেখক d33tah, উৎস
কিন্তু আমি রিসেট বোতামটি টিপুন বা আপলোড করার সময় USB সংযোগ বিচ্ছিন্ন করে দেখি, তবে এটি আবার সংযুক্ত হয়।
যোগ লেখক d33tah, উৎস
আমি ব্লিঙ্ক স্কেচ চালাতে পারি এবং আমি কিভাবে এটি BlinkWithoutDelay স্কেচ বলে চেষ্টা করছেন।
যোগ লেখক d33tah, উৎস