Queria saber porque quando eu desligo o arduino do usb e vou ligar ele com uma outra fonte alternativa ele não funciona + com a programação q eu enviei para o msm.

/*
 * IRremote: IRrecvDemo - demonstrates receiving IR codes with IRrecv
 * An IR detector/demodulator must be connected to the input RECV_PIN.
 * Version 0.1 July, 2009
 * Copyright 2009 Ken Shirriff
 * http://arcfn.com
 */

#include <IRremote.h>

int RECV_PIN = 11;

IRrecv irrecv(RECV_PIN);

decode_results results;

void setup()
{
  Serial.begin(9600);
  irrecv.enableIRIn(); // Start the receiver
}

void loop() {
  if (irrecv.decode(&results)) {
    Serial.println(results.value, HEX);
    irrecv.resume(); // Receive the next value
  }
}

Exibições: 659

Responder esta

Respostas a este tópico

Pense um pouco "quando desliga não fuciona".

É preciso aprender a andar antes de correr !

Abs

Mauricio Ortega

amigo  + se eu ligo o arduino a uma fonte alternativa, o programa q foi gravado no pic era para funcionar ou nao

O programa funciona.

Se não funcionar deve ser problema no seu Arduino.

Este programa que vc postou manda dados pela serial e sem o cabo não terá como ver se funcionou.....

Obs. se você colocar uma fonte externa maior que 6V quando estiver com o cabo USB conectado a alimentação será comutada para alimentação externa.

Abs

Emerson acho que você se colocou mal,    as vezes uma pergunta mal formulada pode gerar respostas que não é o que você deseja.

Acho que você deveria ter colocado apenas o seguinte "Quando tento ligar o arduino usando uma fonte alternativa,  o sketch que roda normalmente com ele rodando via USB não funciona,  porque ?"

Bem,  diversas podem ser as razões,  vamos a algumas:

1- Seu arduino pode ter jampers que precisam ser mudados para funcionar pela USB ou FONTE externa ( tenho um duemila que é assim) , se for isso é só mudar os jampers.

2- A fonte externa que você esta tentando usar esta aquem, ou alem de uma fonte pra ser usada corretamente com um arduino, podendo ser questão de voltagem ou amperagem,  nesse caso sugiro que tente outras fontes,  em geral algo em torno de 9v a 12v com algo em torno de 1A.

3- Você pode ter queimado o circuito que permite a ligação do arduino externamente usando uma fonte inadequada, nesse caso procure uma fonte de 5V e ligue diretamente no pino Vin e veja o que acontece.

Enfim, tem uma porrada de razões,   no momento só lembro dessas, mas sei que tem várias outras que podem levar ao que você esta passando.

Weider a pergunta e essa msm,  + msm quando quando volto a ligar na usb, o sketch era pra rodar normalmente, +  isso não acontece , para voltar a funcionar tenho q recarregar a sketch novamente, vc já viu algo assim?

a sketch q estou usando e essa,


   // Programa : Teste Controle Remoto IR 
// Autor : Arduino e Cia 
 
#include <IRremote.h> 
 
int RECV_PIN = 11; 
float armazenavalor; 
int pinoledvermelho = 5; 
int pinoledverde = 7; 
 
IRrecv irrecv(RECV_PIN); 
decode_results results; 
 
