In questi primi esempi abbiamo visto come programmare il microcontrollore Arduino per compiere vari azioni. Tuttavia tutte le operazioni programmate erano di tipo passivo, nel senso che una volta accesso il dispositivo effettuava l’operazione precedentemente definitiva. Tramite l’uso del pulsante è possibile creare una prima interazione indipendente.
Il pulsante può essere usato per agire solamente alla pressione (il tipico esempio è rappresentato dal campanello o il clacson che emette un suono solo nel momento in cui è premuto) o di interruttore vero e proprio (ad esempio per accendere/spegnere le luci).
Accendere led alla pressione
int led=2;
int puls=8;
int val=0;
void setup() {
pinMode(led, OUTPUT);
pinMode(puls, INPUT);
}
void loop() {
val=digitalRead(puls);
if (val==1) {
digitalWrite(led, HIGH);
}
else {
digitalWrite(led, LOW);
}
}
Interruttore per led
int led=2;
int puls=8;
int val=0;
int stato=0;
void setup() {
pinMode(led, OUTPUT);
pinMode(puls, INPUT);
}
void loop() {
val=digitalRead(puls);
if(val==1) {
stato=1-stato;
delay(300);
}
if (stato==1) {
digitalWrite(led, HIGH);
}
else {
digitalWrite(led, LOW);
}
}
Interruttore per led (a 3 modalità)
Con questo programma aggiungiamo una modalità in più al nostro pulsante. Infatti non si limiterà ad accendere e spegnere il led ma prevede una fase intermedia, alla seconda pressione, il led lampeggerà.
int led=6;
int puls=7;
int val=0;
int contatore=0;
void setup() {
pinMode(puls, INPUT);
pinMode(led, OUTPUT);
Serial.begin(9600);
}
void loop() {
val=digitalRead(puls);
if (val==1) {
contatore=contatore+1;
}
if (contatore==1) {
digitalWrite(led, LOW);
delay(100);
}
if (contatore==2) {
digitalWrite(led, HIGH);
delay(100);
}
if (contatore==3) {
digitalWrite(led, HIGH);
delay(100);
digitalWrite(led, LOW);
delay(100);
}
if (contatore==4) {
contatore=0;
}
Serial.println(contatore);
}
Campanello o clacson con buzzer
Il buzzer è un componente elettronico capace di generare toni. E’ utilizzato spesso in elettronica per attirare l’attenzione dell’utente. In informatica viene adoperato all’interno dei pc fissi come sistema per identificare eventuali errori. Per capire meglio è il classico cicalino che emette un suono – se tutto va bene – all’accensione del pc desktop.
Il funzionamento del buzzer è semplice. E’ fornito di due poli, il positivo da collegare ad un pin digitale di Arduino e l’altro a massa.
In questo esempio, riutilizziamo il codice precedente per adattarlo al buzzer. Le poche variazione riguardano: il nome della costante (buz abbreviazione di buzzer anziché led) e soprattutto l’indicazione della frequenza e del tempo del buzzer, avendo tramite l’istruzione, tone(buz,1000,100);
int buz=7;
int puls=8;
int val=0;
void setup() {
pinMode(buz, OUTPUT);
pinMode(puls, INPUT);
}
void loop() {
val=digitalRead(puls);
if (val==1) {
digitalWrite(buz, HIGH);
tone(buz,1000,100);
}
}
else {
digitalWrite(buz, LOW);
}
Led e Buzzer si attivano insieme alla pressione
int led=6;
int puls=7;
int buz=8;
int val=0;
void setup() {
pinMode(led, OUTPUT);
pinMode(puls, INPUT);
pinMode(buz, OUTPUT);
}
void loop() {
val=digitalRead(puls);
if (val==1) {
digitalWrite(led, HIGH);
digitalWrite(buz, HIGH);
tone(buz,1000,100);
}
else {
digitalWrite(led, LOW);
digitalWrite(buz, LOW);
}
}
Pulsante per display lcd 16×2
#include <LiquidCrystal.h>
// inizializza la libreria con i numeri dei pin utilizzati
LiquidCrystal lcd(2, 3, 4, 5, 6, 7);
int puls1=8;
int val1=0;
void setup() {
// imposta il numero di colonne e righe del display utilizzato:
lcd.begin(16, 2);
// Stampa il messaggio sull’LCD.
lcd.print(“Computereweb.eu”);
}
void loop() {
val1=digitalRead(puls1);
if (val1==1) {
lcd.setCursor(0, 1);
lcd.print(” CIAO! “);
}
}
Il nuovo buono Premium è sottoscrivibile dal 14 novembre, la nuova liquidità che concorre, invece, inizia dall'8 novembre. Ulteriori dettagli…
Sono venuto a conoscenza il 13/11/2024 del 3% tramite posta elettronica ma la scadenza indicata è del 14/11/2024 . Quale…
Ho lo stesso problema con una sim poste mobile: tracker non abilitato. Sarò costretto a fare il reso.
L'ho ricaricato completamente, ma non sono mai riuscita ad accenderlo.
grazi delle vostre informazioni mi son state utili, visto che nel mio caso sono vent'anni che non adopero il computer…