Prispevki Arduino

Komunikacija (monitoring) z Arduinom

Komunikacija med osebnim računalnikom in krmilnikom preko Arduino IDE (angl. Serial Monitor) v realnem času

Preko serijskega terminala v programskem okolju Arduino IDE, lahko na enostaven način komunicirate z vašim krmilnikom. Za enostaven primer potrebujete:

V programskem okolju Arduino IDE najdete pod:

FILE > EXAMPLES > BASICS > DIGITALREADSERIAL

preprosto kodo, s katero lahko preverite delovanje. Ko kodo prevedete in naložite, lahko odprete terminal s klikom na “Serial Monitor” ikono (na spodnji sliki obkroženo rdeče). Port preko katerega poteka komunikacija je enak tistemu, ki ga izberete, ko nalagate kodo (Tools – Serial Port).

serial monitor
Arduino IDE, izbira Serial Monitor okna (komunikacija)
serial monitor 1
Komunikacija, COM port

Ko zaženete terminal, se vam pokaže okno:

serial monitor 2
Komunikacija, Serial Monitoring

V tem oknu lahko izvedemo nekaj nastavitev, predvsem pa je pomembna hitrost prenosa (angl. baud rate). V našem primeru izberemo nastavitev 9600 baud. S tem smo določili, koliko “informacije” smo poslali v eni sekundi.

Serijski monitoring je dober in preprost način vzpostavitve komunikacije z vašim krmilnikom. Torej oglejmo si preprost primer:

image 8
Vezalna shema

Berimo stanje pina 2, na katerega je priključena tipka. Ko se zgodi sprememba stanja, naj krmilnik v terminal zapiše spremembo.

Kodo, ki smo jo našli med primeri (File < Examples < Basics < DigitalReadSerial) izgleda nekako takole:

/*
  DigitalReadSerial

  Reads a digital input on pin 2, prints the result to the Serial Monitor

  This example code is in the public domain.

  http://www.arduino.cc/en/Tutorial/DigitalReadSerial
*/

// digital pin 2 has a pushbutton attached to it. Give it a name:
int pushButton = 2;

// the setup routine runs once when you press reset:
void setup() {
  // initialize serial communication at 9600 bits per second:
  Serial.begin(9600);
  // make the pushbutton's pin an input:
  pinMode(pushButton, INPUT);
}

// the loop routine runs over and over again forever:
void loop() {
  // read the input pin:
  int buttonState = digitalRead(pushButton);
  // print out the state of the button:
  Serial.println(buttonState);
  delay(1);        // delay in between reads for stability
}

Sprememba vrednosti na vhodnem pinu 2, se v tekstovni obliki prikazuje v terminalu. Ko je tipka razklenjena, se izpiše vrednost 0 in obratno.

serial monitor 3

KAJ LAHKO S TEM POČNEM?

Dodaj odgovor

Vaš e-naslov ne bo objavljen. * označuje zahtevana polja