Olá amigos !!
Pretendo realizar um pequeno projeto, utilizando o recurso (ADC) de10 bits do arduino uno, mas apesar da estrutura simples do Sketch, estou encontrando dificuldades em configurar e declarar algumas variáveis. Pois desejo que especificamente, o pino (D10) mude para nível (HIGH), quando o pino (A0) via potenciômetro, variar a voltagem entre 2,5 Vcc && 5,0 Vcc.
Porém, que o pino (D10), permaneça em (LOW), enquanto a Vcc permaneça entre 0 && 2,4 Vcc.
Na verdade, não estou conseguindo traduzir pra máquina meu objetivo, com isso, não consigo inserir as variáveis em seus respectivos lugares corretamente. Como por exemplo:
Uma vez que há duas formas de se declarar variáveis, (global e ou local), onde devo declará-las ? ou como utilizar corretamente um laço, etc e tal...
Já tentei buscar ajuda em outros links sobre esse assunto, mas outros Sites informam apenas algumas semelhanças, por exemplo: ao invés de se tratar de ativar PINOS em HIGH ou LOW, tratam de informá-los seus valores ao (monitor serial da ide), via Serial.begin(9600);
Caso alguem possa me ajudar, agradeço !!
abraço à todos !!!
float potenciometro = A0;
float valor = 0;
int pinLed = 10;
int for // error line expected unqualified-id before "for"
void setup() {
pinMode(pinLed, OUTPUT);
pinMode(pinLed, LOW);
}
void loop() {
for
float Valor = analogRead(potenciometro);
float potenciometro = valor * (5.0 / 1023.0);
for (i=0; i++;
if valor = analogRead(potenciometro) i++ >= 2.5 {
digitalWrite(10, HIGH);
else
digitalWrite (ledPin, LOW);
delay(10);
}
}
Tags:
Boa tarde ALP. Testa este sketch. Rui
Olá caro Rui, tudo bem ? espero que sim !!
Esse sketch compilou, agora vou partir para a parte do hardware ...
Pronto Rui, realizei os testes e tudo funcionou como eu desejava ...
Quero deixar aqui meus agradecimentos à sua pessoa, e bem como seus préstimos !!!
tudo funcionou certinho hein, fico feliz em ter me ajudado, que beleza !!!
só fiquei na dúvida de como chegou a esse número (0.048875 ... ... ...)
GRANDE ABRAÇO !
Oi ALP.
Eu escrevi o calculo deste valor no sketck.
É assim:
O ADC do arduino ao ler os valores no port analogico, ele traduz para um valor entre 0 e 1023. (10 bits).
0V vale 0 e 5V vale 1023.
Então 5/1023 é igual a =0.0048875855.
Cada unidade no port equivale à =0.0048875855 V.
Então 2.5V equivalem a +- 511.
Rui
Ok, entendi sim RUI ...
Depois que me esclareceu as dúvidas no sketch, dei uma incrementada no programa ...
Agora posso ler no monitor serial, o valor que pretendo fazer com que o led acenda, ou pisque ao se atingir o valor pré determinado. Como exemplo: 675 = 3,3 vcc.
Mais uma vez, muito obrigado amigo !!!
ficou assim meu sketch;
float potenciometro = A0;
float valor = 0;
int pinLed = 10;
// --------------------------------
void setup()
{
pinMode(pinLed, OUTPUT);
pinMode(pinLed, LOW);
Serial.begin(9600);
}
// --------------------------------
void loop()
{
valor = analogRead(potenciometro);
if (valor >= 675)
{
Serial.println(valor);
digitalWrite( pinLed, HIGH);
delay(250);
digitalWrite( pinLed, LOW);
delay(250);
}
else
{
digitalWrite (pinLed, LOW);
delay(10);
}
}
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por