Como usar a função de mapa em Arduino
A função do mapa muda o intervalo do valor fornecido em outro intervalo especificado dado pelo usuário. Em outras palavras, ele mapeia o valor proporcional do intervalo dado, e podemos chamar esse processo de escalarização do valor. Para usar esta função no Arduino, você deve seguir a seguinte sintaxe:
mapa (valor, delow, de altura, tolow, altura);
A função do mapa tem 5 argumentos que são:
Valor: Os dados do tipo inteiro que devem ser escalarizados
De baixo: O número mínimo do intervalo do valor do valor
Do alto: O número máximo do intervalo do valor do valor
Muito baixo: O número mínimo do intervalo desejado para o qual o valor deve ser mapeado
Para alto: O número máximo do intervalo desejado para o qual o valor deve ser mapeado
Exemplo de código Arduino para usar a função de mapa
Para ilustrar o funcionamento da função do mapa, controlamos o brilho do LED usando o potenciômetro. O objetivo do uso da função de mapa neste aplicativo é que o potenciômetro é um valor analógico e não podemos determinar o brilho do LED olhando os valores do potenciômetro, pois seu valor varia de 0 a 1023. Portanto, para escalar o valor no intervalo de 0 a 100, usamos a função do mapa e exibimos os valores no monitor serial:
Aqui está o exemplo do código Arduino para usar a função do mapa:
int pot = a0;/* pino analógico para potenciômetro para controle de brilho LED*/
int led = 6;/ * Definindo o pino LED para Arduino */
int valor = 0;/* declarando variável para armazenar o valor do potenciômetro*/
int ledValue = 0; /* Variável que armazenará o valor escalarizado de maconha*/
Void Setup ()
Serial.começar (9600);
pinmode (LED, saída); /* Definindo o modo de saída para LED*/
Void Loop ()
Valor = analogread (pot);/* obtendo o valor do potenciômetro*/
LedValue = map (valor, 0, 1023, 0, 100); /* escalarizando os valores analógicos na faixa de 0 a 100*/
analogwrite (LED, LEDValue); / * atribuindo os valores escalarizados ao LED */
Serial.print ("valor não mapeado:");
Serial.imprimir (valor); // imprimir os valores da panela no monitor serial
Serial.println (""); // Adicionando espaço para organizar os dados
Serial.print ("Valor mapeado:");
Serial.print (ledValue);/ * exibindo o valor escalarizado atribuído ao LED */
Serial.print ("%");/ * Exiba o sinal da paternidade */
Serial.println (""); // Adicionando espaço para organizar os dados
No código, você pode ver que fornecemos o valor presente do potenciômetro e o intervalo atual ao potenciômetro que é de 0 a 1023 (analógico) e também damos o intervalo de que 0 a 100 nos quais os valores devem ser para serem mapeado.
Você pode mapear os valores em qualquer intervalo, pois não há limite ou condições para escalar o valor. Nós escalarizamos o valor em 0 a 100 para nos informar o valor do brilho na porcentagem. Aqui está a saída do nosso código no monitor serial do Arduino IDE:
Como você pode ver na imagem acima quando o valor analógico for 1023, o valor mapeado será 100 e, à medida que o valor analógico diminui, o valor mapeado também diminui.
Conclusão
A função principal do mapa () é escalar ou mapear os valores fornecidos de um intervalo para outro desejado. Com o objetivo de ilustrar o funcionamento da função de mapa, damos o código de exemplo de Arduino que converte os valores analógicos do potenciômetro usados para controlar o brilho do LED na faixa de 0 a 1023 a 0 a 100.