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
Pubblicità Adsense
Answers
Se necessiti di aiuto, clicca il pulsante "Cerco Aiuto" (disponibile anche per i non iscritti).
Ultimi argomenti
» Gioco con Arduino: Sniper Words
Da Admin Mer Gen 17, 2018 4:25 pm

» Mi si è bruciano Arduino, come mai?
Da Admin Mer Gen 17, 2018 4:24 pm

» Recensione hub USB per PC di Aukey (esterno o autoalimentato)
Da Admin Dom Gen 14, 2018 10:28 pm

» accesso remoto via web arduino porta bloccata
Da Admin Dom Gen 14, 2018 10:26 pm

» Recensione robot programmabile RCMoment
Da Admin Dom Gen 14, 2018 5:30 pm

» E' possibile aumentare la velocità dei servomotori con Arduino?
Da Admin Dom Gen 14, 2018 5:28 pm

» Come realizzare un impianto antincendio con Arduino - v1.0
Da Admin Ven Gen 12, 2018 3:02 pm

» Noleggio stampanti multifunzioni Brescia
Da Admin Mer Gen 10, 2018 2:19 pm

» Timer relè con arduino
Da falcio1515 Lun Gen 08, 2018 2:33 pm

I postatori più attivi del mese
Admin
 
falcio1515
 
misterxfiles
 
HardAngelDark
 
Answers
 
FrankyFRD42
 
sergio52
 

Codice - Tutorial Arduino Base #17: La funzione map

Vedere l'argomento precedente Vedere l'argomento seguente Andare in basso

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);

}
avatar
Admin
♔ Amministratore

Messaggi Messaggi : 4253
Crediti Crediti : 11861
Reputazione Reputazione : 186
Data d'iscrizione Data d'iscrizione : 08.03.11
Età Età : 19
Località Località : Brescia

Vedi il profilo dell'utente http://www.wikiinfo.net

Tornare in alto Andare in basso

Vedere l'argomento precedente Vedere l'argomento seguente Tornare in alto


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