Arduino pročitaj digitalni port i ispiši ga na serijski port

Arduino pročitaj digitalni port i ispiši ga na serijski port

/*
DigitalReadSerial
Reads a digital input on pin 2, prints the result to the serial monitor
Čita digitalni ulaz na pinu 2, ispisuje rezultat na serijski monitor

This example code is in the public domain.
 */

// digital pin 2 has a pushbutton attached to it. Give it a name:
// na digitalni pin 2 se spoji mikroprekidač a druga strana prekidača se spoji na GND

int pushButton = 2;

// the setup routine runs once when you press reset:
// setup funkcija se pokreće samo jednom, kada se mikrokontroler pali ili kada se pritisne restart.

void setup() {
    // initialize serial communication at 9600 bits per second:
    // inicijalizacija serijske komunikacije brzine 9600 bps, ova brzina mora odgovarati brzini podešenoj na serijskom monitoru

    Serial.begin(9600);

    // make the pushbutton's pin an input:
    // pinu 2 smo gore dodjelili ime pushButton, pa smo ovdje upisali pin 2, koji je ulazni pin

    pinMode(pushButton, INPUT);

    //nema u originalu
    //Postavlja početno stanje ulaznog pina. Iako je pin ulazni možemo mu odrediti da mu je vrijednost visoko.
    //Time automatski uključujemo takozvani unutarnji "PULLUP" otpornik
    digitalWrite(pushButton, HIGH);

}

// the loop routine runs over and over again forever:
// kada loop funkcija dođe do svoga kraja, kreće ponovno ispočetka i tako u beskonačno...

void loop() {
    // read the input pin:
    // inicijaliziraj varijablu buttonState i dodjeli joj vrijednost koju pročitaš na digitalnom ulazu 2
    int buttonState = digitalRead(pushButton);

    // print out the state of the button:
    //ispiši stanje mikroprekidača

    /*
    //Možda malo bolja varijanta
    if (buttonState==HIGH) // ako je učitana vrijednost VISOKO znači da gumb nije pritisnut pa niti ne želimo ispis...
    {
    }
    else // ako stanje nije VISOKO, znači da je NISKO i gumb je pritisnut, u tom slučaju želimo da se ispiše poruka...
    {
    Serial.println("Mikroprekidač pritisnut");
    // Serial.println nam nakon ispisa ubacuje \n\r, što sljedeći ispis seli u novi red...
    // Mikroprekidač pritisnut
    // ako upišemo Serial.print ("Mikroprekidač pritisnut"); sljedeći ispis bit će samo nastavljen na postojeći...
    // Mikroprekidač pritisnutMikroprekidač pritisnutMikroprekidač pritisnut
    // ako želimo ispisati sa Serial.print ("Mikroprekidač pritisnut"); i nakon toga želimo u novi red možemo ovako
    //Serial.print("\n\r"); ili Serial.println("");
    //Jednako tako ispis možemo raditi i direktno čitanjem Serial.println(digitalRead(pushButton));
    // Što će nam na ispisu dati NISKO ili VISOKO, ilI, u ovom slučaju - pošto smo na dijelu koji izbacuje samo
    // kada je mikroprekidač pritisnut - ispis će biti NISKO
    delay(100); // pričekaj 100 milisekundi
    }
     */

    Serial.println(buttonState);
    // ovo je u originalnom kodu.
    //ispisuje trenutno stanje mikroprekidača
    delay(1); // delay in between reads for stability
    // pričekaj radi stabilnosti
}

Leave a Reply