collapse

* Posts Recentes

Emulador NES em ESP32 por dropes
[13 de Março de 2024, 21:19]


Escolher Osciloscópio por jm_araujo
[06 de Fevereiro de 2024, 23:07]


TP4056 - Dúvida por dropes
[31 de Janeiro de 2024, 14:13]


Leitura de dados por Porta Serie por jm_araujo
[22 de Janeiro de 2024, 14:00]


Distancia Cabo por jm_araujo
[08 de Janeiro de 2024, 16:30]


Meu novo robô por josecarlos
[06 de Janeiro de 2024, 16:46]


Laser Engraver - Alguém tem? por almamater
[16 de Dezembro de 2023, 14:23]


Focos LED SMD por almamater
[16 de Dezembro de 2023, 14:12]


I Belive por dropes
[15 de Dezembro de 2023, 13:59]


Carga de corrente eletrónica ZPB30A1 60W por jm_araujo
[11 de Dezembro de 2023, 13:27]

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

0 Membros e 2 Visitantes estão a ver este tópico.

Offline r16

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

no ultimo codigo que postei em citação ao rglove coloquei o lcd.clear no começo do loop e aparece caracteres malucos... sem lcd.clear nao aparece.. so aparece quando passa o ultimo delay de 60000


Offline rglove

  • Mini Robot
  • *
  • Mensagens: 527
Re: Sensor de temp dois arduinos, do quarto para a sala via RF
« Responder #91 em: 04 de Setembro de 2012, 23:19 »
Eu tinha posto no código um lcd.clear() quando o receiver recebe alguma coisa, mesmo antes de escrever no lcd. Acho estranho o lcd ter ficado todo branco... Não será que tem a ver com a tensão que meteste no pino do contraste? Tenta ajustar isso.

Offline r16

  • Mini Robot
  • *
  • Mensagens: 339
Re: Sensor de temp dois arduinos, do quarto para a sala via RF
« Responder #92 em: 04 de Setembro de 2012, 23:28 »
Eu tinha posto no código um lcd.clear() quando o receiver recebe alguma coisa, mesmo antes de escrever no lcd. Acho estranho o lcd ter ficado todo branco... Não será que tem a ver com a tensão que meteste no pino do contraste? Tenta ajustar isso.

tinhas razao no codigo tinhas posto o pin a 255 coloquei a 60 ja apareceu mas apareceu os caracteres malucos..

como te disse o unico codigo que nao aparece os caracteres malucos é este,mas quando chega ao delay do final ou seja os 60000 começa a aparvalhar,,,, agora se é do pin pwr nao sei.. mas este codigo funciona bem...

ps: so nao aparece nada no serial monitor estara alguma coisa em falta?

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);
    }
}

Offline Pedrock

  • Mini Robot
  • *
  • Mensagens: 279
Re: Sensor de temp dois arduinos, do quarto para a sala via RF
« Responder #93 em: 04 de Setembro de 2012, 23:44 »
Tenta 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, 60);
  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 temperatura = 0;
     int humidade = 0;
     digitalWrite(13, HIGH); // Esta parte é opcional, eu utilizei para testar e ver se estava a receber alguma coisa
     for (int 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) temperatura = (buf[0], DEC);
        else if (i==1) humidade = (buf[1],DEC);
     }
     lcd.clear();
     lcd.setCursor(0,0);
     lcd.print("Humi ");
     lcd.print(String(humidade));
     lcd.print(" %");
     lcd.setCursor(0,1);
     lcd.print("Temp ");
     lcd.print(String(temperatura));
     lcd.print(" C");
     Serial.println(String("Humidade: " + String(humidade) + "%; Temperatura: " + String(temperatura) + "ºC"));
     digitalWrite(13, LOW); // Esta parte é opcional, eu utilizei para testar e ver se estava a receber alguma coisa
  }
}

EDIT: E em vez do pino PWM liga aos 5V através de uma resistência. Tenta várias até ficar bem.
« Última modificação: 04 de Setembro de 2012, 23:52 por Pedrock »

