collapse

* Posts Recentes

Amplificador - Rockboard HA 1 In-Ear por almamater
[Ontem às 19:13]


O que é isto ? por KammutierSpule
[26 de Março de 2024, 19:35]


Bateria - Portátil por almamater
[25 de Março de 2024, 22:14]


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]

Autor Tópico: Duvidas e Duvidas  (Lida 3311 vezes)

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

Offline jmacedo

  • Mini Robot
  • *
  • Mensagens: 12
Duvidas e Duvidas
« em: 22 de Maio de 2012, 16:35 »
Caros amigos,

Tenho andado de roda do meu Arduino Uno a fazer algumas experiencias.

Hoje comprei o LM35DZ, liguei-o e correu +/-.

A parte que correu menos bem foi que aparece no lcd Temp: 21.47 e um caractere que não se parece com nada.

Há hipotese de aparecer só 21.4º ??

Já agora onde posso encontrar o IC DS1307 ??

Obrigado


Código: [Seleccione]
#include <LiquidCrystal.h>

LiquidCrystal lcd(12, 11, 7, 8, 9, 10);

int pinoSensor = 0; //pino que está ligado o terminal central do LM35 (porta analogica 0)
int valorLido = 0; //valor lido na entrada analogica
float temperatura = 1; //valorLido convertido para temperatura

void setup() {   
  Serial.begin(9600); //Inicializa comunicação Serial   
  pinMode(13, OUTPUT);
 
   
}

void loop() {   
  valorLido = analogRead(pinoSensor);   
  temperatura = (valorLido * 0.00488);  // 5V / 1023 = 0.00488 (precisão do A/D)   
  temperatura = temperatura * 100; //Converte milivolts para graus celcius, lembrando que a cada 10mV equivalem a 1 grau celcius   
  lcd.begin(0, 0);
  lcd.print("Temp:");   
  lcd.println(temperatura);   
  delay(1000); //espera 5 segundos para fazer nova leitura     
  }

Offline jmacedo

  • Mini Robot
  • *
  • Mensagens: 12
Re: Duvidas e Duvidas
« Responder #1 em: 22 de Maio de 2012, 16:41 »
Uma imagem vale mais que 1000 palavras  ;)


Offline iyahdub

  • Mini Robot
  • *
  • Mensagens: 280
Re: Duvidas e Duvidas
« Responder #2 em: 22 de Maio de 2012, 18:43 »
Em relacao ao caractere nao posso fazer grandes comentarios a nao ser  que tenha a ver com o model em especial ?!?
Em relacao ao resto , nao te esquecas que a melhor maneira de usar tal sensor e teres uma voltagem de referencia( tal como usares por exe,plo os 3.3 volts) ja que  os ciruitos difitais tendem a ser bastante ruidosos...
No TMP36, com voltagem de referencia sem ser os 5 volts da placa, com uma PSU exterior de qualidade, da-me leituras bem correctass ( alias ainda hoje estive a experimentar com a Mega enviada pelo patrocinador ods meu projectos auido)
ps-Desculpen a falta de pontuacao, mas vivo no estrangeiro e os teclados sao xenofobos !!

Offline jmacedo

  • Mini Robot
  • *
  • Mensagens: 12
Re: Duvidas e Duvidas
« Responder #3 em: 22 de Maio de 2012, 19:13 »
Boas,

Já consegui fazer desaparecer o dito caracter.

Bastou acrescentar duas linhas;

lcd.begin(20, 2);
lcd.setCursor(0, 1);

Com respeito ao LM35DZ tenho-o ligado ;

Pino 1 - 5v
Pino 2 - A0
Pino 3 - GND

Será que deveria estar no 3.3v ??

Offline iyahdub

  • Mini Robot
  • *
  • Mensagens: 280
Re: Duvidas e Duvidas
« Responder #4 em: 22 de Maio de 2012, 20:26 »
Nao e obrigatorio, ja que ele trabalha assim...Mas se comecares acrescentar muita coisa, pode comecar a haver nise demais... Nesse caso tens sempre a opcao de usar os 3.3V como referencia( se o 35 aceitar...eu sei que o 36 aceita)
ps-Desculpen a falta de pontuacao, mas vivo no estrangeiro e os teclados sao xenofobos !!

Offline jmacedo

  • Mini Robot
  • *
  • Mensagens: 12
Re: Duvidas e Duvidas
« Responder #5 em: 22 de Maio de 2012, 21:40 »
Boas,

Já está ligado ao 3.3v e continua a funcionar.

