Recensisci!
Diventa un recensore per ricevere prodotti gratuiti o scontati!
Iscriviti
Se desideri, puoi effettuare un'iscrizione gratuita al forum per entrare nella nostra community.
Ricerca Avanzata
Answers
Se necessiti di aiuto, clicca il pulsante "Cerco Aiuto" (disponibile anche per i non iscritti).
Ultimi argomenti
» Recensione Umidigi A3 Pro - Smartphone sotto i 100€
Da Admin Gio Apr 04, 2019 12:22 pm

» [Arduino] aiuto programma
Da Glak Mar Mar 12, 2019 9:30 am

» ERRORE NELLA COMPILAZIONE NEXTION
Da papat Mar Feb 26, 2019 7:11 am

» Comandare la Smart TV con Alexa senza broadlink (gratis)
Da Admin Mar Feb 19, 2019 4:31 pm

» Google Home diventa un traduttore simultaneo
Da Admin Mar Feb 19, 2019 4:27 pm

» Recensione Xiaomi Redmi 5 - Edizione 2019
Da Admin Mar Feb 19, 2019 4:24 pm

» Guadagnare lavorando per Google Street View
Da Admin Mar Feb 19, 2019 4:20 pm

» UMIDIGI F1 - Specifiche tecniche
Da Admin Mar Feb 19, 2019 4:14 pm

» display oled 168x64
Da fulvio Dom Feb 10, 2019 9:47 am

I postatori più attivi del mese

Codice - Tutorial Arduino Base #17: La funzione map

Andare in basso

Codice - Tutorial Arduino Base #17: La funzione map Empty Codice - Tutorial Arduino Base #17: La funzione map

Messaggio Da Admin il Dom Gen 31, 2016 2:44 pm


La funzione map è utilissima quando abbiamo la necessità di proporzionare in Arduino. Un esempio pratico è quando abbiamo la necessità di regolare la luminosità di un LED o un servomotore tramite un potenziometro.

Come funziona? La sintassi del codice che ci permetterà di usare la funzione map è la seguente:
map(val, x1, x2, y1, y2);
Significato delle sigle utilizzate:

  • val: E' il valore letto che varia "in continuazione". Nel caso del progetto in cui bisogna regolare la luminosità di un LED tramite potenziometro, è il valore letto dal potenziometro.
  • x1: E' il valore minimo che possiamo leggere da "val". Nel caso del potenziometro, è 0.
  • x2: E' il valore massimo che possiamo leggere da "val". Nel caso del potenziometro, è 1023.
  • y1: E' il valore minimo che potrà assumere map.
  • y2: E' il valore massimo che potrà assumere map.


In pratica la funzione map ci permetterà di proporzionare 0-1023 con 0-255. Nel seguente codice viene mostrata una sua applicazione. Esso ci permetterà di regolare la luminosità di un LED tramite un potenziometro:

Codice:
int led=3;
int potenziometro=A0;
int val=0;
int fade=0;

void setup() {
  pinMode(led, OUTPUT);
  pinMode(potenziometro, INPUT);
}

void loop() {
  //leggo il valore del potenziometro
  val=analogRead(potenziometro);
  //proporziono valore del potenziometro con quello del led
  fade=map(val, 0, 1023, 0, 255);
  //scrivo sul led i valori proporzionati
  analogWrite(led, fade);

}
Admin
Admin
♔ Amministratore

Messaggi Messaggi : 4364
Crediti Crediti : 12158
Reputazione Reputazione : 187
Data d'iscrizione Data d'iscrizione : 08.03.11
Età Età : 20
Località Località : Brescia

Visualizza il profilo http://wikiinfo.forumattivo.it

Torna in alto Andare in basso

Torna in alto


 
Permessi di questa sezione del forum:
Non puoi rispondere agli argomenti in questo forum