Offline r16

  • Mini Robot
  • *
  • Mensagens: 339
Re: Sensor de temp dois arduinos, do quarto para a sala via RF
« Responder #94 em: 04 de Setembro de 2012, 23:51 »
Tenta 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, 60);
  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 temperatura = 0;
     int humidade = 0;
     digitalWrite(13, HIGH); // Esta parte é opcional, eu utilizei para testar e ver se estava a receber alguma coisa
     for (int 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) temperatura = (buf[0], DEC);
        else if (i==1) humidade = (buf[1],DEC);
     }
     lcd.clear();
     lcd.setCursor(0,0);
     lcd.print("Humi ");
     lcd.print(String(humidade));
     lcd.print(" %");
     lcd.setCursor(0,1);
     lcd.print("Temp ");
     lcd.print(String(temperatura));
     lcd.print(" C");
     Serial.println(String("Humidade: " + String(humidade) + "%; Temperatura: " + String(temperatura) + "ºC"));
     digitalWrite(13, LOW); // Esta parte é opcional, eu utilizei para testar e ver se estava a receber alguma coisa
  }
}

pedro tambem nao da... aparece os tais caracteres...

acho que tem haver alguma coisa com os delays...pois aquele codigo que postei funciona com os delays...no entanto a temperatura do receptor nao é igual a do emissor porque causa dos delays que inseri...


ou seja da ideia que o emissor ta a mandar dados de 1 em 1 segundo..e que o receptor.. quando vai ler..se captar um intervalo sem dados atrofia..
isso sou eu a supor ...nao sei se é se nao.. mas o que e certo é que com delays os caracteres nao aparecem. so aparecem no ultimo delay que vai reinciar o loop

Offline rglove

  • Mini Robot
  • *
  • Mensagens: 527
Re: Sensor de temp dois arduinos, do quarto para a sala via RF
« Responder #95 em: 05 de Setembro de 2012, 00:02 »
Tens a certeza que não se lia nada naquele código que postei na pagina anterior ou ha 2 páginas atras?
Tinha postado um código que fazia um refresh do lcd de 10 em 10 ms. Tinhas dito que o lcd ficava sempre branco. Será que também não tinhas um valor mal no analogWrite? Mete 60 como tinhas posto nesse código ai e experimenta.

O lcd não fica todo branco por estar sempre a fazer refresh... Experimenta outra vez, pode ser que resolva.

Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.733
  • Helpdesk do sitio
Re: Sensor de temp dois arduinos, do quarto para a sala via RF
« Responder #96 em: 05 de Setembro de 2012, 00:03 »
Mostra lá uma foto da montagem disso, e pormenor das soldas no lcd..
Avr fanboy

Offline r16

  • Mini Robot
  • *
  • Mensagens: 339
Re: Sensor de temp dois arduinos, do quarto para a sala via RF
« Responder #97 em: 05 de Setembro de 2012, 00:14 »
Tens a certeza que não se lia nada naquele código que postei na pagina anterior ou ha 2 páginas atras?
Tinha postado um código que fazia um refresh do lcd de 10 em 10 ms. Tinhas dito que o lcd ficava sempre branco. Será que também não tinhas um valor mal no analogWrite? Mete 60 como tinhas posto nesse código ai e experimenta.

O lcd não fica todo branco por estar sempre a fazer refresh... Experimenta outra vez, pode ser que resolva.

rglove o codigo que exprimentei teu:
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, 60);
    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);
    }
    }

foi esse.. no lcd nao aparece letra nenhuma...no serial monitor aparece.pelo menos com este codigo nada aparece...

Offline r16

  • Mini Robot
  • *
  • Mensagens: 339
Re: Sensor de temp dois arduinos, do quarto para a sala via RF
« Responder #98 em: 05 de Setembro de 2012, 00:17 »
Tens a certeza que não se lia nada naquele código que postei na pagina anterior ou ha 2 páginas atras?
Tinha postado um código que fazia um refresh do lcd de 10 em 10 ms. Tinhas dito que o lcd ficava sempre branco. Será que também não tinhas um valor mal no analogWrite? Mete 60 como tinhas posto nesse código ai e experimenta.

