collapse

* Posts Recentes

Enrolador elétrico de fio/corda por m90mine
[Hoje às 13:29]


Dessalinizador usado em navios por SerraCabo
[19 de Setembro de 2021, 14:53]


Três pequenas palestras fantásticas de Rust na RustConf 2021 por blabla
[16 de Setembro de 2021, 08:44]


Meu novo robô por josecarlos
[13 de Setembro de 2021, 21:58]


localizador carro. por dropes
[13 de Setembro de 2021, 21:00]


Fonte para Circuito - Qual escolher? por almamater
[12 de Setembro de 2021, 00:07]


Limpeza por ultra-sons por KammutierSpule
[10 de Setembro de 2021, 09:08]


Programação assíncrona Async e Await em Rust com Tokio. por blabla
[08 de Setembro de 2021, 14:46]


My arm por josecarlos
[06 de Setembro de 2021, 21:56]


Digitalização 3D por senso
[05 de Setembro de 2021, 14:45]

Autor Tópico: Sensor de temp dois arduinos, do quarto para a sala via RF  (Lida 41019 vezes)

0 Membros e 1 Visitante estão a ver este tópico.

Offline Pedrock

  • Mini Robot
  • *
  • Mensagens: 279
Re: Sensor de temp dois arduinos, do quarto para a sala via RF
« Responder #75 em: 04 de Setembro de 2012, 09:31 »
Pedro essa 1linha que comentaste referesse a que eu nao tenho potenciometro para regular o contraste do lcd entao a alternativa e usar um pin pwr. Por isso essa linha ta ai. Logo testo o que disseste em segundo lugar.
Obrigado
O valor tem que ser entre 0 e 255 e é melhor mudares o nome para contraste porque LedPin causa confusão. :P

Offline r16

  • Mini Robot
  • *
  • Mensagens: 339
Re: Sensor de temp dois arduinos, do quarto para a sala via RF
« Responder #76 em: 04 de Setembro de 2012, 16:37 »
quanto ao serial monitor do receptor da isto:

Humidade: 28%; Temperatura: 29ºC
Humidade: 28%; Temperatura: 29ºC
Humidade: 28%; Temperatura: 29ºC
Humidade: 28%; Temperatura: 29ºC
Humidade: 28%; Temperatura: 29ºC
Humidade: 28%; Temperatura: 29ºC
Humidade: 28%; Temperatura: 29ºC
Humidade: 28%; Temperatura: 29ºC
Humidade: 28%; Temperatura: 29ºC
Humidade: 28%; Temperatura: 29ºC
Humidade: 28%; Temperatura: 29ºC

mais uns momentos e ja vos partilho o video dos caracteres esquesitos do lcd

Offline Pedrock

  • Mini Robot
  • *
  • Mensagens: 279
Re: Sensor de temp dois arduinos, do quarto para a sala via RF
« Responder #77 em: 04 de Setembro de 2012, 17:01 »
O serial do receptor continua a receber bem quando o LCD está "maluco"?

Offline r16

  • Mini Robot
  • *
  • Mensagens: 339
Re: Sensor de temp dois arduinos, do quarto para a sala via RF
« Responder #78 em: 04 de Setembro de 2012, 18:49 »
O serial do receptor continua a receber bem quando o LCD está "maluco"?

sim continua a receber tal e qual o que postei acima

aqui esta o video:



como podem ver.. aparece caracteres malucos e depois desaparece tudo do lcd durante mt tempo depois volta a aparecer..etc e os caracteres depois tanto aparecem na primeira linha do lcd como na segunda linha e sempre diferentes.

Offline Pedrock

  • Mini Robot
  • *
  • Mensagens: 279
Re: Sensor de temp dois arduinos, do quarto para a sala via RF
« Responder #79 em: 04 de Setembro de 2012, 20:21 »
Já substituíste o analogWrite(ledPin, 600); por um valor entre 0 e 255?
Pode não ser disto, mas o melhor é corrigir.

Offline r16

  • Mini Robot
  • *
  • Mensagens: 339
Re: Sensor de temp dois arduinos, do quarto para a sala via RF
« Responder #80 em: 04 de Setembro de 2012, 20:50 »
Já substituíste o analogWrite(ledPin, 600); por um valor entre 0 e 255?
Pode não ser disto, mas o melhor é corrigir.

ja pedro,..so de salientar que com o code example do lcd..que esta no ide do arduino eu tinha 600 e aparecia o hello world, sem aparecer caracteres esquesitos.

