Arduino 4. nodarbība – Digitālā seriālā nolasīšana

Arduino – Digitālā seriālā nolasīšana

Šajā nodarbībā iemācīsimies ar Arduino saņemt digitālus datus no ārējas pogas vai slēdža.

Nepieciešamie komponenti

  1. Arduino plate NANO (vai UNO) ar atbilstošu USB kabeli
  2. Bredbords 400 punktu Half+
  3. Savienošanas vadi 10cm male-male 7 gab
  4. Rezistori 10KΩ 1 gab, 330Ω 1 gab
  5. Taktilā poga 1 gab.

Slēgums

Programma

Kodu var atvērt no:
Fails – Piemēri – 01. Basics – DigitalReadSerial

int pushButton = 2; // Poga pushButton pieslēgta digitālajam pinam 2 vai D2
void setup() {
 Serial.begin(9600); // Sāk seriālo komunikāciju
 pinMode(pushButton, INPUT); // Uzstādām pushButton pinu kā ievadi
}
void loop() { // Sāk ciklu, kas izpildās atkal un atkal
 int buttonState = digitalRead(pushButton); // Nolasa ievades pinu
 Serial.println(buttonState); // Drukā pogas vērtību 0 vai 1
 delay(100); // pauze milisekundēs
}

Augšupielādējam kodu un palaižam Seriālā porta monitoru. Tas drukā 0.
Nospiežot pogu, drukās 1.

Ja vēlamies, lai drukā 0 un 1 vai grafiku zīmē lēnāk, ierakstām lielāku delay (pauze milisekundēs). Piemēram 100 (o.1s) vietā 1000 (1s) vai 2000 (2s).

Papildu uzdevums 1

Starp Serial.println un delay pieliekam dažas rindiņas, kas atšifrēs, ko nozīmē 0 un 1.

 if (buttonState == 0) { 
  Serial.println("Poga nav nospiesta"); 
 }
 else { 
  Serial.println("Poga nospiesta!"); 
 }

Papildu uzzdevums 2

Izmantojam iebūvēto gaismas diodi, kura savienota ar pinu 13 vai papildus piespraužam gaismas diodi ar (+) pie digitālā pina 13 (D13), bet (-) caur 330Ω rezistoru pie – (GND).

Paņemam kodu no:
Fails – Piemēri – 02.Digital – Button

const int buttonPin = 2;
const int ledPin = 13; 
int buttonState = 0;
void setup() {
 pinMode(ledPin, OUTPUT);
 pinMode(buttonPin, INPUT);
}
void loop() {
 buttonState = digitalRead(buttonPin);
 if (buttonState == HIGH) {
 digitalWrite(ledPin, HIGH);
 } else {
 digitalWrite(ledPin, LOW);
 }
}

Ja poga būs nospiesta, iedegsies gaismas diode, citādi ne.

Papildu uzdevums 3

Paņemam kodu no:
Fails – Piemēri – 02.Digital – StateChangeDetection

Tiek skaitīts, cik reizes ir nospiesta poga (HIGH), gaismas diode tiks iedegta ik pēc katriem 4 nospiedieniem.
Skatāmies rezultātu – nospiedienu skaitu: Rīki – Seriālā porta monitors.

Papildu uzdevums 4

Paņemam kodu no:
Fails – Piemēri – 02.Digital – Debounce (Aizture)

Katru reizi, kad tik nospiesta poga (HIGH), gaismas diode tiks vai nu iedegta, vai izdzēsta.
Netiek izmantots Delay.

<< Iepriekšējā, 3. nodarbība | Nākamā, 5. nodarbība >>

Arduino sākumkomplekts 12 nodarbībām – 32.00€
Piegāde ar Latvijas pastu vai pakomātu (Omniva, DPD, PastaStacija) – 3.00€
Pasūtīšana un papildu info pa tālr.: 29216755 vai e-pastu: info[at]orient.lv