O lcd não fica todo branco por estar sempre a fazer refresh... Experimenta outra vez, pode ser que resolva.

rglove o codigo que exprimentei teu:
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, 60);
    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);
    }
    }

foi esse.. no lcd nao aparece letra nenhuma...no serial monitor aparece.pelo menos com este codigo nada aparece...

senso tenho o telemovel a carregar, mas assim que tiver carga, posso ate fazer um video para te mostrar..
alias.. nao sei se te vou dizer alguma barbaridade corrige me se tiver enganado..
mas se fosse más ligacoes do lcd... o example hello world nao aparecia  certo?

mas eu vou na mesma fazer um video e mostrar sem problema algum.

Offline r16

  • Mini Robot
  • *
  • Mensagens: 339
Re: Sensor de temp dois arduinos, do quarto para a sala via RF
« Responder #99 em: 05 de Setembro de 2012, 00:26 »
rglove e senso estou a carregar um video no youtube para vos mostrar o lcd em funcionamento com ambos os codigos.. e tambem as ligacoes ao lcd.

vai demorar um bocadinho

Offline Pedrock

  • Mini Robot
  • *
  • Mensagens: 279
Re: Sensor de temp dois arduinos, do quarto para a sala via RF
« Responder #100 em: 05 de Setembro de 2012, 00:29 »
Acho que o problema está quando se escreve no LCD a segunda vez.
Tenta o exemplo Serial to LCD (ou qualquer coisa assim) e envia texto para o arduino por serial.

Offline r16

  • Mini Robot
  • *
  • Mensagens: 339
Re: Sensor de temp dois arduinos, do quarto para a sala via RF
« Responder #101 em: 05 de Setembro de 2012, 00:43 »
Acho que o problema está quando se escreve no LCD a segunda vez.
Tenta o exemplo Serial to LCD (ou qualquer coisa assim) e envia texto para o arduino por serial.

testei e escreveu bem a primeira vez , e a segunda vez.. a terceira ja apareceu no lcd caracteres malucos..

sera que isto tem alguma coisa a ver??

Offline Pedrock

  • Mini Robot
  • *
  • Mensagens: 279
Re: Sensor de temp dois arduinos, do quarto para a sala via RF
« Responder #102 em: 05 de Setembro de 2012, 00:52 »
Acho que o problema está quando se escreve no LCD a segunda vez.
Tenta o exemplo Serial to LCD (ou qualquer coisa assim) e envia texto para o arduino por serial.

testei e escreveu bem a primeira vez , e a segunda vez.. a terceira ja apareceu no lcd caracteres malucos..

sera que isto tem alguma coisa a ver??
O problema não está na transmição de dados sem fios, mas sim no LCD ou nas ligações.

Offline r16

  • Mini Robot
  • *
  • Mensagens: 339
Re: Sensor de temp dois arduinos, do quarto para a sala via RF
« Responder #103 em: 05 de Setembro de 2012, 00:54 »
Acho que o problema está quando se escreve no LCD a segunda vez.
Tenta o exemplo Serial to LCD (ou qualquer coisa assim) e envia texto para o arduino por serial.

amanha vou rever isto tudo,,, mas e mesmo muito estranho aparecer as palavras neste caso uma e duas vezes e as vezes aparecer coisas diferentes do que escrevemos.

nao é?? eu tava convencido que se fosse mas ligacoes nao aparecia nada sequer
testei e escreveu bem a primeira vez , e a segunda vez.. a terceira ja apareceu no lcd caracteres malucos..

sera que isto tem alguma coisa a ver??
O problema não está na transmição de dados sem fios, mas sim no LCD ou nas ligações.

Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.733
  • Helpdesk do sitio
Re: Sensor de temp dois arduinos, do quarto para a sala via RF
« Responder #104 em: 05 de Setembro de 2012, 02:00 »
Era muito mais facil meia duzia de fotos.
Avr fanboy