-
Posts
834 -
Cadastrado em
-
Última visita
Tipo de conteúdo
Artigos
Selos
Livros
Cursos
Análises
Fórum
Tudo que GustavoH93 postou
-
Arduino Código para leitura de sensores com Arduino.
GustavoH93 respondeu ao tópico de GustavoH93 em Microcontroladores
funcionou muito bem, tentei aplicar o mesmo sistema na exibição da sonda no LCD mas não dá certo, imagino que é porque de 68 até 136 não dá pra dividir por 100 e ter o resultado exato, ou estou enganado? O código ficou assim: lambda e voltage vejo no monitor serial que está funcionando direitinho, mas no LCD só voltage aparece corretamente, a sonda 0, ou 1, aparece normal mas depois da virgula dá uma leitura absurda como 1,99 e na serial vejo que está 136. mesmo sendo curto eu as vezes não entendo 100% do que tá escrito aí tento decifrar o que a @.if escreve kkkk de qualquer forma em alguns casos não tem como terei que usar float, mas como vou colocar um monte de funções no arduino quanto menos coisas nele melhor. agora entendi, vou tentar alterar aqui e ver como fica, a função MAP como o @Thiago Miotto sugeriu está funcionando bem, não estou conseguindo exibir o valor da sonda no LCD mas quando conseguir vou usar a conta que sugeriu Sérgio, é bom porque testando no sensor e funcionando poderemos escolher qual ocupa menos recursos do micro. -
Arduino Código para leitura de sensores com Arduino.
GustavoH93 respondeu ao tópico de GustavoH93 em Microcontroladores
mas a tensão teria que ser float, ou seria int e trabalhariamos diretamente com o 0 até o 1023 para exibir no lcd? Se bem que a tensão só quero saber para ver se o resultado da sonda está fazendo sentido, não vou utilizar a tensão futuramente... Tive que ir lá nos tópicos antigos para relembrar, consegui fazer parecido mas não tá funcionando totalmente com certeza tô fazendo alguma coisa errada, @.if o seu truque de colocar o ponto artificialmente tá quase funcionando só que no lugar do micro quem não tá executando bem sou eu kkkk dá uma olhadinha por favor, atualmente está assim o código: @.if passei perto faltou pouco para acertar né? -
Arduino Código para leitura de sensores com Arduino.
GustavoH93 respondeu ao tópico de GustavoH93 em Microcontroladores
fiz o que pediu Sérgio e o código ficou assim: #include <LiquidCrystal_I2C.h> // Inicializa o display no endereço 0x27 LiquidCrystal_I2C lcd(0x27, 16, 4); const int lambdaPin = A3; // Pino analógico utilizado para ler a tensão do gerenciador de sonda lambda //float voltageToLambda(float voltage); unsigned int voltage; void setup() { Serial.begin(9600); // Inicializa a comunicação serial lcd.init(); lcd.setBacklight(HIGH); lcd.setCursor(0, 0); lcd.print("V= L="); } void loop() //{float voltage = analogRead(lambdaPin) * (5.0 / 1023.0); // Leitura da tensão em volts //float lambda = 0.68 + (voltage - 0.0) * (1.36 - 0.68) / (5.0 - 0.0); {voltage = analogRead(lambdaPin); float lambda = voltage * (1.36 - 0.68); float lambda = 0.68 + lambda / 1023; lcd.setCursor(3, 0); lcd.print(voltage, 2); // Exibe a tensão com 2 casas decimais lcd.setCursor(13, 0); lcd.print(lambda); // Exibe o fator lambda com 2 casas decimais Serial.print("Voltage: "); Serial.println(voltage); Serial.print("Lambda: "); Serial.println(lambda); delay(300); } Compilation error: redeclaration of 'float lambda' Está dizendo que a lambda foi declarada duas vezes, mas isso é estranho porque na linha: float lambda = voltage * (1.36 - 0.68); ele declara a variável local lambda e na linha a baixo: float lambda = 0.68 + lambda / 1023; ele atualiza a variável declarada anteriormente não cria uma nova variável, ou estou entendendo errado? tentei, adicionei a linha de comando: int lambda = map(voltage, 0.0, 5.0, 68, 136); // Mapeia a tensão para o intervalo correspondente de fator lambda por incrível que pareça a leitura ficou mais estranha, parece que ficou um buraco utilizei um potenciômetro e veja de 95 ela pula para 108 com menos de 0,10v de diferença: Acho que a função MAP junto com as funções if, else são umas das primeiras que apresentam nos cursinhos de arduino do youtube, é bem fácil utilizar com resultados bem interessantes, não sei porque não está funcionando adequadamente aqui, estou suspeitando se a saída do gerenciador pode não ser tão linear assim... Olha realmente o GPT está ajudando muita gente na programação ele cria o básico e ajuda no aprendizado, eu mesmo já troquei mais de uma centena de mensagens com ele sobre programação e os poucos vou aprendendo. No começo estava achando que usar ele seria uma "trapaça" porque eu não iria criar os códigos totalmente do zero mas agora estou achando que usando ele ou não estou aprendendo também, porque acabamos aprendendo quais funções usar, por exemplo executar uma tarefa usamos if se algo acontecer, se não acontecer usamos else, se quisermos mapear uma leitura usamos MAP... Acho interessante aprender as funções mesmo não sabendo escrever totalmente só de saber o que precisamos fazer qual função usar já é uma forma de aprender, e mesmo usando o GPT temos que ter o "desconfiometro" também tem umas coisas que acontecem de forma errada lá, seja por ele não entender o objetivo ou porque simplesmente comete erros, de qualquer forma é uma ferramenta que pode ser muito util. essa é uma das primeiras funções que usei no arduino, para simular o sensor hall do motor, pedia para gerar tom de frequência baixa ali perto dos 60hz para ver se a leitura que eu iria fazer com outro arduino estava correta kkkkk (baita gambiarra e pra variar gerar o tom funcionou, agora a leitura do meu código ficou uma porcaria) -
Arduino Código para leitura de sensores com Arduino.
GustavoH93 postou um tópico em Microcontroladores
Boa noite pessoal, estou continuando a saga dos meus tópicos anteriores onde o objetivo é fazer com que o arduino MEGA faça a leitura dos sensores do carro e envie para um Tablet. Demorei para continuar porque estava esperando mais componentes chegarem da China, chegaram a alguns dias e alguns sensores já consegui fazer funcionar, agora peço a ajuda de vocês para que possamos continuar o projeto, alguns sensores estão sendo bem mais complicados do que eu imaginei, pedi ajuda ao chatGPT e ajudou em algumas coisas mas tem coisa que ele se complica demais e não funcionam bem. A programação do tablet também é complicada, por isso consegui um display I2C 16x4 e vou utilizar ele, depois que a leitura de todos os sensores estiverem funcionando bem no display então passarei a programação com o tablet. A leitura do primeiro sensor que peço ajuda é o da sonda lambda que faz a leitura dos gases do escapamento, junto com a sonda comprei um gerenciador de sonda que faz a leitura da mesma e controla o aquecedor interno que a sonda possuí, o gerenciador exibe a temperatura e a leitura da sonda em um lcd pequeno e também tem algumas saídas para injeção eletrônica. O sensor exibe a leitura da sonda no fator lambda que vai de 0,68 até 1,36 onde: 0,68 tem combustível demais e pouco ar. 1,36 tem pouco combustível e muito ar. 1,00 ideal, o ar e o combustível estão na mesma proporção. O gerenciador vem com essa informação na conexão dos fios: Na saída 4 tem uma tensão linear correspondente a leitura da sonda e vai de 0 a 5v ou seja ideal para o arduino fazer a leitura, e aí está o problema, tentei fazer a leitura com a função MAP no arduino e não funcionou de jeito nenhum, se colocar de 0 até 100 por exemplo a função map funciona, mas se colocar de 0,68 até 1,36 fica travado marcando 0,0 tentei me acertar com o chatGPT e ele me disse que a função MAP é indicada para fazer a relação de valores lineares, no meu caso ela não se aplica, enviei meu código ele sugeriu usar uma tal de interpolação linear alterou o código e ficou assim: #include <LiquidCrystal_I2C.h> // Inicializa o display no endereço 0x27 LiquidCrystal_I2C lcd(0x27, 16, 4); const int lambdaPin = A3; // Pino analógico utilizado para ler a tensão do gerenciador de sonda lambda float voltageToLambda(float voltage); void setup() { Serial.begin(9600); // Inicializa a comunicação serial lcd.init(); lcd.setBacklight(HIGH); lcd.setCursor(0, 0); lcd.print("V= L="); } void loop() {float voltage = analogRead(lambdaPin) * (5.0 / 1023.0); // Leitura da tensão em volts float lambda = 0.68 + (voltage - 0.0) * (1.36 - 0.68) / (5.0 - 0.0); lcd.setCursor(3, 0); lcd.print(voltage, 2); // Exibe a tensão com 2 casas decimais lcd.setCursor(13, 0); lcd.print(lambda, 2); // Exibe o fator lambda com 2 casas decimais Serial.print("Voltage: "); Serial.println(voltage); Serial.print("Lambda: "); Serial.println(lambda); delay(1000); } De fato este código funcionou, mas não está 100% fiel ao que o gerenciador da sonda exibe, quando ligo o gerenciador até ele aquecer a sonda para ter uma leitura correta ele exibe o valor 1,02 por alguns segundos depois vai subindo até 1,36 porque o motor está desligado logo não tem combustível nenhum, mas utilizando este código quando acabo de ligar comparando as leituras ficam assim: gerenciador arduino 1,02 1,02 1,03 1,07 1,11 1,09 1,36 1,36 parece que a leitura do arduino é meio aproximada tanto para mais quanto para menos, elas só ficam iguais quando o gerenciador fica com o mesmo valor por um tempinho, tanto que quando acabo de ligar ambos ficam em 1,02 e quando a sonda termina de aquecer ambos ficam em 1,36 a leitura só fica meio doida no meio do caminho. Será que isso é por causa da tal interpolação linear que o GPT sugeriu? Pensei que a função MAP seria ideal para executar essa função mas ela simplesmente não funcionou, será que é uma faixa muito pequena ela não consegue ser executada corretamente e isso faz ela não funcionar? -
Lote de LM35 com defeito ou falha na programação (Arduino)
GustavoH93 respondeu ao tópico de GustavoH93 em Eletrônica
Wifi ele tem mas parece que não é fácil também e com wifi até onde sei preciso ter um roteador pra conectar o tablet e o arduino ao roteador e aí sim eles conseguem conversar entre sí, só que como precisa ser um treco móvel fica ruim levar um roteador junto fica muita coisa pra pouca coisa, o cabo seria o mais fácil e barato porque não precisaria comprar nada, mas tá terrível programar isso O nano é realmente mais barato, mas será que não teria soquete para o AT328P? Assim a gente solda o soquete na placa e espeta o CI nele. -
Lote de LM35 com defeito ou falha na programação (Arduino)
GustavoH93 respondeu ao tópico de GustavoH93 em Eletrônica
Então pra mim não diria mais fácil eu diria menos difícil mas a ideia é essa mesma, ter um código base para começar e ir adaptando e colocando funções que precisamos, se o chatGPT não ficar 100% pago em breve (o que acho que vai acontecer) ele pode ser mais uma ferramenta pra gente é só saber usar, é tipo um multimetro comum, dá pra fazer muita coisa com ele, mas se for medir DC e colocar na escala de AC vai ter leitura errada, agora sabendo usar pode ser extremamente util. Agora mesmo estou no APP Inventor, e estou reparando que tem coisas parecidas com a programação do arduino tais como: variáveis, funções, cálculos... Mas aquela programação visual me causa estranheza, sei programar bem pouco no arduino agora nessa programação visual "tô boiando". Entendi algumas coisas com os aplicativos de exemplos, baixei um app no celular para se comunicar com o arduino acender e apagar um led quando envio "0" ou "1" o curioso é que não é só espetar o arduino via cabo, quando conecto o celular vai identificar qual modelo de chip USB que está na placa e selecionar o driver correto para se comunicar essa parte é bem complexa, o que estou fazendo é editar este aplicativo para eliminar todas as coisas que não vou utilizar e deixar o mínimo do mínimo para que a comunicação funcione, e depois disso começo a colocar as funções que vou precisar no aplicativo, mas tem que ficar identificando o que não preciso, apagar e ir testando isso leva tempo estou eliminando coisas desde ontem e parece que vai levar um bom tempo pra terminar... Engraçado que via cabo tem pouca coisa na internet, agora por bluetooth tem bem mais coisas e parece ser até mais fácil como @.if mencionou, o duro é que o tablet que vou utilizar é tão jurássico que nem bluetooth tem só dá pra se comunicar via cabo mesmo. Imagino que seja mais barata mesmo, e eu fico todo atrapalhado pra soldar um 555 imagina um SMD Gota de epoxi tipo aqueles que tampam os CI de calculadora de 1,99? Quando era criança achava que aquilo era o chip não uma resina por cima dele kkkkkk Sim mas nos outros tópicos vi que precisava utilizar timerOne para fazer a contagem com precisão aí já diminuem os pinos para essa função e o @Sérgio Lembo me falou sobre o STM, o que vai ser muito bom porque vou utilizar para ficar contando coisas e enviar para o arduino a informação já pronta, fora que utilizando timerOne algumas funções específicas do arduino ficam limitadas, confesso que não entendi bem essa parte mas pesquisando e vendo as respostas nos tópicos essa parece ser a melhor opção. É bem isso mesmo, atualmente um arduino xing ling sai mais barato e praticamente não gasta tempo nenhum em montagem dos componentes, fora que como já está montado é só conectar os componentes que precisa no arduino e pronto, agora se for montar como antigamente além dos custos e tempos pode dar algum erro na montagem e queimar alguma coisa (o que comumente ocorre comigo) -
Lote de LM35 com defeito ou falha na programação (Arduino)
GustavoH93 respondeu ao tópico de GustavoH93 em Eletrônica
Ótimo @Sérgio Lembo vou estudar o STM e como ele pode trabalhar com vários interrupt posso medir mais coisas com ele e depois enviar tudo via I2C para o Arduino MEGA que vai juntar as leituras dos outros sensores e enviar via serial para o monitor. Ótimo isso vai ser a base para o código, conversando com o oráculoGPT ele parece saber programar o STM, duvido que conseguiria programar tudo da forma que eu preciso, mas posso tirar algumas duvidas com ele principalmente pedindo explicação linha por linha do código. O bom é que como você mencionou em outro tópico posso programar o STM via IDE arduino o que facilita pois estou mais familiarizado. Falando nisso a resposta do GPT quando questionei o que ele sabia programar: Interessante, mas já tem alguns planos de assinatura pra ele e são bem salgados por enquanto está liberado como fase de testes, não ficaria surpreso se em algum tempo ele se tornar 100% pago. Pra mim que malemá sei acender os leds com arduino e consegui queimar um com imã no outro tópico tu imagina o desafio kkkkkk mas o bom é que com paciência e ajuda de vocês vamos caminhando. Verdade, a algum tempo no site chines eu tinha procurado ATMega 328p pra comprar e usar stand alone, mas não compensa ele está com diferença de preço de uns 3 reais e se fosse só ele teria que fazer a plaquinha colocar o cristal, capacitores... compensa mais comprar a plaquinha pronta e colocar numa caixinha se for projeto definitivo... Com certeza já estarem na plaquinha facilita muito, é quase plug n' play se for código pronto é só conectar na USB transferir o código e tá pronto, se tivesse que colocar cristal, capacitores, conectar a fonte de alimentação iria afugentar muita gente de querer programar... E com relação aos DVDs me lembro que começaram a chegar os discos Blueray que apesar de ter uma qualidade e capacidade bem superior chegaram juntos com os serviços de streaming, que na ponta do lápis compensavam mais por custarem pouco mais mas oferecer muito mais coisa em cima do valor pago, e isso foi o começo do fim das vídeo-locadoras... -
Lote de LM35 com defeito ou falha na programação (Arduino)
GustavoH93 respondeu ao tópico de GustavoH93 em Eletrônica
Falando nisso parece que tem essa "programação visual" para arduino também, não é o mesmo que programar diretamente em C mas é uma forma de programar, vou ver como vou me sair com essa programação visual no app inventor e depois posso utilizar essa programação para arduino também. Concordo, ele é basicamente a internet, tem bastante conteúdo mas você tem que filtrar e ver o que realmente faz sentido e está correto se não pode acabar caindo em fake news. Criando um código no gpt pode ser util, mas se ele não estiver funcionando corretamente posso achar que está com defeito em um componente ou algum fio mal encaixado enquanto na verdade é código que tem uma falha. Bom pessoal futuramente vou ver se coloco as mãos em um LM35 mas por hora o sensor DS18B20 deve me atender bem, comprei mais sensores e um STM32F030F4P6 por recomendação do @Sérgio Lembo no outro tópico, como é da China vai levar um tempo para chegar. Enquanto isso vou estudar a programação visual no APP Inventor e como comunicar ele com o arduino, em breve vou criar outro tópico para ter auxílio de vocês na leitura dos sensores porque sei que terei duvidas Obrigado a todos que responderam e me ajudaram, vocês são feras \o/\o/\o/ -
Lote de LM35 com defeito ou falha na programação (Arduino)
GustavoH93 respondeu ao tópico de GustavoH93 em Eletrônica
Realmente programação é beem ampla, tem vários tipos e várias funções, paralelo ao tópico estou tentando apreender a usar o APP inventor que é para criar aplicativos e usa programação em blocos, coisa que nunca vi antes e vou precisar para comunicar via serial com arduino... Continuo esmiuçando o ChatGPT e deem uma olhada: este é o código para utilizar dois DS18B20 com a biblioteca Dallastemperatura.h em uma porta digital: Pedi para ele criar outro código com a mesma função mas sem usar a biblioteca dallas: Os dois códigos utilizam (13%) de memória dinâmica, o código sem a dallas utiliza 3712 bytes (11%) de armazenamento e o código com a dallas utiliza 5110 bytes (15%) de armazenamento, mas tem um detalhe bem curioso, O CÓDIGO SEM A DALLAS NÃO FUNCIONA. Com dois sensores no mesmo fio um fica travado em 26 graus e o outro em 0, agora utilizando o código com a biblioteca funciona normal, estranho... O chatGPT cria códigos sim mas também comete erros. @Sérgio Lembo perguntei aquilo que comentamos anteriormente sobre o envio da biblioteca ao arduino e essa foi a resposta: -
Lote de LM35 com defeito ou falha na programação (Arduino)
GustavoH93 respondeu ao tópico de GustavoH93 em Eletrônica
Aí está, programação leva anos para aprender e também quando a pessoa trabalha diretamente com isso fica um pouco mais fácil porque tem contato direto todos os dias, eu mesmo não tenho muito tempo livre então estudo o pouco que dá, assim demora mais porém dá pra começar e aos poucos vou chegando ao objetivo, esse é o legal do forum cada um tem um conhecimento diferente e compartilhando aqui todos acabam se beneficiando. Perguntei isso pro chatgpt a um tempo e ele não programa pic infelizmente, mas isso foi superficial alguma coisa ele pode saber sim. Realmente acaba barateando um pouco, arduino mesmo era caro a uns anos atrás hoje tá bem mais acessível. E eu fiz algo parecido, precisava fazer a leitura da sonda lambda do carro, ela marca de 0 até 1v tentei fazer usando LM3914 e consegui a façanha de não funcionar ainda queimei o dito cujo, depois comprei PicKit 3 e com ajuda do pessoal daqui do forum e do artigo no picsource usei um pic 16f676 pra fazer a mesma coisa e funcionou muito bem. Exatamente, ele tem uma capacidade muito alta para vários projetos eu tenho uma CNC que montei usando um arduino e demonstra como aquilo é poderoso, estou nesse projeto agora para fazer o painel do carro, mas em um aeroclube que fui ano passado o pessoal conseguiu montar um simulador de voo inteiro utilizando arduino. E o ideal é usar ele para essas funções, mas para coisas mais simples, tem CI, PIC e a eletrônica clássica, lembro quando fiz um amplificador de som, era básico e tinha ruidos mas fiquei felizão de ter funcionado kkkkkk Opa obrigado @aphawk vou ler sim, junto com o material que o @Renato.88 me mandou a algum tempo e ainda não li essas coisas são ótimas porque ajudam o iniciante e incentivam a buscar mais conhecimento. Se fossem LM35 estariam zoados mesmo, mas ao que tudo indica eram fakes, testei tudo tudo, usei potenciômetro pra ver a programação, usei capacitores pra filtrar, inverti os terminais, testei com multímetro, mudei a porta de entrada e nada, juntando ao fato de que tem várias mensagens no link da compra alegando que eram falsos então eu diria que fui enganado mesmo Pessoal estou fazendo os testes com o DS18B20 e o chat GPT daqui a pouco posto os resultados. Testes utilizando o ChatGPT e o DS18B20: Primeiro teste utilizando bibliotecas oneWire e DallasTemperature (idêntico ao que o @Thiago Miotto postou) Sketch uses 5384 bytes (16%) of program storage space. Maximum is 32256 bytes. Global variables use 258 bytes (12%) of dynamic memory, leaving 1790 bytes for local variables. Maximum is 2048 bytes. No segundo teste eu pedi para refazer o código anterior apenas utilizando a biblioteca oneWire: Sketch uses 3934 bytes (12%) of program storage space. Maximum is 32256 bytes. Global variables use 232 bytes (11%) of dynamic memory, leaving 1816 bytes for local variables. Maximum is 2048 bytes. Terceiro teste utilizando apenas oneWire e mudei na mão de float para int: Sketch uses 3304 bytes (10%) of program storage space. Maximum is 32256 bytes. Global variables use 220 bytes (10%) of dynamic memory, leaving 1828 bytes for local variables. Maximum is 2048 bytes. Realmente não usar a biblioteca dá diferença no tamanho da programação, e alterar de float para int também altera o tamanho e imagino que poupe bastante recursos do micro. Todos os códigos funcionaram normalmente, o que ultimo que usei int no lugar de float ficou assim: -
Lote de LM35 com defeito ou falha na programação (Arduino)
GustavoH93 respondeu ao tópico de GustavoH93 em Eletrônica
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? 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. 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. 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. 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. -
Lote de LM35 com defeito ou falha na programação (Arduino)
GustavoH93 respondeu ao tópico de GustavoH93 em Eletrônica
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... 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? -
Lote de LM35 com defeito ou falha na programação (Arduino)
GustavoH93 respondeu ao tópico de GustavoH93 em Eletrônica
curiosamente olhei este mesmo site agora pouco, peguei as informações dele e montei na protoboard com o código, funcionou perfeitamente ao contrário do LM35, se bem que esse LM35 era falsificado, mas mesmo assim só de montar e funcionar em menos de 15 minutos é um recorde para mim, a maioria das coisas ou demora horas ou dias ou simplesmente pega fogo... Algumas coisas que vou medir vão ter que ser analógicas mesmo, mas pelo menos utilizando este sensor vou usar uma porta digital isso deixa um pino analógico livre do arduino que eu possa utilizar pra outra coisa. Então mas quanto mais coisas para fazer ou dependendo da forma que os dados são tratados pode afetar a velocidade final não é? Uma coisa que estava pensando é que o DS18B20 utiliza duas bibliotecas para funcionar, e já trata a temperatura como float mas no meu caso não preciso dos números após a virgula, pra deixar como int, teria que 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 só que editar biblioteca deve ser bem complicado e não sei se compensa o que acha? -
Lote de LM35 com defeito ou falha na programação (Arduino)
GustavoH93 respondeu ao tópico de GustavoH93 em Eletrônica
entendi @.if estava esperando pra responder porque tinha comprado 2 LM35 e chegaram hoje e adivinha? Mandaram errado, mandaram o DS18B20 quando abri o pacote até estranhei que vieram resistores juntos, mas agora tô perdido, por um lado o DS18B20 é digital imagino que sofra menos interferência que o LM35. Mas pro DS18B20 funcionar precisa usar uma biblioteca e ele trabalha com uma comunicação chamada OneWire não sei se isso é "pesado''. A ideia é utilizar menos recursos do micro porque ele vai trabalhar fazendo a leitura de vários sensores e vai enviar tudo por serial para o tablet, neste caso o que consome menos recursos o LM35 ou o DS18B20 que é digital? Tô pensando em ficar com o DS18B20 só pra não ter dor de cabeça pra devolver, mas se ele exigir mais recursos que o LM35 então posso devolver... -
Lote de LM35 com defeito ou falha na programação (Arduino)
GustavoH93 respondeu ao tópico de GustavoH93 em Eletrônica
O 328P tem a função analogReference(internal) que deixa a tensão de referencia em 1.1v será que isso seria melhor para medir os diodos? Ou é necessário criar um circuito de amplificação mesmo? @Sérgio Lembo @aphawk Realmente cabo de rede por aqui só vi o comum sem blindagem, será que só o cabo manga com a malha externa funcionaria? Este cabo acho fácil agora o cabo de rede blindado não achei nas lojas aqui. -
Controlar válvula Borboleta de acordo com RPM (Programação Arduino)
GustavoH93 respondeu ao tópico de GustavoH93 em Eletrônica
Também não li material do victor nem do nextion, mas realmente para essa finalidade eles seriam mais indicados, o problema maior é o custo... o orange e o raspberry seriam bem interessantes para um projeto mais rápido, só que não contam com a parte para enviar o vídeo diretamente ao LCD, teria que usar uma placa adaptadora, aí seria o orange + a placa de lcd + o LCD. fica um negócio de muita coisa pra fazer uma coisa só... Aí talvez volte na ideia de usar um tablet só pra exibir a informação, ganhei um tablet de 9 polegadas que ficaria lindo no painel, só que ele usa um android bem antigo e não tem mais atualização pra ele, pro aplicativo rodar teria que instalar um android mais novo utilizando alguma gambiarra e correndo risco de dar pau e o tablet ficar travado. Então estou pensando em arrumar mais dor de cabeça e tentar criar um APP que consiga ler as informações do arduino via cabo USB e que funcione no tablet, deve ser demorado e complicado, mas é o velho ditado o que é um pra quem tá né? Pra deixar o tablet mais rápido tentaria usar algum APP que desliga coisas que não estão em uso como wi-fi e 3g e também. Ainda estou pensativo sobre isso, o que custaria menos e o que daria menos trabalho pra fazer. -
Lote de LM35 com defeito ou falha na programação (Arduino)
GustavoH93 respondeu ao tópico de GustavoH93 em Eletrônica
pior que faz mais de um mês que chegou então não está mais liberado pra abrir reclamação ou pedir reembolso Falamos sim no outro tópico, parece que esse esquema com diodo funciona bem mas precisa colocar a temperatura ambiente no código para que o arduino calcule a temperatura do diodo. Então fiz um comentário no vídeo do electrolab e ele respondeu, dá pra usar um LM35 como base da temperatura para calcular as temperaturas dos diodos, assim facilita porque dá pra usar um unico LM35 e usar vários diodos para ter diferentes fontes de temperatura a vantagem é economizar $$ porque um LM35 custa muito mais que um diodo, se fosse comprar um para cada temperatura que fosse medir iria ficar bem caro. Pior que já passou o prazo, mas já tive problemas de outras compras e fui reembolsado também, mas esse meu caso felizmente é raro, tem muito vendedor bom lá, comprei por exemplo um arduino leonardo e dois uno, funcionou normalmente e saiu pelo mesmo preço de comprar um arduino uno por aqui, é a dica de sempre, ver a reputação da loja ver comentários e ficar atento ao prazo, pena que cometi um deslize dessa vez e não tem mais o que fazer é dinheiro perdido. Vou usar esses cabos manga blindados e usar os capacitores que o @aphawk mencionou, o LM35 vai ser usado no carro então quero evitar ao máximo as interferências ainda mais que tem a bobina de ignição ali perto. O A0 está conectado o tempo todo, o ângulo da foto parece que está vazio mas o cabinho azul está conectado ao A0 e quando troquei por um potenciômetro o código funcionou bem, infelizmente é caso de peça falsificada mesmo. Tentei aqui inverti a alimentação, inverti capacitores e nada do dito cujo funcionar, vou tentar testar como transistor, se funcionar então é transistor mesmo. -
Lote de LM35 com defeito ou falha na programação (Arduino)
GustavoH93 respondeu ao tópico de GustavoH93 em Eletrônica
fiz exatamente isso que me passou @aphawk e a leitura foi pra zero assim que coloquei o capacitor de 47 uF na saída e o terra, se eu tiro esse capacitor e deixo o de 100 uF na alimentação e o terra a leitura fica assim: Temperatura: 0.00 graus Celsius Temperatura: 0.00 graus Celsius Temperatura: 0.00 graus Celsius Temperatura: 1.47 graus Celsius Temperatura: 19.06 graus Celsius Temperatura: 35.68 graus Celsius Temperatura: 33.72 graus Celsius Temperatura: 29.32 graus Celsius Temperatura: 12.71 graus Celsius Temperatura: 0.00 graus Celsius Temperatura: 0.00 graus Celsius Temperatura: 0.00 graus Celsius Temperatura: 0.00 graus Celsius Temperatura: 2.93 graus Celsius Temperatura: 28.84 graus Celsius Temperatura: 35.19 graus Celsius Temperatura: 32.26 graus Celsius Temperatura: 19.55 graus Celsius Temperatura: 0.00 graus Celsius Temperatura: 0.00 graus Celsius essa variação do zero pra 30 e poucos depois voltando pra zero acho que pode ser sinal de defeito do componente, só não coloquei cabo blindado mas ele está a 10cm do arduino deveria ter alguma leitura consistente, mas só tem essa leitura sem sentido coloquei o voltímetro e estava marcando 2,1mV isso é praticamente zero no monitor serial estava a mesma oscilação 35 graus e voltando pro zero depois de um tempo. Mais alguma ideia pessoal? Tô achando que fui realmente sorteado e recebi um lote com LM35 tudo com defeito, testei também pra ver se tinha curto no LM35 e não tinha. vishi pessoal olha o rolo, quando comprei não tinham muitas avaliações as que tinham eram só positivas inclusive de um brasileiro que comprou, agora voltei na lista e tem várias pessoas reclamando que é falso. um comentário aí o rapaz falou que é um transistor e eu coloquei no testador de componentes que tenho aqui apareceu como transistor mesmo: então não restam mais duvidas, fui tapeado mesmo? -
Controlar válvula Borboleta de acordo com RPM (Programação Arduino)
GustavoH93 respondeu ao tópico de GustavoH93 em Eletrônica
1,44 é só o cabinho kkkkk a placa em si tá R$ 65,99 mas mesmo assim não acho tão caro pelas coisas que faz, mas assim é um treco bem limitado se for ver, vou continuar pesquisando. Tipos de monitores ou de placas pra receber a imagem tem um monte, mas as vezes um mais cabeludo que o outro kkkkkk quando chegar a hora de escolher a tela ou tablet ou pc sei lá o que for usar no carro vou abrir um novo tópico e vai ser polemico kkkkk o tal do orange pie parece ser bem interessante é beem mais barato que o raspberry, mas precisa de um adaptador de vídeo porque ele só manda imagem por conexão AV aqueles cabinhos amarelo, branco e vermelho, e não tenho nenhum monitor com essa entrada mas tenho tvs de tubo, bora colocar a TV de tubo de 29 polegadas no carro -
Lote de LM35 com defeito ou falha na programação (Arduino)
GustavoH93 respondeu ao tópico de GustavoH93 em Eletrônica
verifiquei varias vezes, mudei os cabos e nada... liguei com alimentação externa de fonte 5v coloquei o capacitor entre positivo e negativo e coloquei o terra da fonte externa junto com o terra do arduino, a leitura continua doida: Temperatura: 17.11 graus Celsius Temperatura: 8.80 graus Celsius Temperatura: 3.91 graus Celsius Temperatura: 0.00 graus Celsius Temperatura: 0.00 graus Celsius Temperatura: 0.00 graus Celsius Temperatura: 0.00 graus Celsius Temperatura: 0.00 graus Celsius Temperatura: 0.00 graus Celsius Temperatura: 0.00 graus Celsius Temperatura: 1.96 graus Celsius Temperatura: 5.38 graus Celsius Temperatura: 9.29 graus Celsius Temperatura: 13.69 graus Celsius Temperatura: 16.13 graus Celsius Temperatura: 19.06 graus Celsius Temperatura: 20.04 graus Celsius Temperatura: 22.97 graus Celsius Temperatura: 24.44 graus Celsius Temperatura: 25.90 graus Celsius Temperatura: 26.39 graus Celsius Temperatura: 27.37 graus Celsius coloquei o capacitor entre o sinal e o negativo e o sinal e positivo deu isso aqui: Temperatura: 41.06 graus Celsius Temperatura: 41.54 graus Celsius Temperatura: 41.54 graus Celsius Temperatura: 41.54 graus Celsius Temperatura: 42.03 graus Celsius Temperatura: 41.54 graus Celsius Temperatura: 42.03 graus Celsius Temperatura: 42.52 graus Celsius Temperatura: 40.57 graus Celsius Temperatura: 40.57 graus Celsius Temperatura: 41.06 graus Celsius Temperatura: 41.54 graus Celsius Temperatura: 43.01 graus Celsius Temperatura: 42.03 graus Celsius esquentei um pouco o sensor pra ver se mudava mas nada acontece, se tivesse pelo menos mudado o valor estaria mostrando que está funcionando, mas não tá acontecendo nada nada. Vou tentar ligar o sensor direto na alimentação e medir com multimetro sem o arduino conectado vamos ver que tensão vai dar. -
Controlar válvula Borboleta de acordo com RPM (Programação Arduino)
GustavoH93 respondeu ao tópico de GustavoH93 em Eletrônica
depende da finalidade né? Se for pra ligar tudo fixo no painel do carro não tem problema usar fio, ali o que mais tem é fio pra todo lado kkkkkk https://pt.aliexpress.com/item/4000498646640.html?spm=a2g0o.productlist.main.7.176d2ee9JIAuAO&pdp_npi=3%40dis!BRL!300.69!267.61!!!!!%40211be54b16806235520533612d06eb!10000002275139769!sea!BR!881910984&curPageLogUid=LRshSlbRmsHl Fuçando também esbarrei com esse orange pie, acho que é um clone genérico do raspberry, será que presta? O raspberry tá custando uma nota preta... https://pt.aliexpress.com/item/1005004669954078.html?spm=a2g0o.productlist.main.3.176d2ee9JIAuAO&pdp_npi=3%40dis!BRL!207.0!207.0!!!!!%40211be54b16806235520533612d06eb!12000030046028042!sea!BR!881910984&curPageLogUid=eZ8S7SKLHAjm -
Lote de LM35 com defeito ou falha na programação (Arduino)
GustavoH93 respondeu ao tópico de GustavoH93 em Eletrônica
coloquei, com ele a leitura fica estável: Temperatura: 0.00 graus Celsius Temperatura: 0.00 graus Celsius Temperatura: 0.00 graus Celsius Temperatura: 27.37 graus Celsius Temperatura: 52.79 graus Celsius Temperatura: 76.25 graus Celsius Temperatura: 96.77 graus Celsius a partir daqui deixei o potenciômetro parado Temperatura: 99.70 graus Celsius Temperatura: 99.70 graus Celsius Temperatura: 99.70 graus Celsius Temperatura: 99.70 graus Celsius Temperatura: 99.70 graus Celsius Temperatura: 99.70 graus Celsius Temperatura: 99.22 graus Celsius Temperatura: 99.70 graus Celsius Temperatura: 99.70 graus Celsius Temperatura: 99.70 graus Celsius Temperatura: 99.70 graus Celsius com isso concluímos que o código está bom, então o problema é o sensor mesmo ou interferência certo? coloquei um eletrolítico de 10uF entre a saída do sinal e o negativo, foram essas foram as leituras: Temperatura: 18.57 graus Celsius Temperatura: 18.57 graus Celsius Temperatura: 18.57 graus Celsius Temperatura: 19.06 graus Celsius Temperatura: 19.06 graus Celsius Temperatura: 19.55 graus Celsius Temperatura: 19.55 graus Celsius Temperatura: 19.55 graus Celsius Temperatura: 19.55 graus Celsius Temperatura: 19.55 graus Celsius Temperatura: 19.55 graus Celsius Temperatura: 20.04 graus Celsius Temperatura: 19.55 graus Celsius Temperatura: 19.55 graus Celsius com o capacitor entre a saída do sinal e o positivo, foram essas as leituras: Temperatura: 45.94 graus Celsius Temperatura: 45.94 graus Celsius Temperatura: 45.94 graus Celsius Temperatura: 45.94 graus Celsius Temperatura: 45.45 graus Celsius Temperatura: 45.94 graus Celsius Temperatura: 45.45 graus Celsius Temperatura: 45.45 graus Celsius Temperatura: 44.97 graus Celsius Temperatura: 45.45 graus Celsius Temperatura: 45.45 graus Celsius Temperatura: 43.99 graus Celsius Temperatura: 44.97 graus Celsius com o capacitor entre o positivo e negativo a leitura fica em 0 Temperatura: 0.00 graus Celsius Temperatura: 0.00 graus Celsius Temperatura: 0.00 graus Celsius Temperatura: 0.00 graus Celsius Temperatura: 0.00 graus Celsius Temperatura: 0.00 graus Celsius Temperatura: 0.00 graus Celsius Temperatura: 0.00 graus Celsius Temperatura: 0.00 graus Celsius Se ligar em 3.3v os resultados ficam parecidos... não está, o azul é o sinal está bem no pino central do LM35 -
Controlar válvula Borboleta de acordo com RPM (Programação Arduino)
GustavoH93 respondeu ao tópico de GustavoH93 em Eletrônica
Eu diria que roda sim, mas este meu tablet é tão antigo que não tem bluetooth será que esse app funciona por cabo usb também? @.if Já tinha visto uma plaquinha dessas? Estão vendendo nos sites chineses e no ML também, é uma placa com conectores pra colocar uma tela LCD, que pode ser tela de tablet ou tela de monitor de notebook, é quase universal aceita varias telas... E roda android 9.0 serve pra funcionar como smarttv, tá com preço interessante o duro é saber se essas plaquinhas conseguem rodar os programas tipo o realdash ou o bluetooth electronics ou se só serve pra rodar ytb e Nflix. -
Lote de LM35 com defeito ou falha na programação (Arduino)
GustavoH93 respondeu ao tópico de GustavoH93 em Eletrônica
comentei as linhas anteriores e deixei a sua, ficou assim: // Converter o valor em temperatura // float temperature = (sensorValue * 0.48875); float temperature = ((float)sensorValue) * 0.48875; //transforma temporariamente em float Compilou sem erros mas o problema persiste a leitura ainda está doida: Temperatura: 0.00 graus Celsius Temperatura: 0.00 graus Celsius Temperatura: 0.00 graus Celsius Temperatura: 0.00 graus Celsius Temperatura: 1.47 graus Celsius Temperatura: 2.93 graus Celsius Temperatura: 4.89 graus Celsius Temperatura: 9.29 graus Celsius Temperatura: 15.15 graus Celsius Temperatura: 21.02 graus Celsius Temperatura: 26.88 graus Celsius Temperatura: 30.79 graus Celsius Temperatura: 30.30 graus Celsius Temperatura: 26.39 graus Celsius Temperatura: 20.04 graus Celsius Temperatura: 15.15 graus Celsius Temperatura: 3.91 graus Celsius Temperatura: 0.00 graus Celsius Temperatura: 0.00 graus Celsius Temperatura: 0.00 graus Celsius Curioso a leitura fica oscilando, começa em 0 depois vai subindo chega perto de 40 graus e depois vai caindo até voltar pro zero, aí começa a subir e fica nisso eternamente... segui essa ligação: analog out está na A0 está uma ligação muito simples não entendo o que está acontecendo de errado... -
Lote de LM35 com defeito ou falha na programação (Arduino)
GustavoH93 postou um tópico em Eletrônica
Boa noite pessoal, estou criando um sisteminha que vai pegar várias informações do motor do carro e exibir em uma telinha, como: temperatura do ar, pressão de óleo, RPM,... Se fosse com injeção eletrônica bastava apenas ler as informações diretamente da central de injeção, mas como é um carro com carburador tenho que ler sensor por sensor pra ter a informação que desejo, pra começar preciso saber a temperatura ambiente e pra isso comprei 5 peças do LM35 da china para ficar mais baratinho. Só que das 5 peças todas estão com uma leitura de temperatura doidissíma, estou usando um código bem simples para testar o sensores: const int sensorPin = A0; void setup() { // Inicializar comunicação serial Serial.begin(9600); } void loop() { // Ler o valor do sensor int sensorValue = analogRead(sensorPin); // Converter o valor em temperatura float temperature = (sensorValue * 0.48875); // Exibir a temperatura no monitor serial Serial.print("Temperatura: "); Serial.print(temperature); Serial.println(" graus Celsius"); // Aguardar um segundo antes de ler o sensor novamente delay(1000); } A leitura do monitor serial está informando temperaturas absurdas: Temperatura: 37.15 graus Celsius Temperatura: 33.72 graus Celsius Temperatura: 20.53 graus Celsius Temperatura: 7.82 graus Celsius Temperatura: 0.00 graus Celsius Temperatura: 37.15 graus Celsius Temperatura: 33.72 graus Celsius Temperatura: 20.53 graus Celsius Temperatura: 7.82 graus Celsius Temperatura: 0.00 graus Celsius Temperatura: 0.00 graus Celsius Temperatura: 0.00 graus Celsius Temperatura: 0.00 graus Celsius Temperatura: 0.00 graus Celsius Temperatura: 0.00 graus Celsius Temperatura: 0.00 graus Celsius Temperatura: 0.98 graus Celsius Temperatura: 13.20 graus Celsius Temperatura: 44.48 graus Celsius Temperatura: 40.08 graus Celsius Temperatura: 38.61 graus Celsius Temperatura: 33.24 graus Celsius Temperatura: 18.08 graus Celsius Temperatura: 0.00 graus Celsius Coloquei o voltímetro no LM35 e na escala de 200mV assim que eu conecto o voltimetro marca 7,1mV e vai caindo até ficar em 1,5mV isso daria menos que 0,10 °C agora não sei não, tô fazendo alguma bobagem no código ou realmente o lote veio com problema? Tiro um LM35 e coloco outro dá tudo igual os resultados, tanto no voltímetro quanto no monitor serial, alguém sabe se estou fazendo algo errado aqui ou realmente veio tudo com defeito?
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