Olá pessoal, estou projetando um datalogger de temperatura que irá salvar os dados em cartão SD.
porém estou querendo nomear o arquivo antes de salvar no cartão para que fique mais fácil a identificação.
O que estou querendo fazer é o seguinte colocar um encoder rotativo e para construí o nome do arquivo ir seleconando
caracter por caracter girando o encoder e pressionando um botao para confirmar a selecao daquele caracter e pular para o próximo.
Minha dúvida é qual função faz esse tipo de coisa??
Se alguem puder me ajudar agradeço.
Obrigado
Olá!
Não há uma função específica para este caso.
Você terá que criá-la.
Este código pode servir de base.
#include <rotary.h>
Rotary r = Rotary(2, 3);
void setup() {
Serial.begin(9600);
PCICR |= (1 << PCIE2);
PCMSK2 |= (1 << PCINT18) | (1 << PCINT19);
sei();
}
void loop() {
}
ISR(PCINT2_vect) {
unsigned char result = r.process();
if (result) {
Serial.println(result == DIR_CW ? "Right" : "Left");
}
}
Você pode criar um "array" com os caracteres que serão usados e usar o movimento "left/right" para aumentar ou diminuir o índice do "array".
Depois quando o botão do encoder for pressionado você copia o caracter para a variável que guardará o nome do arquivo.
Abraço.
Eu, há uns meses, tive que implementar um encoder e testei as funções fornecidas aqui:
http://playground.arduino.cc/Main/RotaryEncoders
Não tive resultados espectaculares, mas mas foram suficientes para não ter que "inventar" mais nada.