Offline rglove

  • Mini Robot
  • *
  • Mensagens: 527
Re: Sensor de temp dois arduinos, do quarto para a sala via RF
« Responder #81 em: 04 de Setembro de 2012, 21:39 »
Provavelmente não vai alterar nada, mas experimenta na mesma:

Código: [Seleccione]
#include <VirtualWire.h>
#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
int ledPin = 10;
byte temp = 0;
byte humi = 0;

void setup()
{
  pinMode(ledPin, OUTPUT);
    lcd.begin(16, 2);
    Serial.begin(115200);
    pinMode(9,INPUT);
    vw_set_rx_pin(9); // Pino de recepção
    vw_set_ptt_inverted(true);
    vw_setup(2000);
    vw_rx_start(); // Necessário para começar a receber informação
}

void loop()
{
  analogWrite(ledPin, 600);
    uint8_t buf[VW_MAX_MESSAGE_LEN];
    uint8_t buflen = VW_MAX_MESSAGE_LEN;

    if (vw_get_message(buf, &buflen)) // Caso chegue alguma mensagem ao receptor
    {
int i;
        digitalWrite(13, true); // Esta parte é opcional, eu utilizei para testar e ver se estava a receber alguma coisa
for (i = 0; i < buflen; i++) // Basicamente isto vai repetir para cada byte recebido e vai guardar a informação numa array de caracteres
{
          if (i==1){
              humi = buf[1];
          }
          if (i==0){
              temp = buf[0];
  }
}
            Serial.println(String("Humidade: " + String(buf[1],DEC) + "; Temperatura: " + String(buf[0],DEC)));
            digitalWrite(13, false);
    }
    delay(10);
    actualizarlcd();
    }
   
    void actualizarlcd() {
             lcd.clear();
             lcd.setCursor(0,0);
             lcd.print("Humi ");
             lcd.print(humi, DEC);
             lcd.print(" %");
             lcd.setCursor(0,1);
             lcd.print("Temp ");
             lcd.print(temp, DEC);
             lcd.print(" C");
    }

Offline r16

  • Mini Robot
  • *
  • Mensagens: 339
Re: Sensor de temp dois arduinos, do quarto para a sala via RF
« Responder #82 em: 04 de Setembro de 2012, 22:05 »
Provavelmente não vai alterar nada, mas experimenta na mesma:

Código: [Seleccione]
#include <VirtualWire.h>
#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
int ledPin = 10;
byte temp = 0;
byte humi = 0;

void setup()
{
  pinMode(ledPin, OUTPUT);
    lcd.begin(16, 2);
    Serial.begin(115200);
    pinMode(9,INPUT);
    vw_set_rx_pin(9); // Pino de recepção
    vw_set_ptt_inverted(true);
    vw_setup(2000);
    vw_rx_start(); // Necessário para começar a receber informação
}

void loop()
{
  analogWrite(ledPin, 600);
    uint8_t buf[VW_MAX_MESSAGE_LEN];
    uint8_t buflen = VW_MAX_MESSAGE_LEN;

    if (vw_get_message(buf, &buflen)) // Caso chegue alguma mensagem ao receptor
    {
int i;
        digitalWrite(13, true); // Esta parte é opcional, eu utilizei para testar e ver se estava a receber alguma coisa
for (i = 0; i < buflen; i++) // Basicamente isto vai repetir para cada byte recebido e vai guardar a informação numa array de caracteres
{
          if (i==1){
              humi = buf[1];
          }
          if (i==0){
              temp = buf[0];
  }
}
            Serial.println(String("Humidade: " + String(buf[1],DEC) + "; Temperatura: " + String(buf[0],DEC)));
            digitalWrite(13, false);
    }
    delay(10);
    actualizarlcd();
    }
   
    void actualizarlcd() {
             lcd.clear();
             lcd.setCursor(0,0);
             lcd.print("Humi ");
             lcd.print(humi, DEC);
             lcd.print(" %");
             lcd.setCursor(0,1);
             lcd.print("Temp ");
             lcd.print(temp, DEC);
             lcd.print(" C");
    }

rglove o que se passa neste codigo e que no lcd passa caracteres tao depressa tipo em loop infinito que nao da para ler sequer.

Offline rglove

  • Mini Robot
  • *
  • Mensagens: 527
