Arduino: Comandarea unui LED cu un buton fara rezistenta
In acest tutorial va voi arata un truc si acela de a folosi rezistenta interna a placii Arduino cu o linie de cod.
Fiecare placa originala Arduino contine o rezistenta pe fiecare pin si aceasta se poate folosi daca stim cum sa o utilizam.
In loc sa conectam un buton la placa printr-o rezistenta, putem conecta acelasi buton, fara rezistenta, daca scriem o anumita linie de cod.
Schema de conectat LED-ul este aceasi: conectam un LED la pinul 13 (sau altul dar trebuie schimbat si codul programului) printr-o rezistenta.

Si vom conecta si un buton, dar fara a lega si o rezistenta, adica asa:

Nu uitati: daca conectati LED-ul la alt pin (pin: 13) si butonul la alt pin (pin: 12) sa schimbati acest lucru si in cod.
Acum ca am facut conectariile corect va trebuii sa incarcam si programul:
Programul / Codul:
// Declaram pinul unde vom conecta un led;
int LED = 13;
int buttonPin = 12;
void setup() {
//Definim pinul 12 ca input si activam rezistenta interna a placii
pinMode(buttonPin, INPUT_PULLUP);
//Definim pinul 12 ca si pin pentru iesire (pentru LED)
pinMode(LED, OUTPUT);
}
void loop(){
// Citim valoare input-ului. Valoarea aceasta poate fi 1 sau 0
int buttonValue = digitalRead(LED);
if (buttonValue == LOW){
// Daca apasam butonul se va aprinde ledul
digitalWrite(LED,HIGH);
} else {
// Altfel, stingem LED-ul
digitalWrite(LED, LOW);
}
}
Inainte sa incarcam programul trebuie sa ne asiguram ca am selectat placa Arduino buna.
Pentru a selecta placa va trebui sa mergem in meniul de sus:
TOOLS -> BOARD
Dupa ce am ales placa potrivita va trebui sa alegem si portul utilizat din meniul:
TOOLS -> PORT
Pentru a incarca programul trebuie sa apasam pe sageata de sub meniuri:

Acum daca am facut totul ca si in tutorial cand apasam butonul conectat va trebui sa se aprinda LED-ul.
Daca ati folosti alti prini schimbati mai sus in cod:
int LED = numarul pinului unde ati conectat LED-ul int BbuttonPin = numarul pinului unde ati conectat butonul
Singurul lucru ce l-am schimbat in cod, pentru a nu folosi o rezistenta, este linia unde am declarat butonul ca fiind de tipul „iesire”:
pinMode(buttonPin, INPUT_PULLUP);
Comanda INPUT_PULLUP activeaza rezistanta pe pinul buttonPin (sau pe ce pin o folositi!).
Daca am fi folosit o rezistenta pe pinul butonului puteam sa fi scris :
pinMode(buttonPin, INPUT);