Ir ao conteúdo
  • Cadastre-se

Lote de LM35 com defeito ou falha na programação (Arduino)


Posts recomendados

  • Membro VIP
7 horas atrás, GustavoH93 disse:

tentar editar a biblioteca? E realmente valeria a pena mudar de float para int para ganhar desempenho? queria fazer aquilo que tu explicou que aparece no display o ''0,0" sem ter que usar float

você está percorrendo um bom caminho. .. (que percorro desde o princípio)... Ele tem "atalhos" pro melhor desempenho sim. A dica que dou é: dá uma estudadela no d.s. do sensor. .. o protocolo 1wire não é nada complicado. Assim sendo (ou sendo assim), você consegue conversar com ele com zero biblioteca adicional usando apenas o tal digitalwrite() e digitalread().. ou nem isso... apenas lendo/escrevendo bit direto no pino único manipulando diretamente os registros do mc. Claro vai levar um pouco mais que os 15 minutos mas vale pela adrenalina.

 

Advogando diabolicamente...

Os atalhos que as libs dão têm seu valor e lugar também. A gente deixa isso pra ralé escovadora de bits fazer pra nós kk. No caso quando o prazo é apertado,  sobra recursos no mc, ,o protocolo é complicado d+ pra cabeça, tem dinheiro sobrando, consegue repassar pro cliente, o diretor financeiro não tem noção técnica e consegue engalobar ele e etc. Mas isso só depois de algumas décadas no ramo 🤪

 

 

caráio... virei de novo kk

Link para o comentário
Compartilhar em outros sites

Acho que agora só resta uma opção para saber se os LM35 eram Fake!

Vá a uma loja física e compre um LM35, ou compre os LM35 de outra loja e refaça o teste apenas com o multímetro. 

Se o problema continuar, é provável que o erro foi seu. Se você obtiver sucesso, os LM35 iniciais eram Fake.

Faça isso e termine este tópico, pois já tentamos todas as opções, hehehe. 🤕

MOR_AL

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

... mas antes permita-me...

O protocolo 1 wire é o exemplo mais típico separador de águas da "ralé" (agora sim entre aspas) e a nobreza (subentendido). O que a ral... ops.. os programadores de baixo nível (melhorou?.. nem tanto.. 😁) precisa fazer e entender é apenas saber escrever e ler 1 bit no dispositivo ('escreveu não leu'... é analfabeto 🤪) Olha isso que fofo:

https://www.analog.com/en/technical-articles/1wire-communication-through-software.html

O pulo do gato são apenas as temporizações. Pra você acompanhar a subida de classe, veja as funções e acompanhe a rotina de leitura de:

  • um bit OWReadBit(void) ; olha ela aí!
  • um byte OWReadByte(void);
  • um pacote de bytes for (i = 0; i < 20; i++) mac[i] = OWReadByte();
  • e um int mac_crc16 = OWReadByte(); mac_crc16 |= (OWReadByte() << 8 );

Se prestar atenção vai ver que as debaixo clamam pela de cima.

 

A qualquer momento, se achar que devo e/ou se comprar um ci deste, publico uma tradução tradicionalmente minimalista pro mundo dos mc's..

Link para o comentário
Compartilhar em outros sites

Depois desse tópico, sobre componente Fake, eu fiquei preocupado.

Comprei um kit com 100 peças (LM78Lxx, LM79Lxx) (90 Pçs) e LM317 (10Pçs).

Testei as 90 peças dos LM7xLxx. Todas estavam boas. Queimei uma peça por colocar muito errado na Protoboard. Não sei como consegui queimar. Com diversas peças troquei os pinos extremos (TO92) e não queimou.

MOR_AL

Link para o comentário
Compartilhar em outros sites

  • Membro VIP
1 hora atrás, MOR_AL disse:

Não paguei (ainda) a taxa.

Será que mesmo pagando os impostos fica + em conta do que comprar por aqui? Haveria neste caso uma garantia do recebimento? O prazo tenderia a ser menor? Bem... não são pra responder e sim pra refletir pois senão corre o risco de ser apagado como outro tópico inteligentemente apagado... não sei se descambou ...

 

Tenho 78l05 em smd... mas acho que também não são pra você. 🤪.. Mas uma coisa é certa - ficaria mais barato e de boa procedência 😁 ... agora é que apaga mesmo 😜

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

 

