Seguimi su Youtubue
Iscriviti
Se desideri, puoi effettuare un'iscrizione gratuita al forum per entrare nella nostra community.
Accedi

Recuperare la parola d'ordine

Ricerca Avanzata
Pubblicità Google AdSense
Answers
Se necessiti di aiuto, clicca il pulsante "Cerco Aiuto" (disponibile anche per i non iscritti).
Ultimi argomenti
» Recensione power bank Anker Powercore Slim 5000mAh
Da Poderak Oggi a 4:38 pm

» Dove acquistare relè arduino
Da Ilfalco78 Mar Gen 17, 2017 10:25 am

» Logger sito web in PHP in file txt
Da Poderak Sab Gen 14, 2017 11:16 am

» Recensione caricabatteria iVoler con 2 porte USB 24W 4.8A
Da Poderak Dom Gen 08, 2017 9:57 pm

» Recensione cuffie da gaming: Thrustmaster 300CPX (Doom Edition)
Da Poderak Sab Dic 24, 2016 10:51 pm

» Problemi connessione arduino compatibile
Da Poderak Mer Dic 21, 2016 1:53 pm

» Recensione Speaker Bluetooth - Anker SoundCore Mini
Da Poderak Sab Dic 17, 2016 4:44 pm

» Arduino + telecamera
Da Poderak Mar Dic 13, 2016 6:36 pm

» PRESENTATI AL FORUM
Da Poderak Mar Dic 13, 2016 4:07 pm

I postatori più attivi del mese
Poderak
 
Ilfalco78
 

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

}

Poderak
♔ Amministratore

Messaggi Messaggi : 4116
Crediti Crediti : 11593
Reputazione Reputazione : 185
Data d'iscrizione Data d'iscrizione : 08.03.11
Età Età : 18
Località Località : Brescia

Vedere 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


 
Permesso di questo forum:
Non puoi rispondere agli argomenti in questo forum