Re: Sensor de temp dois arduinos, do quarto para a sala via RF
« Responder #83 em: 04 de Setembro de 2012, 22:09 »
Pois, não sabia se ia funcionar. Soldaste bem os cabos ao lcd? Altera o delay no final do loop, mete um valor maior e experimenta.

Offline r16

  • Mini Robot
  • *
  • Mensagens: 339
Re: Sensor de temp dois arduinos, do quarto para a sala via RF
« Responder #84 em: 04 de Setembro de 2012, 22:12 »
olha nao sei se isto te vai ajudar a encontrar uma solucao mas eu adicionei neste codigo um delay e aparece a humidade bem...durante 10segundos sem aparecer caracteres malucos... mas passado esses 10 segundos comeca a aparecer caracteres.

ps ta bem soldado lol.

mas ve la se isso te ajuda a encontrar o erro:

Código: [Seleccione]
#include <VirtualWire.h>
#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
int ledPin = 10;

void setup()
{
  pinMode(ledPin, OUTPUT);
    lcd.begin(16, 2);
    Serial.begin(9600);
    pinMode(9,INPUT);
    vw_set_rx_pin(9); // Pino de recepção
    vw_set_ptt_inverted(true);
    vw_setup(2000);
    vw_rx_start(); // Necessário para começar a receber informação
}

void loop()
{
  analogWrite(ledPin, 600);
    uint8_t buf[VW_MAX_MESSAGE_LEN];
    uint8_t buflen = VW_MAX_MESSAGE_LEN;

    if (vw_get_message(buf, &buflen)) // Caso chegue alguma mensagem ao receptor
    {
int i;
        digitalWrite(13, true); // Esta parte é opcional, eu utilizei para testar e ver se estava a receber alguma coisa
for (i = 0; i < buflen; i++) // Basicamente isto vai repetir para cada byte recebido e vai guardar a informação numa array de caracteres
{
          if (i==0){
             lcd.setCursor(0,0);
             lcd.print("Humi ");
             lcd.print(buf[i], DEC);
             lcd.print(" %");
             delay(10000);
          //}
          //if (i==2){
           //  lcd.setCursor(0,1);
            // lcd.print("Temp ");
            // lcd.print(buf[i], DEC);
             //lcd.print(" C");
  }
}
            Serial.println(String("Humidade: " + String(buf[0],DEC) + "%; Temperatura: " + String(buf[2],DEC) + "ºC"));
            digitalWrite(13, false);
    }
}

Offline rglove

  • Mini Robot
  • *
  • Mensagens: 527
Re: Sensor de temp dois arduinos, do quarto para a sala via RF
« Responder #85 em: 04 de Setembro de 2012, 22:29 »
Experimenta assim:

Código: [Seleccione]
#include <VirtualWire.h>
#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
int ledPin = 10;

void setup()
{
  pinMode(ledPin, OUTPUT);
    lcd.begin(16, 2);
    Serial.begin(115200);
    pinMode(9,INPUT);
    vw_set_rx_pin(9); // Pino de recepção
    vw_set_ptt_inverted(true);
    vw_setup(2000);
    vw_rx_start(); // Necessário para começar a receber informação
}

void loop()
{
  analogWrite(ledPin, 255);
    uint8_t buf[VW_MAX_MESSAGE_LEN];
    uint8_t buflen = VW_MAX_MESSAGE_LEN;

    if (vw_get_message(buf, &buflen)) // Caso chegue alguma mensagem ao receptor
    {
              lcd.clear();
int i;
        digitalWrite(13, true); // Esta parte é opcional, eu utilizei para testar e ver se estava a receber alguma coisa
for (i = 0; i < buflen; i++) // Basicamente isto vai repetir para cada byte recebido e vai guardar a informação numa array de caracteres
{
          if (i==1){
             lcd.setCursor(0,0);
             lcd.print("Humi ");
             lcd.print(buf[i], DEC);
             lcd.print(" %");
          }
          if (i==0){
             lcd.setCursor(0,1);
             lcd.print("Temp ");
             lcd.print(buf[i], DEC);
             lcd.print(" C");
  }
}
            Serial.println(String("Humidade: " + String(buf[1],DEC) + "%; Temperatura: " + String(buf[0],DEC) + "ºC"));
            digitalWrite(13, false);
    }
    }

Offline r16

  • Mini Robot
  • *
  • Mensagens: 339
Re: Sensor de temp dois arduinos, do quarto para a sala via RF
« Responder #86 em: 04 de Setembro de 2012, 23:06 »
Experimenta assim:

