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

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

Arduino 4. nodarbība

Š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 kontrolieris (piem. Uno, Nano) ar 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).

Papildus

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!"); 
 }

Papildus 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.

Papildus 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.

Papildus 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.

Atbildēt