Agora resta descubrir como colocar a temperatura 00.0º em vez de 00.00  >:(

Offline iyahdub

  • Mini Robot
  • *
  • Mensagens: 280
Re: Duvidas e Duvidas
« Responder #6 em: 22 de Maio de 2012, 22:08 »
tens que ver a datasheet do LCD entao, e ver se tem o caractere que procuras... Ou podes sempre usar/modificar o sketch exemplo auto scroll para ver se la esta de base no lcd( aumenta o numero de caracteres para a volta de 240 ou um pouco mais
Se for um hd44780/st066u compativel tem o caractere em principio ( o meu 1602b tem)
senao podes sempre criar um caractere peesonalizado( ve nos tutoriais do arduino site).
Ou fazer como um dos sketches exemplos muito conhecidos e ter ambos Celsius e Fahrenheit no Display, usando C e F em vez do sinal º
« Última modificação: 22 de Maio de 2012, 22:14 por iyahdub »
ps-Desculpen a falta de pontuacao, mas vivo no estrangeiro e os teclados sao xenofobos !!

Offline iyahdub

  • Mini Robot
  • *
  • Mensagens: 280
Re: Duvidas e Duvidas
« Responder #7 em: 22 de Maio de 2012, 22:19 »
Ou referias-te a como fazer desta maneira ?!?
exemplo com serial monitor
Código: [Seleccione]
/*
  Adding Strings together
 
 Examples of how to add strings together
 You can also add several different data types to string, as shown here:
 
 created 27 July 2010
 modified 2 Apr 2012
 by Tom Igoe
 
 http://arduino.cc/en/Tutorial/StringAdditionOperator
 
 This example code is in the public domain.
 */

// declare three strings:
String stringOne, stringTwo, stringThree;

void setup() {
  // initialize serial and wait for port to open:
  Serial.begin(9600);
  while (!Serial) {
    ; // wait for serial port to connect. Needed for Leonardo only
  }

  stringOne = String("stringThree = ");
  stringTwo = String("this string");
  stringThree = String ();
  // send an intro:
  Serial.println("\n\nAdding strings together (concatenation):");
  Serial.println();
}

void loop() {
  // adding a constant integer to a string:
  stringThree =  stringOne + 123;
  Serial.println(stringThree);    // prints "stringThree = 123"

  // adding a constant long interger to a string:
  stringThree = stringOne + 123456789;
  Serial.println(stringThree);    // prints " You added 123456789"

  // adding a constant character to a string:
  stringThree =  stringOne + 'A';
  Serial.println(stringThree);    // prints "You added A"

  // adding a constant string to a string:
  stringThree =  stringOne +  "abc";
  Serial.println(stringThree);    // prints "You added abc"

  stringThree = stringOne + stringTwo;
  Serial.println(stringThree);    // prints "You added this string"

  // adding a variable integer to a string:
  int sensorValue = analogRead(A0);
  stringOne = "Sensor value: ";
  stringThree = stringOne  + sensorValue;
  Serial.println(stringThree);    // prints "Sensor Value: 401" or whatever value analogRead(A0) has

  // adding a variable long integer to a string:
  long currentTime = millis();
  stringOne="millis() value: ";
  stringThree = stringOne + millis();
  Serial.println(stringThree);    // prints "The millis: 345345" or whatever value currentTime has

  // do nothing while true:
  while(true);
}

ps-Desculpen a falta de pontuacao, mas vivo no estrangeiro e os teclados sao xenofobos !!

Offline jmacedo

  • Mini Robot
  • *
  • Mensagens: 12
Re: Duvidas e Duvidas
« Responder #8 em: 24 de Maio de 2012, 22:38 »
Boas,

Obrigado pela ajuda,

Agora ficou assim 27.31C  ;)

Offline jmacedo

  • Mini Robot
  • *
  • Mensagens: 12
Re: Duvidas e Duvidas
« Responder #9 em: 25 de Maio de 2012, 00:20 »
Cá estou eu outra vez a inventar.  ;D

Por acaso já alguem utilizou este componente M48T02 ??

Deixo o Datasheet - M48T02 - 16 Kbit 2Kb x8 TIMEKEEPER[ SRAM - STMicroelectronics

É que caso funcione tenho cá por casa um.  ???


Offline iyahdub

  • Mini Robot
  • *
  • Mensagens: 280
Re: Duvidas e Duvidas
« Responder #10 em: 25 de Maio de 2012, 03:49 »
Isso parace se um RTC, nao e ?!? a Sram nesses chips costuma ser para ajudar a manter mes, ano, e ountras implementacoees tipo a mudanca da hora, etc... Mas e o que parece !! Nao serei a melhor pessoa para responder a isso.
Memoria so tenho alguma experiencia com o 24LC256, e mesmo assim so experimentei o basico ate agora.
ps-Desculpen a falta de pontuacao, mas vivo no estrangeiro e os teclados sao xenofobos !!