Código: [Seleccione]
#include <VirtualWire.h>
#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
int ledPin = 10;

void setup()
{
  pinMode(ledPin, OUTPUT);
    lcd.begin(16, 2);
    Serial.begin(115200);
    pinMode(9,INPUT);
    vw_set_rx_pin(9); // Pino de recepção
    vw_set_ptt_inverted(true);
    vw_setup(2000);
    vw_rx_start(); // Necessário para começar a receber informação
}

void loop()
{
  analogWrite(ledPin, 255);
    uint8_t buf[VW_MAX_MESSAGE_LEN];
    uint8_t buflen = VW_MAX_MESSAGE_LEN;

    if (vw_get_message(buf, &buflen)) // Caso chegue alguma mensagem ao receptor
    {
              lcd.clear();
int i;
        digitalWrite(13, true); // Esta parte é opcional, eu utilizei para testar e ver se estava a receber alguma coisa
for (i = 0; i < buflen; i++) // Basicamente isto vai repetir para cada byte recebido e vai guardar a informação numa array de caracteres
{
          if (i==1){
             lcd.setCursor(0,0);
             lcd.print("Humi ");
             lcd.print(buf[i], DEC);
             lcd.print(" %");
          }
          if (i==0){
             lcd.setCursor(0,1);
             lcd.print("Temp ");
             lcd.print(buf[i], DEC);
             lcd.print(" C");
  }
}
            Serial.println(String("Humidade: " + String(buf[1],DEC) + "%; Temperatura: " + String(buf[0],DEC) + "ºC"));
            digitalWrite(13, false);
    }
    }

desculpa a demora a responder..
com esse codigo o  lcd aparece todo em branco...

no entanto com este codigo:
Código: [Seleccione]
#include <VirtualWire.h>
#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
int ledPin = 10;

void setup()
{
  pinMode(ledPin, OUTPUT);
    lcd.begin(16, 2);
    Serial.begin(9600);
    pinMode(9,INPUT);
    vw_set_rx_pin(9); // Pino de recepção
    vw_set_ptt_inverted(true);
    vw_setup(2000);
    vw_rx_start(); // Necessário para começar a receber informação
}

void loop()
{
  analogWrite(ledPin, 600);
    uint8_t buf[VW_MAX_MESSAGE_LEN];
    uint8_t buflen = VW_MAX_MESSAGE_LEN;

    if (vw_get_message(buf, &buflen)) // Caso chegue alguma mensagem ao receptor
    {
int i;
        digitalWrite(13, true); // Esta parte é opcional, eu utilizei para testar e ver se estava a receber alguma coisa
for (i = 0; i < buflen; i++) // Basicamente isto vai repetir para cada byte recebido e vai guardar a informação numa array de caracteres
{
 
          if (i==0){
             lcd.setCursor(0,0);
             lcd.print("Humi ");
             lcd.print(buf[i], DEC);
             lcd.print(" %");
             delay(10);
          }
          if (i==1){
             lcd.setCursor(0,1);
             lcd.print("Temp ");
             lcd.print(buf[i], DEC);
             lcd.print(" C");
             delay(10);
             
  }
}
            Serial.println(String("Humidade: " + String(buf[0],DEC) + "%; Temperatura: " + String(buf[2],DEC) + "ºC"));
            digitalWrite(13, false);
            delay(60000);
    }
}

acrexentei uns delays e so quando o codigo passa do ultimo delay de 60000 é que começa a aparecer caracteres malucos.

tamos a chegar la....mas nao sei se isto tem logica.. que achas?

« Última modificação: 04 de Setembro de 2012, 23:07 por r16 »

Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.718
  • Helpdesk do sitio
Re: Sensor de temp dois arduinos, do quarto para a sala via RF
« Responder #87 em: 04 de Setembro de 2012, 23:07 »
Mete um lcd.clear no inicio do loop.
Avr fanboy

Offline r16

  • Mini Robot
  • *
  • Mensagens: 339
Re: Sensor de temp dois arduinos, do quarto para a sala via RF
« Responder #88 em: 04 de Setembro de 2012, 23:08 »
Mete um lcd.clear no inicio do loop.

em qual codigo?

Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.718
  • Helpdesk do sitio
Re: Sensor de temp dois arduinos, do quarto para a sala via RF
« Responder #89 em: 04 de Setembro de 2012, 23:11 »
No que estiveres a usar, tanta mudança e ainda não alteraram nada a não ser meter delays, portanto mete num qualquer.
Avr fanboy