Pages: 1 [2] 3   Go Down
Author Topic: Botao  (Read 2872 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 40
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Pois na pratica nao esta a funcionar, nao tem como voce testar?? so para ter certeza que nao me estou a enganar.

Obrigado
Logged

Bom Princípio - RS
Offline Offline
Sr. Member
****
Karma: 0
Posts: 263
SOFTWARE DEVELOPER, HACKER, RASPBERRY/ARDUINO/QT ENTHUSIAST & METALLICA FAN
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

vou testar...
tu pode me dizer o que acontece?
Logged

My Toys:
Raspberry Pi (Model B)
Arduino MEGA 1280: ( Shield LCD 16x2, Ethernet, RFID )
Freescale Kinetis KL25Z [/

Bom Princípio - RS
Offline Offline
Sr. Member
****
Karma: 0
Posts: 263
SOFTWARE DEVELOPER, HACKER, RASPBERRY/ARDUINO/QT ENTHUSIAST & METALLICA FAN
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

tu sabe como montar a entrada do botão?

coloca 5v no botaão e um resistor ligado a entrada do botao e o GND, depois liga na saida do botão o pino 8 digital.
Logged

My Toys:
Raspberry Pi (Model B)
Arduino MEGA 1280: ( Shield LCD 16x2, Ethernet, RFID )
Freescale Kinetis KL25Z [/

Offline Offline
Newbie
*
Karma: 0
Posts: 40
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Sim, eu sei. A parte da montagem tenho a certeza que esta certa.
Basicamente nao acontece nada, ainda pensei que fosse do delay ser muito lento mas nao.

Obrigado
Logged

Bom Princípio - RS
Offline Offline
Sr. Member
****
Karma: 0
Posts: 263
SOFTWARE DEVELOPER, HACKER, RASPBERRY/ARDUINO/QT ENTHUSIAST & METALLICA FAN
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

consegui!
Logged

My Toys:
Raspberry Pi (Model B)
Arduino MEGA 1280: ( Shield LCD 16x2, Ethernet, RFID )
Freescale Kinetis KL25Z [/

Bom Princípio - RS
Offline Offline
Sr. Member
****
Karma: 0
Posts: 263
SOFTWARE DEVELOPER, HACKER, RASPBERRY/ARDUINO/QT ENTHUSIAST & METALLICA FAN
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
const int botao = 2;     
const int led =  13;     
int valor_pwm;

int estado_botao = 0;         

void setup() {
  pinMode(led, OUTPUT);     
  pinMode(botao, INPUT);     
}

void loop(){
  estado_botao = digitalRead(botao);
  while (estado_botao == HIGH) {
 
         valor_pwm = valor_pwm + 50;;
         delay(1000);
         if (valor_pwm >= 250)
         {
             valor_pwm = 250;
         }
 }
 analogWrite(led, valor_pwm);   
}
Logged

My Toys:
Raspberry Pi (Model B)
Arduino MEGA 1280: ( Shield LCD 16x2, Ethernet, RFID )
Freescale Kinetis KL25Z [/

Offline Offline
Newbie
*
Karma: 0
Posts: 40
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ok, agora tou a jantar daqui a pouco ja experimento.
Já tinha experimentado uma coisa parecida doutro projecto.

Obrigdo
Logged

Bom Princípio - RS
Offline Offline
Sr. Member
****
Karma: 0
Posts: 263
SOFTWARE DEVELOPER, HACKER, RASPBERRY/ARDUINO/QT ENTHUSIAST & METALLICA FAN
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

usa no lugar o while um IF se não funcionar, pra mim funcionou so com iF...
mas em teoria o while deveria funcionar...
Logged

My Toys:
Raspberry Pi (Model B)
Arduino MEGA 1280: ( Shield LCD 16x2, Ethernet, RFID )
Freescale Kinetis KL25Z [/

Offline Offline
Newbie
*
Karma: 0
Posts: 40
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ta 5* é mesmo isso, tive de mudar para if.
Tenho outra questão, sera que da so com um arduino uno usar para esta função e mais algumas diferentes, para ligar por codigo para fazer isto?? tudo no mesmo arduino??


Muitissssimo obrigado
Logged

Bom Princípio - RS
Offline Offline
Sr. Member
****
Karma: 0
Posts: 263
SOFTWARE DEVELOPER, HACKER, RASPBERRY/ARDUINO/QT ENTHUSIAST & METALLICA FAN
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

funcionou certo?
entendeu o código, o errado do outro era apenas a leitura do digital(smiley-cool que deve ser feita como uma constante...
--------------------------------
tu quer fazer isto e mais algumas outras coisas no mesmo arduino?
dai teria q adaptar o código desta função ou das outras para q o delay().. não modifique mas acredito q da sim,...
eu fiz um sistema no de tomada via internet no meu enquanto ele recebia tweets e mostrava na tela lcd 16x2, mas dai e especificamente para cada função teria q se fazer um "estudo" uma análise... cada caso dependeria de uma diferença pois não há algo genérico....


Logged

My Toys:
Raspberry Pi (Model B)
Arduino MEGA 1280: ( Shield LCD 16x2, Ethernet, RFID )
Freescale Kinetis KL25Z [/

Offline Offline
Newbie
*
Karma: 0
Posts: 40
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ok, entendi.
Afinal falta aqui uma coisa, se eu deixar o dedo do botao ( ou seja botao a 0) a saida pwm mantem os 5v.
Ja tentei isto mas sem resultado:
if  (botao == LOW)
         {
          valor_pwm = 0;
         }
Logged

Bom Princípio - RS
Offline Offline
Sr. Member
****
Karma: 0
Posts: 263
SOFTWARE DEVELOPER, HACKER, RASPBERRY/ARDUINO/QT ENTHUSIAST & METALLICA FAN
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

não pois cada vez q soltar ele vai desligar...
coloca assim,

if  (estado_botao == HIGH) {
 
         valor_pwm = valor_pwm + 50;;
         delay(1000);
         if (valor_pwm >= 250)
         {
             valor_pwm = 0;
         }

depois dos 5s ligado pressionando botao ele volta pra 0;
Logged

My Toys:
Raspberry Pi (Model B)
Arduino MEGA 1280: ( Shield LCD 16x2, Ethernet, RFID )
Freescale Kinetis KL25Z [/

Offline Offline
Newbie
*
Karma: 0
Posts: 40
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Pois mas o que eu quero e mesmo isso. quando largar o dedo tem de voltar a 0, nao passando os 5s.
Mas o que te mostrei não funcionou.

Obrigado
Logged

Bom Princípio - RS
Offline Offline
Sr. Member
****
Karma: 0
Posts: 263
SOFTWARE DEVELOPER, HACKER, RASPBERRY/ARDUINO/QT ENTHUSIAST & METALLICA FAN
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

const int botao = 2;     
const int led =  13;     
int valor_pwm;

int estado_botao = 0;         

void setup() {
  pinMode(led, OUTPUT);     
  pinMode(botao, INPUT);     
}

void loop(){
  estado_botao = digitalRead(botao);
  if (estado_botao == HIGH) {
        valor_pwm = valor_pwm + 50;;
         delay(1000);
         if (valor_pwm >= 250){
             valor_pwm = 250;
         }
 }
  if (estado_botao == LOW){
  valor_pwm = 0;
}
 analogWrite(led, valor_pwm);   
}
Logged

My Toys:
Raspberry Pi (Model B)
Arduino MEGA 1280: ( Shield LCD 16x2, Ethernet, RFID )
Freescale Kinetis KL25Z [/

Offline Offline
Newbie
*
Karma: 0
Posts: 40
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

É mesmo isso, nem sei como te agradecer, muito obrigado pela paciência que tives-te.

Obrigado
Abraço
Logged

Pages: 1 [2] 3   Go Up
Jump to: