Elektroda.pl
Elektroda.pl
X
Elektroda.pl
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Arduino deklaracja PINów, kompiluje się ale nie działa

24 Lut 2017 22:48 648 4
  • Poziom 33  
    Witam
    Jaka jest zasada deklaracji PINów w Arduino?
    Potrzebuję zadeklarować kilka wejść i wyjść, kompilacja dokonuje się bez błędów, natomiast kod się nie wykonuje.
    Próbowałem zrobić to na podobieństwo gotowców, ale chyba coś jest nie tak.

    Kod: c
    Zaloguj się, aby zobaczyć kod


    Wejścia będę też czytał ale chciałem dojść na początku do ładu z wysyłaniem sygnałów na wyjście.
  • Poziom 21  
    Przeklejam poniżej kawałek programu z tej platformy :

    #define SMETR_PIN A6
    unsigned int newdbm;
    unsigned int dbm;
    unsigned int posrednia;
    unsigned int posr;
    unsigned int px;
    unsigned int py;
    unsigned int pz;
    unsigned int fmfr;
    int sensorValue = analogRead(SMETR_PIN);

    Wprawdzie to jest z innego układu ale z tego wynika ,że np A5 to jest noga 28.

    Pozdrawiam :D
  • Poziom 35  
    PiotrPitucha napisał:
    Witam
    Jaka jest zasada deklaracji PINów w Arduino?
    Potrzebuję zadeklarować kilka wejść i wyjść, kompilacja dokonuje się bez błędów, natomiast kod się nie wykonuje.

    Konfiguracja pinów i setup wyglada że są poprawne.
    Na jakiej podstawie twierdzisz że 'kod się nie wykonuje'?
    Dla jakiej płyty robisz kompilację, a dla jakiej płyty wykonujesz test(?).
    Jeżeli masz Arduino Uno (chociaż pętla programu jest pusta), to już w funkcji setup(),
    pin 13 (output) otrzymuje stan wysoki i taki stan pozostaje podczas testu; podobnie pin14 w Arduino uno jest to pin A0 i też ma stan wysoki podczas testu. Czyli kod wykonuje się!!!
    Pin 23 oraz Pin 24 skonfigurowałes jako input (nie występuje w Uno i raczej odnosi się do Mega2560). Aby je wytestowac na Mega2560 wymagana byłaby jakaś funkcja dla tych pinów w pętli 'void loop () {}'.
    Jeżeli te piny mają byc sterowane z zewnątrz manulalnie w formie przycisków, to należałoby przewidziec dla nich podciaganie; albo wewnętrznie do Vcc - w Void setup()
    pinMode(in1pin, INPUT);
    digitalWrite(in1pin, HIGH);
    albo alternatywnie
    pinMode (in1Pin, INPUT_PULLUP);
    albo też zewnętrznie rezystorem do GND dla funkcji odwrotnej.

    e marcus
  • Poziom 33  
    Witam
    namok Arduino wersja 1.8.0 , płytka UNO, płytka Pro Mini nie ma znaczenia wersja, chodzi o składnię języka, co do schematu to oczywiście znam, inaczej nie mógłbym deklarować wyjść i wejść.

    emarcus , poprawność kompilacji się wyświetla :) a co do wykonania programu to wlutowałem w płytkę LEDy, nie ma błędów w hardware, bo sterując bezpośrednio numery pinów LEDy się zaświecają.
    Co do pinów 23 i 24 to chyba rozwiązałeś mój problem :), zaraz to wypróbuję, widzę że opis wg Arduino to A0 i A1 czarno biały wydruk mnie zmylił :)
    Pozdrawiam i dziękuję

    EDIT
    emarcus , wszystko działa, dzięki za trop :)
    Zamykam temat, problem rozwiązany.