Em 12/04/2023 às 07:33, .if disse:

Ele tem "atalhos" pro melhor desempenho sim. A dica que dou é: dá uma estudadela no d.s. do sensor. .. o protocolo 1wire não é nada complicado. Assim sendo (ou sendo assim), você consegue conversar com ele com zero biblioteca adicional usando apenas o tal digitalwrite() e digitalread().. ou nem isso... apenas lendo/escrevendo bit direto no pino único manipulando diretamente os registros do mc. Claro vai levar um pouco mais que os 15 minutos mas vale pela adrenalina.

Realmente é verdade, vi o d.s. do sensor e descobri que ele opera em 9, 10, 11, e 12 bits e quanto menor a resolução mais rápido fica,  e fuçando na biblioteca dallastemperature.h vi que ela tinha bastante coisa desnecessária, por exemplo quero a temperatura apenas em celsius, mas ela também tem os arquivos para ter a temperatura em fahrenheit  e mais um monte de coisa que pode ser util para várias aplicações mas não para o que eu preciso. Então fui deletando  algumas coisas e substituindo float por int, e consegui dar pau na biblioteca toda hora que ia compilar dava erro kkkkk

Vou tentar fazer alguma coisa pra funcionar com o sensor sem usar essa dallastemperature só usando onewire, vamos ver o que vai sair...

 

Em 13/04/2023 às 07:33, MOR_AL disse:

Vá a uma loja física e compre um LM35, ou compre os LM35 de outra loja e refaça o teste apenas com o multímetro. 

Se o problema continuar, é provável que o erro foi seu. Se você obtiver sucesso, os LM35 iniciais eram Fake.

Faça isso e termine este tópico, pois já tentamos todas as opções, hehehe. 🤕

MOR_AL

vou ver se encontro LM35 na loja de eletrônica aqui da cidade, pela internet o frete é o valor de outra peça...

De qualquer forma estou focado em fazer o DS18B20 funcionar porque ele veio por engano no lugar do LM35, melhor criar outro tópico ou continuo aqui mesmo para fazer o DS18B20 funcionar sem a biblioteca?

Link para o comentário
Compartilhar em outros sites

4 horas atrás, GustavoH93 disse:

Realmente é verdade, vi o d.s. do sensor e descobri que ele opera em 9, 10, 11, e 12 bits e quanto menor a resolução mais rápido fica,  e fuçando na biblioteca dallastemperature.h vi que ela tinha bastante coisa desnecessária, por exemplo quero a temperatura apenas em celsius, mas ela também tem os arquivos para ter a temperatura em fahrenheit  e mais um monte de coisa que pode ser util para várias aplicações mas não para o que eu preciso. Então fui deletando  algumas coisas e substituindo float por int, e consegui dar pau na biblioteca toda hora que ia compilar dava erro kkkkk

Vou tentar fazer alguma coisa pra funcionar com o sensor sem usar essa dallastemperature só usando onewire, vamos ver o que vai sair...

A biblioteca ocupa espaço no seu PC mas não ocupa no microcontrolador. Quando é indicado no programa biblioteca.h isso é apenas uma referência ao compilador para pesquisar na referida biblioteca a sintaxe utilizada e ações associadas, nada mais. Somente os recursos utilizados serão incorporados e ocuparão espaço no seu programa e mesmo assim antes de serem incorporados terão que ser interpretados à luz do processador utilizado por estarem escritas em C e não em assembler. Assim sendo não faz sentido a faxina dos recursos que não serão utilizados. 

  • Curtir 3
Link para o comentário
Compartilhar em outros sites

  • Membro VIP

@Sérgio Lembo , às vezes o código de máquina resultante da biblioteca dá voltas, por questão de estilo algorítmico, paradigmas de programação ou padrões de projetos. Implementações diferentes para uma mesma estrutura de dados abstrata, por exemplo.

  • Curtir 2
Link para o comentário
Compartilhar em outros sites

  • Membro VIP

Faça dos 2 jeitos. Crie sua lib (de fato funções) pra manipular o ds. É tri simples

522fig01.gif?imgver=1

quase dá pra digitar aqui... (comecei pra to com preguiça agora). Dica de novo: vai ter que focar apenas nos registros atmega328... algo como
 

void delay(unsigned char dl)
{
while (dl--);
}

writebit(unsigned char bt)
{
DDR0=1;
PB0=0;
if (bt)
  {
  delay(A);
  PB0=1;
  }
else
  {
  delay(C);
  PB0=1;
  delay(D);
  }
}

Compile, faça funcionar, fique trifeliz e guarde.

Depois use a lib pronta sem mexer em nada e confira a teoria de Serjão. Pode ser sim que mesmo que gratuito o compilador otimize o código pra todos o mc's arduínos os quais ele foi designado. Apesar que há sabedoria nas palavras de Xandão

 

P.ex. a tal digitalwrite(8,1) era pra ser o mesmo assembly de PB0=1; De fato não sei se o compilador gera o mesmo assembly pra ambos. A vantagem é que a digitalwrite() serve pra virtualmente todos os mc's da plataforma arduína. Já escrever direto no registro cada 1 tem seu jeito. Qualquer dia eu vejo.. quero saber como o esp32 escreve 1 bit no port p.ex... você (ou você) sabe?

 

10 horas atrás, GustavoH93 disse:

criar outro tópico ou continuo aqui mesmo para fazer o DS18B20 funcionar sem a biblioteca?

Vou quebrar seu galho e permitir que continue aqui mesmo...🤪

  • Curtir 1
  • Haha 1
Link para o comentário
Compartilhar em outros sites

@alexandre.mbm É a diferença entre utilizar a confortável biblioteca fornecida e ter que ralar na escovação dos bits, estudando o ds de cada componente utilizado. A tendência é que na escovação se tenha maior eficiência. Essa tendência diminui de magnitude em função da sofisticação do compilador a ser utilizado. A IDE do Arduíno é boa e gratuita. Atolic e IAR são muito maiores para fazerem a mesma coisa e custam 1500 euros a cada 12 meses, se quiser. 

Link para o comentário
Compartilhar em outros sites

  • Membro VIP
3 horas atrás, Sérgio Lembo disse:

sofisticação do compilador a ser utilizado.

Me fez lembrar algo que ja comentei. No início de carreira ralava no assembly de um pic12c508. Demorava pra fazer e o código ficava de tamanho X. Resolvi aventurar no c. Fiz a mesma coisa e algo +, + rápido e , pasme, o código ficou menor algo como X*0.8

 

Off semion... dizem que o chatgpt gera código bastando pedir pra ele. Nunca testei e não sei se sinto vontade... mas não deixa de ser minimamente curioso... De novo.. só pra refletir e não desviar a conduta, ok?

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

40 minutos atrás, .if disse:

No início de carreira ralava no assembly de um pic12c508. Demorava pra fazer e o código ficava de tamanho X. Resolvi aventurar no c. Fiz a mesma coisa e algo +, + rápido e , pasme, o código ficou menor algo como X*0.8

Significa que o programador da IDE era muito melhor do que você. Estava no início, faz parte. Ninguém nasce experiente. Quando o programa se baseia em medições de tempo gosto de fazer a instrumentação na unha, me sinto mais seguro por saber exatamente como o hw irá se comportar. Nas tarefas mais administrativas do programa vou de C mesmo, mais simples. 

Link para o comentário
Compartilhar em outros sites

  • Membro VIP
1 hora atrás, .if disse:

dizem que o ChatGPT gera código, bastando pedir pra ele

 

nunca testei e não sei se sinto vontade 

 

Ele atende um pedido simples, mas pode não entregar, pois não lê nossa imaginação. É preciso saber pedir, saber perguntar, saber especificar em termos formais, ajustar, aparar as arestas.

 

O ideal é pedir peças quase indivisíveis, para que você as adapte a sua própria obra. Use-o como um empregado buscador de pedras preciosas. O demandante precisa conhecer as pedras.

 

1 hora atrás, .if disse:

Resolvi [me] aventurar no C [em substituição ao Assembly para um determinado PIC]. Fiz [implementei] a mesma coisa e [ficou] algo muito mais rápido. E, pasmem, o binário ficou com 80% do tamanho.

 

O problema sendo implementado foi que possibilitou traduções diretas para um código de máquina enxuto. Esses tradutores não se obrigam a repetir em linguagem intermediária "uma não-otimizacão" semântica que provenha da camada de mais alto nível.

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • Membro VIP
19 horas atrás, Sérgio Lembo disse:

me sinto mais seguro por saber exatamente como o hw irá se comportar. Nas tarefas mais administrativas do programa vou de C mesmo, mais simples. 

Me fez re-relembrar [que acho que já publiquei aqui mas num tô nem aí e publico de novo] certa feita onde um programa que fiz em c para gravar um at89s8253 direto pela paralela. Na época foi feito pro pc xt 8088 e a temporização era por while(t--); e funcionava a contento. Mas na sequencia passei pra um 80386 (pulei o 286) que era triveloz e a temporização foi pras cucuia. Assim sendo me veio a iluminação de usar o hw na cpu.. resumindo era ...

void tempo(unsigned char t)
{
unsigned char j=0;

outportb(0x61,0);    //desliga contador timer2
outportb(0x43,0xb0); //timer2, modo 0, lsb -> msb
outportb(0x42,t);    //lsb
outportb(0x42,0);    //msb
outportb(0x61,1);    //liga contador

/*
nok:
asm {
    mov al,0xc8
    out     0x43,al
    in  al,0x42
    and al,0x80
    jz  nok
    }
*/
while(!j)
   {
    outportb(0x43,0xc8);    //read back
    j=inportb(0x42);        //status da saida
    j&=0x80;
   }
}

Cuja temporização foi a mesma desde o 8086 4.7MHz até o pentium 200MHz

A mensagem subliminar é a sessão asm comentada na qual havia como...

19 horas atrás, Sérgio Lembo disse:

saber exatamente como o hw irá se comportar

. Mas claro tinha que se ter total noção das funções dos registros dos periféricos, tarefa semi impossível pra programadores "normais" da atualidade.

Perceba a zipada de 5 pra 3 linhas de asm pra c. A única coisa útil do assembly: "NOP" 😁

 

edit .. vi agora: o timer2 que mencionei e que o 8086 controlava era 8253 .. coincidentemente o mesmo sufixo do mc atmega que mencionei.. e isso muda sua vida pra caramba, né? 🤪

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

4 horas atrás, .if disse:

Mas claro tinha que se ter total noção das funções dos registros dos periféricos, tarefa semi impossível pra programadores "normais" da atualidade.

 

É o que eu falo toda hora para todo mundo. Hoje em dia os programadores não sabem como que funcionam os hardwares, eles apenas usam bibliotecas prontas para tratar o hardware para eles. Fazer algo que implique controle total sobre as interrupções conforme a necessidade é algo impensável para eles. Só falam que precisam de uma CPU que rode a 200 MHz ou mais, assim não precisam se preocupar com interrupções e suas prioridades. E usam um canhão para matar uma mosca....

 

Paulo 

  • Curtir 1
  • Amei 1
  • Haha 2
Link para o comentário
Compartilhar em outros sites

49 minutos atrás, aphawk disse:

Só falam que precisam de uma CPU que rode a 200 MHz ou mais, assim não precisam se preocupar com interrupções e suas prioridades. E usam um canhão para matar uma mosca....

Nos meus desenvolvimentos quando possível gosto de usar uma CPU cheia de pinos, memória, recursos e coisa e tal. Nesse primeiro momento é ter algo que funcione e talvez a ideia inicial necessite de recursos extras. Conseguido o intento vou para a minimização buscando a CPU mais barata e o clock mais baixo possível. Quando é algo que pareça ser muito simples começo com a CPU barata mas esta arrogância de achar que já tenho todo o projeto resolvido na cabeça já me custou muita perda de tempo. 

Link para o comentário
Compartilhar em outros sites

@Sérgio Lembo ,

 

Eu padronizei usar um Atmega328P para qualquer projeto, depois vejo realmente o que eu preciso de verdade. Com a falta que teve no ano passado, refiz o meu padrão, que agora é um Arduino Nano, que nada mais é que um Atmega328P rodando a 16Mhz. Como tenho várias rotinas padronizadas e em módulos, fica fácil fazer o desenvolvimento, usando INCLUDES do Bascom, onde tenho rotinas em Assembly para medição de sinais analógicos com filtragem,  para tratar 2 encoders ao mesmo tempo com interrupções , para debug das variáveis em tempo real pela serial usando interrupção, e também trechos prontos em Basic mesmo para rotinas de relógio, RTC, display I2C, contagem de eventos, PWM, etc..

Uma ideia que veio de um sistema de desenvolvimento que fiz em 1985 com outro engenheiro, usando Z-80 e um Apple II com CP/M como terminal e ferramenta de programação.

 

Consigo simular isso tudo no Proteus, criando uma interface serial virtual onde o meu projeto possa conversar com o mundo real.

 

Por mais experiência que a gente tenha, sempre aparece algo para dificultar ..... e não somos programadores, somos engenheiros que programam, o que acaba criando muitas vezes soluções doidas para problemas que podiam ter soluções mais simples ..... raramente vejo uma solução otimizada a nível de usar o microcontrolador mais barato possível.

 

Paulo

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Em 16/04/2023 às 02:21, Sérgio Lembo disse:

Somente os recursos utilizados serão incorporados e ocuparão espaço no seu programa

Dessa eu não Sabia, acreditava que a biblioteca inteira era transferida ao arduino, mas como @.if  e @alexandre.mbm comentou o melhor é não usar biblioteca se possível porque a programação dela pode não ser totalmente eficiente para aquilo que queremos fazer correto?

 

Em 16/04/2023 às 08:25, .if disse:

Compile, faça funcionar, fique trifeliz e guarde.

Queria ter essa manha que vocês tem para programação, comecei a estudar isso menos de 1 ano e malemá consegui usar if else e entender o que é variável local, global e os tipos das variáveis, quem sabe um dia chego perto de escrever um código que faça mais do que piscar leds kkkkkk estou pesquisando agora sobre a comunicação onewire mas não tem muito em português, bora fuçar nas coisas em inglês.

 

Em 16/04/2023 às 12:53, .if disse:

Off semion... dizem que o chatgpt gera código bastando pedir pra ele. Nunca testei e não sei se sinto vontade... mas não deixa de ser minimamente curioso... De novo.. só pra refletir e não desviar a conduta, ok?

gera sim, na verdade @.if desde aquele tópico da válvula de borboleta comecei a usar ele não só para  código mas para estudar programação. sério já tenho umas 15 conversas lá só perguntando um monte de coisa que seria simples pra qualquer programador mas que é bem complexo pra mim, tipo agora pouco fui pesquisar o que era assembly sabia que existem vários tipos de programação como C++ pyton entre outras agora assembly nunca tinha ouvido falar até o Sérgio comentar aqui em cima e lá fui eu atrás saber o que é😅.  É bom porque as duvidazinhas eu fico esmigalhando ele e as complexas eu vejo com vocês assim não fico criando tópico por bobeira.

 

 

Em 16/04/2023 às 13:40, alexandre.mbm disse:

Ele atende um pedido simples, mas pode não entregar, pois não lê nossa imaginação. É preciso saber pedir, saber perguntar, saber especificar em termos formais, ajustar, aparar as arestas.

 

O ideal é pedir peças quase indivisíveis, para que você as adapte a sua própria obra. Use-o como um empregado buscador de pedras preciosas. O demandante precisa conhecer as pedras.

Verdade! Se pedir coisas muito complexas ele vai se enrolar, se não pedir de forma clara com poucas palavras ele se enrola todo também.

 

 

8 horas atrás, aphawk disse:

É o que eu falo toda hora para todo mundo. Hoje em dia os programadores não sabem como que funcionam os hardwares, eles apenas usam bibliotecas prontas para tratar o hardware para eles. Fazer algo que implique controle total sobre as interrupções conforme a necessidade é algo impensável para eles. Só falam que precisam de uma CPU que rode a 200 MHz ou mais, assim não precisam se preocupar com interrupções e suas prioridades. E usam um canhão para matar uma mosca....

 

Pois é não entendo de programação mas vira e mexe fico brincando com componentes eletrônicos e vejo por aí pessoal colocando um arduino uno para simplesmente acender uma luz usando um botão e deixam lá eternamente O.o  é realmente matar mosca com canhão porque daria pra fazer o mesmo com um pic, ou com eletrônica clássica, tem um monte de circuitinhos simples na internet ou naquelas revistas eletrônicas como a saber eletronica que apesar de serem antigas são muito boas, o @Renato.88 que sabia mais delas se não me engano.

 

Bessoal vou macetar o chatgpt e ver o que posso descobrir sobre comunicação wire e amanhã volto com os resultados quero ver se ele gera sem a biblioteca e se tem grandes diferenças de tamanho de uso de memória.

Link para o comentário
Compartilhar em outros sites

  • Membro VIP
1 hora atrás, GustavoH93 disse:

o melhor é não usar biblioteca, se possível; por que a programação dela pode não ser totalmente eficiente para aquilo que queremos fazer

 

Depende. Uma biblioteca de boa qualidade pode fazer melhor do que nós. @.if exemplificou.

Link para o comentário
Compartilhar em outros sites

31 minutos atrás, GustavoH93 disse:

o melhor é não usar biblioteca se possível porque a programação dela pode não ser totalmente eficiente para aquilo que queremos fazer correto?

Sim. Mas tem coisas que não escapa de usar. 

32 minutos atrás, GustavoH93 disse:

Queria ter essa manha que vocês tem para programação, comecei a estudar isso menos de 1 ano e malemá consegui usar if else e entender o que é variável local, global e os tipos das variáveis, quem sabe um dia chego perto de escrever um código que faça mais do que piscar leds kkkkkk

[2] 

Comecei a tentar entender programação lá pra 2014. Não consegui levar muito a sério, pra que os comandos e as ideias entrassem em minha cachola. 

Desde então, na linguagem C só entendi como funciona o IF, ELSE, WHILE e FOR. 

As variáveis ainda não entendi. 

Recentemente precisei mexer em Assembly, pois em um programa que já estava pronto resolvi colocar junto um led piscando pra indicar o funcionamento da coisa. 

Em outro tópico, até comentei sobre isso com a @.if

Que demorei três dias pra fazer isso funcionar. 

Essa linguagem é mais direta pra gente fazer as coisas, porém algumas coisas simples se tornam complicadas nela. 

 

Sobre o Chat GPT, ainda pretendo ver no que ele pode me ajudar. Pois tenho uma porção de CIs da linha PIC que comprei para uns projetos futuros. 

 

1 hora atrás, GustavoH93 disse:

Pois é não entendo de programação mas vira e mexe fico brincando com componentes eletrônicos e vejo por aí pessoal colocando um arduino uno para simplesmente acender uma luz usando um botão e deixam lá eternamente O.o  é realmente matar mosca com canhão

Concordo. 

Tem muito gente por aí comprando Arduíno e seus módulos pra fazer coisas muito simples e acham que estão "abafando na eletrônica". 

Seu exemplo de acender a lâmpada com um botão (push botton) , nem precisa de eletrônica, vendem um relé que faz essa função. 

 

Em casos onde precisamos de uma comunicação com PC, transferência de dados via Internet, apresentação de dados em visor LCD, ou comunicação tipo serial com outros periféricos acho o Arduino super válido. 

Em outras situações mais simples, já prefiro os Micro controladores do tipo PIC ou similares. 

 

Link para o comentário
Compartilhar em outros sites

Perguntei ao Chat gpt:

Gostaria de um código de leitura de um DS18B20, retornando a temperatura em números inteiros, usando o pino 4.

Ele respondeu:

Claro, aqui está um exemplo de código que lê a temperatura de um sensor DS18B20 conectado ao pino 4 do Arduino e exibe o valor da temperatura como um número inteiro:

 

#include <OneWire.h>
#include <DallasTemperature.h>

// define o pino de comunicação com o sensor
#define ONE_WIRE_BUS 4

// instancia um objeto OneWire para controlar a comunicação com o sensor
OneWire oneWire(ONE_WIRE_BUS);

// instancia um objeto DallasTemperature para controlar o sensor
DallasTemperature sensors(&oneWire);

void setup() {
  // inicializa a comunicação serial para exibir o valor da temperatura
  Serial.begin(9600);
  // inicializa o sensor
  sensors.begin();
}

void loop() {
  // solicita a leitura da temperatura para todos os sensores conectados
  sensors.requestTemperatures();

  // lê a temperatura do primeiro sensor conectado (no nosso caso, só temos um)
  float temperatureC = sensors.getTempCByIndex(0);

  // exibe o valor da temperatura como um número inteiro
  int temperature = (int)temperatureC;
  Serial.print("Temperatura: ");
  Serial.println(temperature);

  // espera um segundo antes de ler a temperatura novamente
  delay(1000);
}

 

Este código usa a biblioteca OneWire e DallasTemperature para ler a temperatura do sensor DS18B20. O valor da temperatura é lido como um float e, em seguida, convertido para um inteiro usando o operador de conversão de tipo (int). O código exibe o valor da temperatura como um número inteiro no monitor serial. Certifique-se de conectar o sensor DS18B20 ao pino 4 do Arduino

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!