Pages: [1] 2 3   Go Down
Author Topic: Botao  (Read 2247 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

Boas, tenho um projecto que gostava de implementar o arduino, tenho um arduino uno, mas nao tenho muitos conhecimentos em linguagem (para nao dizer nenhum).
O que eu pretendo fazer para já é ao carregar num botão de pressão a porta pwm devera aumentar a tensao de 0 a 5v gradualmente e demorar tipo 5 segundos a fazer isso.

Grato por qualqier tipo de ajuda
Paulo Teixeira
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

Desculpa mas deixa eu ver se entendi direito,
você quer uma saida pwm regulando a tensão pela pressão do botão de pressão, gradualmente, mas de 5 em 5 segundos?


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

É quase isso.
O que eu quero é para funcionar de acelerador, ou seja quando carregar no botão a saída pwm tem de aumentar a tensão de 0 ate 5v, e demora tipo 5 segundos a fazer isso... mas tem de manter a tensão nos 5v só quando deixar o botão é que baixa a tensão.

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

ta certo então...

Pressiona ele vai aumentando tipo 1v por segundo (5v - 5 Segundos) dai depois ele mantem na tensão que foi regulada.(teria q ter um display pra exemplificar) ...


Vou sair agora e depois eu entro coloco o código +- uma base pra você...

Desculpe a demora.

Vlw!
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

Não tens de pedir desculpa por nada, eu só agradeço.
So quero mesmo uma base, os valores depois eu ajusto... O principal é a cena do botão enquanto carrega acelerar e se soltar o botão desliga.

Abraço e muito 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

while (botao==1){
           valor_pwm++;
           delay(1000);
           if (valor_pwm>=5){
           valor_pwm=0;
           }
}
delay(100);

bom eu acho q é mais ou menos isso, enquanto o botaão estiver pressionado ele incrementa a variavel. Se continuar pressionado no proximo loop ele da mais uma incrementada, se continuar pressionado ele aguarda 1 segundo e volta no loop. se ficar pressionado e chegar até >=5 ele volta pra 0v.
agora é só ajustar aos valores...
Qualquer coisa se não for isso ou alguma mudança posta ai que eu tento ajudar...
vlw!
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

Pelo que percebi acho que não é bem isso pois tem de se manter nos 5v ate deixar de carregar no botao. Mas ta la perto o resto sao ajustes, mas amanha vou experimentar e digo alguma coisa.

Obrigado
Abraço
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

é isso que não estou pegando, pois a pressaõ do botão gera um valor, e você quer q esse valor interfira na tensão de 5v em 5 segundos mas não entendi como, em que sequencia...

faz tipo uma coisa assim pra mim entender...

pressiona botao
le valor
faz tal coisa...


meio linear dai eu entendo o que você quer e faço o código, ou parte mais significante do mesmoo...
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

Vamos lá ver se percebe melhor o que eu quero.
Quando carrego no botão a tensão da saída pwm tem de aumentar tipo 1v por segundo até aos 5v. Quando deixo o botão a tensão cai, mas enquanto tiver o botão pressionado tem de manter os 5v.

Abraço
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

ta acho que agora foi, seria com while então, tipo enquanto botão pressionado avalia tempo e transforma em 1v por Segundo...


void loop(){
 while (botao == 1){
         valor_pwm++;
         delay(1000);
         if (valor_pwm >= 5){
             valor_pwm =5;
         }
 }
 if  (botao == 0){
     valor_pwm = 0;
 }
}

Acho que seria algo assim... só tem q configurar esse pwm com valores específicos...



 
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, obrigado.
Vou experimentar agora isso.

Muito obrigdo
Abraço ( vlw )
Logged

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

Desculpa mas nao consegui que desse.
O que eu tenho neste momento é isso:
Quote
int valor_pwm =11;
int botao =8;


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

void loop()
{
 while (botao == 1)
 {
         valor_pwm++;
         delay(10);
         if (valor_pwm >= 5)
         {
             valor_pwm = 5;
         }
 }

}
A parte da montagem tenho a certeza que esta correcta ( também não e muita coisa).
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

valor pwm tem q ser o valor a ser usado em uma escrita analógica, você esta tribuindo ele há uma porta analógica e não valor de saida analógico, ...


ficaria assim:

analogWrite(PINO_DE_SAIDA, valor_pwm);   
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

int valor_pwm;
int botao =8;
int pino_saida = 11;

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

void loop()
{
 while (botao == 1)
 {
         valor_pwm = valor_pwm + 50;;
         delay(1000);
         if (valor_pwm >= 256)
         {
             valor_pwm = 256;
         }
 }
 analogWrite(pino_saida, valor_pwm);   
}
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

acho que funciona compilei não deu erro...
 
agora e ver se na praática tem o efeito correto...


Valeu, Aguardo Notícias..
Logged

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

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