void setup() 
{  Serial.begin(9600);
  pinMode(pinoledvermelho, OUTPUT);  
  pinMode(pinoledverde, OUTPUT);
 digitalWrite(pinoledvermelho , 0);
 digitalWrite(pinoledverde , 0);
  
  irrecv.enableIRIn(); // Inicializa o receptor IR 

  
void loop() 

  if (irrecv.decode(&results)) 
  { 
    Serial.print("Valor lido : "); 
    Serial.println(results.value, HEX); 
    armazenavalor = (results.value); 
    if (armazenavalor == 0xFF10EF) //Verifica se a tecla 1 foi acionada 
    { 
      digitalWrite(pinoledvermelho, HIGH);  //Acende o led vermelho
 delay(1000);
 digitalWrite(pinoledvermelho, LOW);
    } 
    if (armazenavalor == 0xFF18E7) //Verifica se a tecla 2 foi acionada 
    { 
      digitalWrite(pinoledvermelho, LOW); //Apaga o led vermelho 
    } 
    if (armazenavalor == 0xFF30CF) //Verifica se a tecla 4 foi acionada 
    { 
      digitalWrite(pinoledverde, HIGH); //Acende o led verde
    delay(1000);
    digitalWrite(pinoledverde, LOW);
   
    } 
    if (armazenavalor == 0xFF38C7) //Verifica se a tecla 5 foi acionada 
    { 
      digitalWrite(pinoledverde, LOW); //Apaga o led verde 
    } 
    if (armazenavalor == 0xFF52AD) //Verifica se a tecla 9 foi acionada 
    { 
      digitalWrite(pinoledvermelho, LOW); //Apaga todos os leds 
      digitalWrite(pinoledverde, LOW); 
    } 
  irrecv.resume(); //Le o próximo valor 
  } 

Emerson,

Verifique se o Monitor de Serial permanece aberto no momento da conexão, pois o mesmo deve estar fechado, se não estiver o java não detecta a porta Serial ocasionando uma falha na comunicação.

Abs

antes de conectar o cabo usb o monitor serial não abre, depois q conecto o cabo usb vou na aba ferramentas aperto na aba ele abre, quando aperto para enviar a sketch ele fecha altoticamente, fiz estes teste esta certo?

Sim,

mas não é esta a minha duvida, gostaria de saber como é o procedimento que vc tem feito para detectar o não funcionamento do mesmo, vc pode descrever?

abs

primeiro envio essa sketch via usb, ele funciona normal aciono a tecla 1 liga sentido horário, tecla 4 anti-horário etc... blz  dai tiro o cabo usb se eu botar o cabo na mesma hr e como se não tivesse gravado nada dai tenho q enviar novamente a sketch para q funcione novamente,

Emerson,

se você não está monitorando via serial deveria funcionar normalmente.

Não sei como lhe ajudar.

Se comprou no LdG fale com o suporte .....

Abs.

blz obg, to pensando em formatar o pc  ou em trocar a versão pois estou com a 1.5.7 beta e voltar para 1.0.5 vlw msm mauricio.

com a sketch do pisca led posso ligar e desligar quantas vezes quiser q ele volta a funcionar quando conecto novamente a usb,  ate com uma fonte alternativa ele fuciona? e ai onde eu estou errando Mauricio??

porque esta sketch não funciona normal vc não tem como testar ai ?


   // Programa : Teste Controle Remoto IR 
// Autor : Arduino e Cia 
 
#include <IRremote.h> 
 
int RECV_PIN = 11; 
float armazenavalor; 
int pinoledvermelho = 5; 
int pinoledverde = 7; 
 
IRrecv irrecv(RECV_PIN); 
decode_results results; 
 
void setup() 
{  Serial.begin(9600);
  pinMode(pinoledvermelho, OUTPUT);  
  pinMode(pinoledverde, OUTPUT);
 digitalWrite(pinoledvermelho , 0);
 digitalWrite(pinoledverde , 0);
  
  irrecv.enableIRIn(); // Inicializa o receptor IR 

  
void loop() 

  if (irrecv.decode(&results)) 
  { 
    Serial.print("Valor lido : "); 
    Serial.println(results.value, HEX); 
    armazenavalor = (results.value); 
    if (armazenavalor == 0xFF10EF) //Verifica se a tecla 1 foi acionada 
    { 
      digitalWrite(pinoledvermelho, HIGH);  //Acende o led vermelho
 delay(1000);
 digitalWrite(pinoledvermelho, LOW);
    } 
    if (armazenavalor == 0xFF18E7) //Verifica se a tecla 2 foi acionada 
    { 
      digitalWrite(pinoledvermelho, LOW); //Apaga o led vermelho 
    } 
    if (armazenavalor == 0xFF30CF) //Verifica se a tecla 4 foi acionada 
    { 
      digitalWrite(pinoledverde, HIGH); //Acende o led verde
    delay(1000);
    digitalWrite(pinoledverde, LOW);
   
    } 
    if (armazenavalor == 0xFF38C7) //Verifica se a tecla 5 foi acionada 
    { 
      digitalWrite(pinoledverde, LOW); //Apaga o led verde 
    } 
    if (armazenavalor == 0xFF52AD) //Verifica se a tecla 9 foi acionada 
    { 
      digitalWrite(pinoledvermelho, LOW); //Apaga todos os leds 
      digitalWrite(pinoledverde, LOW); 
    } 
  irrecv.resume(); //Le o próximo valor 
  } 

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço