logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Arduino Seeed XIAO nRF52840 - brak komunikacji z Serial Monitor, co sprawdzić?

gry20222001 20 Gru 2024 16:42 192 0
REKLAMA
  • #1 21356399
    gry20222001
    Poziom 1  
    Posty: 1
    Witam,
    Mam problem z Portami Arduino - Seeed XIAO nRF52840, a dokładniej chodzi o to że nic nie pojawia się na Serial Monitor ani na wyjściu, ogólnie nic się nie dzieje jedynie powiadomienie że program został wgrany.

    Program wcześniej normalnie działał ale za którymś razem jak go wgrałem Arduino i mikrokontroler XIAO przestały się komunikować, czy znacie powód lub/i ewentualne rozwiązanie?

    Kod programu:
    #include <Wire.h>
    #include "Adafruit_MPR121.h"


    const int pinIn1 = 9; // Pin do sterowania kierunkiem obrotów silnika (np. w prawo)
    const int pinIn2 = 10;
    const int delayTime = 2700;





    Adafruit_MPR121 cap = Adafruit_MPR121();

    uint8_t currtouched = 0;
    uint8_t lasttouched = 0;
    uint8_t codeIndex = 0;
    const int numElectrodes = 5;
    int enteredCode[4];
    int correctCode[4] = {4, 4, 4, 4};

    void setup() {
    Serial.begin(9600);
    digitalWrite(pinIn1, LOW);
    digitalWrite(pinIn2, LOW);
    pinMode(pinIn1, OUTPUT);
    pinMode(pinIn2, OUTPUT);

    if (!cap.begin(0x5A)) {
    Serial.println("MPR121 blad (brak podlaczenia)");
    while (1);
    }
    Serial.println("MPR121 podlaczony");
    }

    void loop() {
    currtouched = cap.touched();

    for (uint8_t i = 0; i < numElectrodes; i++) {
    if ((currtouched & (1 << i)) && !(lasttouched & (1 << i))) {
    Serial.print("Electrode ");
    Serial.println(i);
    delay(1000);
    // Update entered code if appropriate (assuming keypad functionality)
    if (codeIndex < 4) {
    enteredCode[codeIndex] = i;
    codeIndex++;

    } else {
    Serial.println("Code entry limit reached.");
    if (checkCode()) {
    Serial.println("Dostep udzielony");
    silnik();
    } else {
    Serial.println("Blad (zle haslo lub/i brak schematu w bazie)");
    // Reset code entry or provide feedback
    codeIndex = 0;
    memset(enteredCode, 0, sizeof(enteredCode));
    }
    }
    }
    }
    }
    void silnik(){
    Serial.println("Aktywacja silnika");
    // Kręcenie w prawo
    digitalWrite(pinIn1, HIGH);
    digitalWrite(pinIn2, LOW);
    delay(delayTime);

    // Zatrzymanie
    digitalWrite(pinIn1, LOW);
    digitalWrite(pinIn2, LOW);
    delay(delayTime*5); // Pauza 10 sekund

    Serial.println("Kręcenie w lewo");
    digitalWrite(pinIn1, LOW);
    digitalWrite(pinIn2, HIGH);
    delay(delayTime);

    // Zatrzymanie
    digitalWrite(pinIn1, LOW);
    digitalWrite(pinIn2, LOW);
    delay(delayTime); // Pauza 10 sekund

    }
    bool checkCode() {
    for (int i = 0; i < 4; i++) {
    if (enteredCode != correctCode[i]) {
    return false;

    }
    }
    return true;
    }
    [/i]
  • REKLAMA
REKLAMA