Laboratorul 04 - Citire de pe pini

Scop

  • familiarizarea cu citirea datelor de la senzori
  • familiarizarea cu butoane
  • măsurarea voltajului de intrare pe pini

Cuvinte cheie

  • pinMode, digitalRead, analogRead, INPUT
  • buton, senzor, pullup, pulldown

Utilizarea serialei

Pentru a afișa datele citite de pe pini de la senzori ne dorim să utilizăm Seriala de pe Arduino. Seriala este un utilitar similar cu cout din C++

Mod utilizare Seriala

Funcții:

  • Serial.print(cuvânt) - Afișează cuvânt fără spațiul
  • Serial.println(cuvânt) - Printează cuvânt iar următorul print se va face pe linia următoare
void setup()
{
  Serial.begin(9600); // Setăm frecvența pentru Serial Monitor
  Serial.println("Am început programul");
}
 
void loop()
{
  Serial.print("Salut"); // Printează Salut la infinit111
}

La rularea codului de mai sus, în Serial Monitor se va afișa Salut la infinit fără spații între cuvinte: “SalutSalutSalutSalutSalutSalut”

int buton = 2;
void setup()
{
  Serial.begin(9600); // Setăm frecvența pentru Serial Monitor
  Serial.println("Am început programul");
  pinMode(buton, INPUT);
}
int buttonState = 0;
void loop()
{
  buttonState = digitalRead(buton);
  Serial.print("Starea butonului este: "); // Mesaj ce precedează valoarea
  Serial.println(buttonState);
}

Outputul codului de mai sus va vi:

Am început programul

Starea butonului este 0

Starea butonului este 0

Starea butonului este 0

Am apăsat pe buton

Starea butonului este 1

Starea butonului este 1

Starea butonului este 1

Folosirea unui buton

Veți avea nevoie de:

  • Un Arduino Uno
  • Un button
  • O rezistență de 1k ohmi

Modul de folosire a butonului: 200

În situația de mai sus, pinul 4 trebuie setat pe INPUT iar citirea datelor de la buton se face folosind int date = digitalRead(4)

analogRead vs digitalRead

  • digitalRead funcționează pe toți pinii, rezultatele sale sunt fie HIGH fie LOW.
  • analogRead returnează valori între 0 - 1023, iar analogRead poate fi folosit doar pe pinii analogici: A0 - A5. Exemplu: pinMode(A0, INPUT)

Senzor de lumina

Mod de utilizare: 200

Senzorul de lumină este un rezistor cu rezistența variabilă în funcție de lumină.

Citirea datelor pe cazul de mai sus:

  • Setăm pinul A0 pe INPUT
  • folosim o variabilă light_sensor să citim datele folosind analogRead

Exerciții

  1. Folosiți interfața seriala pentru a afișa la infinit un mesaj de tipul: “Salut, numele meu este X și am Y ani”. Mesajul trebuie să fie afișat unul pe linie, iar X și Y trebuie să fie variabile în cod (Nu folosiți direct valorile voastre).
  2. Realizați un circuit cu un buton și un led. Când butonul este apăsat, ledul trebuie să se aprindă. Inițial, legați rezistența spre GND, similar cu imaginea de mai sus, ulterior, legați butonul să vină spre GND. Observați diferența.
  3. Realizați un circuit cu un senzor de lumină și afișați datele citite de acesta pe interfața serială. BONUS Când lumina scade sub un anumit nivel, aprindeți un LED.
info2/laboratoare/04.txt · Last modified: 2019/03/26 15:09 by george.stoica0310
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0