Visualitzadors. Pantalles OLED vs LCD
A més del monitor sèrie, que obliga a tenir obert l'IDE, podem mostrar informació amb altres dispositius, com les pantalles:
Visualitzadors. Pantalles OLED vs LCD
A més del monitor sèrie, que obliga a tenir obert l'IDE, podem mostrar informació amb altres dispositius, com les pantalles:
Entrades i Sortides Digitals
!
Els GPIO 6, 7, 8, 9, 10 i 11 NO es poden utilitzar com a entrades ni com a sortides (connectats a la memòria Flash)
Els GPIO 34, 35, 36 i 39 només es poden utilitzar com a entrada.
Els 22 GPIO restants es poden utilitzar com a entrada i com a sortida digital.
GPIO (General Purpose Input/Output, Entrada/Sortida de Propòsit General) és un pin sense propòsit específic definit.
Control de l'encesa d'un LED
Recordeu la polaritat del LED
(càtode -, ànode +)
Reciclem l'sketch Blink que hem fet per al led integrat i adaptem-lo a la nova situació:
int LedPin = 5; // definim el pin com a variable
void setup () // funció de configuració
{
pinMode (LedPin, OUTPUT); // configuració del pin com a sortida
}
void loop () // execució en bucle
{
digitalWrite (LedPin, HIGH); // activa la sortida (led encés) ...
delay (1000); // durant 1 segon
digitalWrite (LedPin, LOW); // desactiva la sortida (led apagat) ...
delay (1000); // durant 1 segon
}
Afegim un polsador
El polsador, com tots els sensors, ha de rebre alimentació.
Per tant, s'ha de connectar al pin 3.3V.
A més, per tal d'evitar els rebots i obtenir un funcionament estable
cal connectar-lo a GND a través d'una resistència de 10 kΩ.
Control de l'encesa d'un led amb un polsador
La idea:
SI polsador premut → led ON
SI NO ( SI polsador NO premut) → led OFF
if (condició) {accions1}
else {accions2}
SI es compleix la condició, es realitzen unes accions,
i si no es cumpleix, es realitzen unes altres.
❶ La igualtat lògica == indica que el valor dels dos termes és el mateix.
El valor d'una entrada i d'una sortida es pot expressar amb:
HIGH o 1, LOW o 0:
digitalWrite (LedPin, HIGH); == digitalWrite (LedPin, 1);
if (ValorSensor == 1) == if (ValorSensor == HIGH)
// valors amb que treballarem:
const int BotoPin = 1;
const int LedPin = 5;
void setup ()
{
pinMode (BotoPin, INPUT); // configuració del pin com a entrada
pinMode (LedPin, OUTPUT); // configuració del pin com a sortida
}
void loop ()
{
// desa el valor de la lectura del pin d'entrada en una variable:
int ValorSensor = digitalRead (BotoPin);
if (ValorSensor == 1) // SI botó premut (lectura 1 o HIGH) ... ❶
{ digitalWrite (LedPin, HIGH); } // encén led
else // SI NO (botó no premut) ...
{ digitalWrite (LedPin, LOW); } // apaga led
delay (30); // petita pausa per estabilitzar
}