BOA TARDE CAROS AMIGOS GARAGISTAS !!!

ALGUEM PODERIA ME AUXILIAR, QUANTO AO SKETCH ABAIXO:

ESTOU TENTANDO FAZER COM QUE AO ACIONAR 6 VEZES UMA TECLA, ACENDA O LED 13 DA PLACA, E AO ACIONAR MAIS 5 VEZES, O MESMO LED, VENHA A APAGAR-SE. 

PORÉM, DÁ ERRO E NÃO COMPILA.

ALGUEM POR GENTILEZA, PODERIA ME DAR UMA SUGESTÃO, OU SERÁ QUE DE ACORDO COM O QUE DIGITEI, ESTÁ MUITO DISTANTE DO QUE DESEJO ?

SEM MAIS,

ATT AGRADEÇO !!!!

ANDRÉ.

int botton1 = 0;
int ledPin = 0;


void setup() {
// initialize digital pin 13 as an output.
pinMode(13, OUTPUT);
pinMode(2, INPUT);
}

void loop() {



if ( botton1 = >6)

{
(digitalWrite(ledPin = HIGH);
delay(10);
}


if ( botton1 = <5)

{
(digitalWrite(ledPin = LOW);
delay(10);
}

}

Exibições: 464

Responder esta

Respostas a este tópico

Oi ALP, boa tarde.

Existem 6 erros no seu code:

1o.           errado    if ( botton1 = >6)                     correto    if ( botton1 >= 6)

2o.           errado    if ( botton1 = >5)                     correto    if ( botton1 >= 5)

3o e 4o.    errado   (digitalWrite(ledPin = HIGH);     correto    digitalWrite(ledPin , HIGH);

5o e 6o.    errado   (digitalWrite(ledPin = LOW);      correto    digitalWrite(ledPin, LOW);

Rui

Exato, porém, a variavel ledPin contem o valor (0), creio que o led esteja ligado no pino 13.

Entao seria,    digitalWrite(13, HIGH);

Contudo, você não tem uma variavel de controle (acumulador) para saber quantas vezes o botão foi pressionado, deve cria-la!

OK CARO MATEUS, VOU DAR PROSSEGUIMENTO NISSO QUE ME INFORMOU, AGRADEÇO SEUS PRÉSTIMOS E ATENÇÃO !!!!

OK, OBRIGADO FLAVIO, ESTOU INICIANDO EM 'C' .

OK FLAVIO, VOU DAR UMA ESPIADINHA NOS SITES QUE ME ENVIOU.

CARO AMIGO RUI VIANA, AGRADEÇO PELA SUA ATENÇÃO, QUERO TE DIZER QUE SOU INICIANTE DESSA MARAVILHOSA ARTE EM PROGRAMAÇÃO COM ARDUINO, POREM, SOU UM TANTO LEIGO.

VOU REALIZAR ESSAS MUDANÇAS E VER NO QUE RESULTA, SEM MAIS AGRADEÇO SUA VALIOSA ATENÇÃO RUI !!!

André Luis, 

Não deixe de ler o que o amigo Flavio postou la. 

Caso queira, use este sketch abaixo:

int ledPin = 13; // led no pino 13
int botao = 12; // botão no pino 12
int botton1 = 0; //variavel de controle
void setup()
{
pinMode(ledPin, OUTPUT);
pinMode(botao, INPUT);
digitalWrite(ledPin, LOW);
}

void loop() {
if (digitalRead(botao) == HIGH) {
botton1++;
delay(10);
}

if ( botton1 == 6) {
digitalWrite(ledPin, HIGH);
delay(10);
}

if ( botton1 == 11) {
digitalWrite(ledPin, LOW);
botton1 == 0;
delay(10);
}
}

Não esqueça que o led deve estar ligado ao pino 13.

Atenção, o botão usado nesse sketch deverá ser conectado ao pino 12.

PUXA VIDA, AGRADEÇO DE CORAÇÃO SEUS PRÉSTIMOS MATEUS, É QUE ESTOU INICIANDO EM LINGUAGEM 'C', MAS VOU APLICAR ESSE SEU EXEMPLO ACIMA DESCRITO.

GRANDE ABRAÇO AMIGO !!!

ATT ANDRÉ

Tudo bem, poste aqui se o código funcionou  ;)

E se ocorreu tudo bem. Abraço!

Ok caro Mateus, fiz como me descreveu, mas, não funciona no arduino, talvez tenha que escrever este esketch

de forma a utilizar PWM // 0 a 255 entendeu ?

o que estou desejando que o arduino faça, é que ao se acionar a chave táctil por 5x acenda o led e ao acionar mais

5x o led volte a apagar-se.

Baseado no código do Mateus Diel eu escrevi esse código que deve funcionar (testei apenas no simulador)

int ledPin = 13; // led no pino 13
int botao = 12; // botão no pino 12
int botton1 = 0; // variavel de controle

void setup() {
pinMode(ledPin, OUTPUT);
pinMode(botao, INPUT);
digitalWrite(ledPin, LOW);
}

void loop() {
if(digitalRead(botao) == HIGH){
botton1++;
while(digitalRead(botao) == HIGH); // 'selo' para impedir falsa contagem
}
if(botton1 == 5){
digitalWrite(ledPin, !digitalRead(ledPin)); // altera o estado do led
botton1 = 0;
}
}

A diferença é que eu adicionei um "selo" que impede o arduino de ler o botão mais de uma vez caso ele seja mantido pressionado, fazendo o programa ficar parado até que solte o botão (para continuar a contagem)

Alem disso eu optei por alterar o estado do led utilizando o inverso do estado atual para diminuir o código (acho interessante, principalmente para quem está começando, treinar essas técnicas).

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço