Projetos - Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)2024-03-29T01:34:47Zhttps://labdegaragem.com/forum/categories/projetos-1/listForCategory?categoryId=6223006%3ACategory%3A28704&feed=yes&xn_auth=noRastreador solar 2 eixos, com 3 modos de operacaotag:labdegaragem.com,2023-11-05:6223006:Topic:8956532023-11-05T01:40:41.391ZJaniohttps://labdegaragem.com/profile/Janio
<p>Boa noite! Estou com uma certa dificuldade para realizar a mudança de modo do meu rastreador solar! O objetivo é o seguinte: com 1 botão eu pretendo fazer o arduino executar 3 códigos diferentes, sendo o primeiro o modo estaconário, o segundo o modo LDR, e o terceiro entra no modo RTC DS 1302.</p>
<p>A lógica é a seguinte: no modo LDR ele faz a varredura pela diferença entre os LDRs e faz o movimento dos motores de modo a posicionar o módulo em direção ao sol, (essa parte está ok). O modo…</p>
<p>Boa noite! Estou com uma certa dificuldade para realizar a mudança de modo do meu rastreador solar! O objetivo é o seguinte: com 1 botão eu pretendo fazer o arduino executar 3 códigos diferentes, sendo o primeiro o modo estaconário, o segundo o modo LDR, e o terceiro entra no modo RTC DS 1302.</p>
<p>A lógica é a seguinte: no modo LDR ele faz a varredura pela diferença entre os LDRs e faz o movimento dos motores de modo a posicionar o módulo em direção ao sol, (essa parte está ok). O modo RTC vai ter 12 posicoes pré determinadas, dependendo apenas da hora do dia (ESSA PARTE É O PROBLEMA), já o modo estacionário vai ficar parado em uma inclinação especifica(ESSA PARTE ESTÀ OK). A idéia por tras disso é a seguinte: a cada hora vou medir corrente e tensão no módulo, e quero comparar a eficiencia dos 3 modos distintos. Estou utilizando Arduino UNO, DVR 8825 controlador de motor de passo LDRs e DS 1302 RTC. O Código está assim por enquanto; </p>
<p>#include <AccelStepper.h><br/>#include <ThreeWire.h><br/>#include <RtcDS1302.h></p>
<p></p>
<p>// Pinos dos sensores LDR</p>
<p>int ldrLeftTopPin = A2; // ama<br/>int ldrLeftBottomPin = A0; // ver<br/>int ldrRightTopPin = A3; // lar<br/>int ldrRightBottomPin = A1; // pre<br/>int limiar = 20; // Valor para corrigir diferença entre os LDR's<br/>int Vel = 500; // Velocidade do motor em passos por segudo<br/>int MaxSpeed = 1000; // Velocidade máxima que o motor pode atingir<br/>int Acelera = 500; // Aceleração dos motores<br/>int modo = 0;// 0 = Estacionário, 1 = LDR, 2 = DS1302<br/>int BUTTON_PIN = 7; // Pino do botão<br/>const int NUM_MODOS = 3;</p>
<p>// Pinos dos motores de passo<br/>#define azimuthDirPin 2<br/>#define azimuthStepPin 3<br/>#define elevationDirPin 4<br/>#define elevationStepPin 5<br/>#define motorInterfaceType 1 //Motor com dois fios para cada bobina (2 bobinas)</p>
<p>// Pinos RTC<br/>#define DS1302_RST 8<br/>#define DS1302_DAT 9<br/>#define DS1302_CLK 10</p>
<p>// Instância da ligação e do RTC<br/>ThreeWire ligacao(DS1302_DAT, DS1302_CLK, DS1302_RST);<br/>RtcDS1302<ThreeWire> rtc(ligacao);<br/>bool buttonWasPressed = false;<br/>bool buttonState = false;<br/>bool lastButtonState = false;<br/>unsigned long lastDebounceTime = 0;<br/>unsigned long debounceDelay = 50;</p>
<p><br/>// Instância da classe AccelStepper para cada motor<br/>AccelStepper azimuthStepper(motorInterfaceType, azimuthStepPin, azimuthDirPin);<br/>AccelStepper elevationStepper(motorInterfaceType, elevationStepPin, elevationDirPin);</p>
<p>void setup() {<br/> // Inicia a comunicação serial<br/> Serial.begin(9600);<br/> // Velocidade máxima em passos por segundo para ambos os motores<br/> azimuthStepper.setMaxSpeed(MaxSpeed); <br/> azimuthStepper.setAcceleration(Acelera); <br/> elevationStepper.setMaxSpeed(MaxSpeed);<br/> elevationStepper.setAcceleration(Acelera); <br/> pinMode(BUTTON_PIN, INPUT_PULLUP);<br/> // Inicia a comunicação com o RTC<br/> rtc.Begin();<br/> // Desabilita a proteção contra escrita para gravar a hora e data<br/> if (rtc.GetIsWriteProtected())<br/> {<br/> rtc.SetIsWriteProtected(false);<br/> }</p>
<p>// Se não estava rodando, começa a funcionar<br/> if (!rtc.GetIsRunning())<br/> {<br/> rtc.SetIsRunning(true);<br/> // Obtém o valor da hora quando o código foi compilado<br/> RtcDateTime compiled = RtcDateTime(__DATE__, __TIME__);<br/> rtc.SetDateTime(compiled);<br/> // Para definir um formato personalizado, você pode fazer o seguinte:<br/> // O mês precisa ter 3 letras abreviando o nome do mês em inglês (no exemplo abaixo é fevereiro)<br/> //RtcDateTime teste = RtcDateTime("Feb 12 2022", "19:32:45");<br/> //rtc.SetDateTime(teste);<br/> }<br/>}</p>
<p>void loop() {<br/> unsigned long currentMillis = millis();<br/> buttonState = digitalRead(BUTTON_PIN);</p>
<p>if (buttonState != lastButtonState) {<br/> lastDebounceTime = currentMillis;<br/> }</p>
<p>if ((currentMillis - lastDebounceTime) > debounceDelay) {<br/> if (buttonState != buttonWasPressed) {<br/> buttonWasPressed = buttonState;</p>
<p>if (buttonWasPressed) {<br/> // Botão pressionado, alterna entre os modos<br/> modo = (modo + 1) % NUM_MODOS;<br/> }<br/> }<br/> }</p>
<p>lastButtonState = buttonState;<br/> switch (modo) {<br/> case 0: // Modo Estacionário<br/> // Coloque o código para o modo estacionário aqui<br/> Serial.print("MODO : " ); // Mostra o valor no monitor serial<br/> Serial.println(modo);<br/> break;</p>
<p>case 1: // Modo LDR<br/> Serial.print("MODO : " ); // Mostra o valor no monitor serial<br/> Serial.println(modo);<br/> // Leitura dos sensores LDR<br/> int ldrLeftTopValue = analogRead(ldrLeftTopPin);<br/> int ldrLeftBottomValue = analogRead(ldrLeftBottomPin);<br/> int ldrRightTopValue = analogRead(ldrRightTopPin);<br/> int ldrRightBottomValue = analogRead(ldrRightBottomPin);</p>
<p>// Calculando as diferenças para ambos os eixos<br/> int azimuthDifference = (ldrLeftTopValue - ldrRightTopValue) + (ldrLeftBottomValue - ldrRightBottomValue);<br/> int elevationDifference = (ldrLeftTopValue - ldrLeftBottomValue) + (ldrRightTopValue - ldrRightBottomValue);<br/> <br/> // Ajustando a posição dos motores de passo com base nas diferenças dos sensores<br/> if (abs(azimuthDifference) > limiar) { // Limiar de diferença para evitar pequenos movimentos<br/> if (azimuthDifference > 0) {<br/> // Mova o motor de passo de azimuth para a esquerda<br/> azimuthStepper.setSpeed(Vel); <br/> azimuthStepper.runSpeed(); // Move o motor <br/> } else {<br/> // Mova o motor de passo de azimuth para a direita<br/> azimuthStepper.setSpeed(-Vel); // (sentido inverso)<br/> azimuthStepper.runSpeed(); // Move o motor <br/> }<br/> }</p>
<p>if (abs(elevationDifference) > limiar) { // Limiar de diferença para evitar pequenos movimentos<br/> if (elevationDifference > 0) {<br/> // Mova o motor de passo de elevação para cima<br/> elevationStepper.setSpeed(Vel); // <br/> elevationStepper.runSpeed(); // Move o motor<br/> } else {<br/> // Mova o motor de passo de elevação para baixo<br/> elevationStepper.setSpeed(-Vel); // (sentido inverso)<br/> elevationStepper.runSpeed(); // Move o motor <br/> }<br/> }<br/> break;<br/> case 2: // Modo DS1302<br/> Serial.print("MODO : " ); // Mostra o valor no monitor serial<br/> Serial.println(modo);<br/> // Obtem a data e hora e imprime os valores<br/> RtcDateTime now = rtc.GetDateTime();</p>
<p>Serial.print(now.Day());<br/> Serial.print("/");<br/> Serial.print(now.Month());<br/> Serial.print("/");<br/> Serial.println(now.Year());</p>
<p>Serial.print(now.Hour());<br/> Serial.print(":");<br/> Serial.print(now.Minute());<br/> Serial.print(":");<br/> Serial.println(now.Second());</p>
<p>// Dia da semana (1 a 7, sendo 1 = segunda e 7 = domingo)<br/> Serial.println(now.DayOfWeek());<br/> <br/> delay(50);<br/> break;<br/> }<br/>}</p> Acionamento de display sete segmentos 12Vtag:labdegaragem.com,2023-10-10:6223006:Topic:8954192023-10-10T13:20:10.074ZFabio R Cardosohttps://labdegaragem.com/profile/FabioRCardoso
<p>Amigos, tenho que acionar, com arduino, um display de sete segmentos, funciona com 12V, catodo comum... fiz um esquema de ligação no proteus pra ligar um segmento.</p>
<p></p>
<p><a href="https://storage.ning.com/topology/rest/1.0/file/get/12246085471?profile=original" rel="noopener" target="_blank"><img class="align-full" src="https://storage.ning.com/topology/rest/1.0/file/get/12246085471?profile=RESIZE_710x"></img></a></p>
<p></p>
<p>Estou alimentando o display e o arduino com uma fonte de computador. O botão simula a porta do arduino saturando o TIP 32B (PNP). Os leds em série correspondem a um…</p>
<p>Amigos, tenho que acionar, com arduino, um display de sete segmentos, funciona com 12V, catodo comum... fiz um esquema de ligação no proteus pra ligar um segmento.</p>
<p></p>
<p><a href="https://storage.ning.com/topology/rest/1.0/file/get/12246085471?profile=original" target="_blank" rel="noopener"><img src="https://storage.ning.com/topology/rest/1.0/file/get/12246085471?profile=RESIZE_710x" class="align-full"/></a></p>
<p></p>
<p>Estou alimentando o display e o arduino com uma fonte de computador. O botão simula a porta do arduino saturando o TIP 32B (PNP). Os leds em série correspondem a um segmento do display.<br/><br/>Esse protótipo funciona no proteus, mas quero me certificar que não danificarei o arduino e o display, devido aos 12V.</p>
<p></p>
<p>Agradeço a atenção.</p> Leitor de mesa RFIDtag:labdegaragem.com,2023-10-07:6223006:Topic:8950982023-10-07T20:46:24.244Zluiz silveirahttps://labdegaragem.com/profile/luizsilveira
<p>Saldações meus/minhas colegas<br></br> <br></br> Estou com um projetinho para fazer mas infeliesmente não tenho Habilidades o suficientes ainda.</p>
<p></p>
<p>Tenho o seguinte hardware:</p>
<p></p>
<p>Um Arduino Leonardo um Arduino Pro-Micro(que pelas especificações são o mesmo)<br></br> <br></br> Uma leitora RFID da "HID", mas especificadamente uma FP3511A com protocolo ABA Track 2</p>
<p></p>
<p>Pretenção:<br></br> <br></br> Preciso montar uma leitora usb que leia os cartões e escreva como se fosse um…</p>
<p>Saldações meus/minhas colegas<br/> <br/> Estou com um projetinho para fazer mas infeliesmente não tenho Habilidades o suficientes ainda.</p>
<p></p>
<p>Tenho o seguinte hardware:</p>
<p></p>
<p>Um Arduino Leonardo um Arduino Pro-Micro(que pelas especificações são o mesmo)<br/> <br/> Uma leitora RFID da "HID", mas especificadamente uma FP3511A com protocolo ABA Track 2</p>
<p></p>
<p>Pretenção:<br/> <br/> Preciso montar uma leitora usb que leia os cartões e escreva como se fosse um teclado</p>
<p></p>
<p>motivo:<br/> <br/> consegui um emprego temporário em uma recepção de um predio e tenho de lidar com esse cartões durante todo o meu dia, issso esta me atrasando em certos momentos pois tenhao de digitar esse numeros todos... Ai pensei em fazer uma para facilitar.<br/></p>
<p>Como as coisas não estão faceis tenho medo de perder esse emprego, ja passei um bo tempo desempregado, e não quero perder essa oportunidade.<br/> <br/> os arduino ja tinha em casa, esse leitora consegui com o funcionario da manutenção do predio que me disse que ia para o lixa ja estava junto com um monte e de equipamentos velhos. <br/></p>
<p>A ultima vez que mexi com arduino foi na faculdade e ja nem lembro muito.</p>
<p></p>
<p>Me desculpa pela historia triste, mais quero ser cinsero com vocês. </p>
<p></p>
<p>A quem puder me ajudar agraço de mais.</p>
<p></p>
<p>Caso eu tenha postado isso em local errado por favor me informe por favor.</p> (RESOLVIDO) Interferência Eletromagnética em Arduino por partida de Choppeiratag:labdegaragem.com,2023-07-12:6223006:Topic:8938502023-07-12T02:33:22.674ZPedro Henrique Ribeiro Soareshttps://labdegaragem.com/profile/PedroHenriqueRibeiroSoares
<p><span style="font-size: 14pt;">Bom dia (ou boa noite) colegas. Estou com um problema e gostaria de palpites sobre como resolve-lo.</span></p>
<p><span style="font-size: 14pt;">Tenho um projeto de balança, que trabalha com 04 células de carga, 01 Esp32 (Wemos d1 R32) e 01 Display LCD 16x2. Basicamente, a função desse projeto é pesar barris de Chopp e informar o peso ao display e a uma plataforma IoT além de disparar alarmes em pesos específicos. Até aí, tudo certo, a conexão com Wi-Fi…</span></p>
<p><span style="font-size: 14pt;">Bom dia (ou boa noite) colegas. Estou com um problema e gostaria de palpites sobre como resolve-lo.</span></p>
<p><span style="font-size: 14pt;">Tenho um projeto de balança, que trabalha com 04 células de carga, 01 Esp32 (Wemos d1 R32) e 01 Display LCD 16x2. Basicamente, a função desse projeto é pesar barris de Chopp e informar o peso ao display e a uma plataforma IoT além de disparar alarmes em pesos específicos. Até aí, tudo certo, a conexão com Wi-Fi funciona bem, o peso não mostra alteração alguma, porém quando a Choppeira da partidas em seu motor para refrigeração o display fica "maluco", mostra caracteres estranhos e algumas vezes dispara os alarmes todos de uma vez. Enfim, aceito dicas e opiniões.</span></p>
<p></p>
<p><span style="font-size: 14pt;">Utilizo uma fonte selada (como as de notebook) 12V 5A para alimentar o sistema, e um regulador de tensão 7805 para alimentação dos módulos, visto que a plataforma Wemos não tem uma boa fama sobre seu 5v.</span></p>
<p></p>
<p><span style="font-size: 14pt;">Pra quem busca a solução aqui vai: Adicionei uma lâmpada incandescente em paralelo as solenóides da choppeira, e os ruídos no rádio diminuíram consideravelmente e meu problema com a "maluquice" do Wemos se foi.</span></p> Sirene para disparo de dias da semana e horario pré definidos em fabricatag:labdegaragem.com,2023-06-12:6223006:Topic:8930922023-06-12T11:45:28.473ZFabio Luciano de Oliveirahttps://labdegaragem.com/profile/FabioLucianodeOliveira
<p>Estou tendo dificuldades em acrescentar um 0 na frente dos segundos e minutos quando nao for numero decimal </p>
<p></p>
<p></p>
<p><a href="https://pastebin.com/xd1F0FCd">https://pastebin.com/xd1F0FCd</a></p>
<p>Estou tendo dificuldades em acrescentar um 0 na frente dos segundos e minutos quando nao for numero decimal </p>
<p></p>
<p></p>
<p><a href="https://pastebin.com/xd1F0FCd">https://pastebin.com/xd1F0FCd</a></p> Esp32 usando um leitor de código de barras comercial.tag:labdegaragem.com,2023-06-05:6223006:Topic:8929692023-06-05T11:02:32.929ZCaiohttps://labdegaragem.com/profile/Caio557
Olá Srs.<br />
<br />
Na empresa em que trabalho, eles precisam monitorar informações do que está rodando em cada máquina. Atualmente esse monitoramento é feito de forma extremamente arcaica, usando papel (Manual)que demora mais que 80 minutos. Eles já utilizam leitores de código de barras, mas de maneira limitada. Pensei em usar um esp32 Wroom, juntamente com o leitor de código de barras(honeywell)para através de ciclos de leitura o esp32 mandar esses dados para uma planilha deles no excel (já sei fazer),…
Olá Srs.<br />
<br />
Na empresa em que trabalho, eles precisam monitorar informações do que está rodando em cada máquina. Atualmente esse monitoramento é feito de forma extremamente arcaica, usando papel (Manual)que demora mais que 80 minutos. Eles já utilizam leitores de código de barras, mas de maneira limitada. Pensei em usar um esp32 Wroom, juntamente com o leitor de código de barras(honeywell)para através de ciclos de leitura o esp32 mandar esses dados para uma planilha deles no excel (já sei fazer), o que encurtaria o trabalho para 10 minutos. Minha maior dúvida é sobre o Leitor, ele tem saida USB. Precisarei usar um host USB-serial? posso colocar a pegar os dados de informação direto do Usb para as entradas seriais do esp? preciso usar alguma interface de segurança (Resistores). Qualquer ajuda é bem vinda. Esp32 usando um leitor de código de barras comercial.tag:labdegaragem.com,2023-06-05:6223006:Topic:8928712023-06-05T11:02:32.865ZCaiohttps://labdegaragem.com/profile/Caio557
Olá Srs.<br />
<br />
Na empresa em que trabalho, eles precisam monitorar informações do que está rodando em cada máquina. Atualmente esse monitoramento é feito de forma extremamente arcaica, usando papel (Manual)que demora mais que 80 minutos. Eles já utilizam leitores de código de barras, mas de maneira limitada. Pensei em usar um esp32 Wroom, juntamente com o leitor de código de barras(honeywell)para através de ciclos de leitura o esp32 mandar esses dados para uma planilha deles no excel (já sei fazer),…
Olá Srs.<br />
<br />
Na empresa em que trabalho, eles precisam monitorar informações do que está rodando em cada máquina. Atualmente esse monitoramento é feito de forma extremamente arcaica, usando papel (Manual)que demora mais que 80 minutos. Eles já utilizam leitores de código de barras, mas de maneira limitada. Pensei em usar um esp32 Wroom, juntamente com o leitor de código de barras(honeywell)para através de ciclos de leitura o esp32 mandar esses dados para uma planilha deles no excel (já sei fazer), o que encurtaria o trabalho para 10 minutos. Minha maior dúvida é sobre o Leitor, ele tem saida USB. Precisarei usar um host USB-serial? posso colocar a pegar os dados de informação direto do Usb para as entradas seriais do esp? preciso usar alguma interface de segurança (Resistores). Qualquer ajuda é bem vinda. Esp32 usando um leitor de código de barras comercial.tag:labdegaragem.com,2023-06-05:6223006:Topic:8928702023-06-05T11:02:31.973ZCaiohttps://labdegaragem.com/profile/Caio557
Olá Srs.<br />
<br />
Na empresa em que trabalho, eles precisam monitorar informações do que está rodando em cada máquina. Atualmente esse monitoramento é feito de forma extremamente arcaica, usando papel (Manual)que demora mais que 80 minutos. Eles já utilizam leitores de código de barras, mas de maneira limitada. Pensei em usar um esp32 Wroom, juntamente com o leitor de código de barras(honeywell)para através de ciclos de leitura o esp32 mandar esses dados para uma planilha deles no excel (já sei fazer),…
Olá Srs.<br />
<br />
Na empresa em que trabalho, eles precisam monitorar informações do que está rodando em cada máquina. Atualmente esse monitoramento é feito de forma extremamente arcaica, usando papel (Manual)que demora mais que 80 minutos. Eles já utilizam leitores de código de barras, mas de maneira limitada. Pensei em usar um esp32 Wroom, juntamente com o leitor de código de barras(honeywell)para através de ciclos de leitura o esp32 mandar esses dados para uma planilha deles no excel (já sei fazer), o que encurtaria o trabalho para 10 minutos. Minha maior dúvida é sobre o Leitor, ele tem saida USB. Precisarei usar um host USB-serial? posso colocar a pegar os dados de informação direto do Usb para as entradas seriais do esp? preciso usar alguma interface de segurança (Resistores). Qualquer ajuda é bem vinda. Esp32 usando um leitor de código de barras comercial.tag:labdegaragem.com,2023-06-05:6223006:Topic:8928692023-06-05T11:02:29.014ZCaiohttps://labdegaragem.com/profile/Caio557
Olá Srs.<br />
<br />
Na empresa em que trabalho, eles precisam monitorar informações do que está rodando em cada máquina. Atualmente esse monitoramento é feito de forma extremamente arcaica, usando papel (Manual)que demora mais que 80 minutos. Eles já utilizam leitores de código de barras, mas de maneira limitada. Pensei em usar um esp32 Wroom, juntamente com o leitor de código de barras(honeywell)para através de ciclos de leitura o esp32 mandar esses dados para uma planilha deles no excel (já sei fazer),…
Olá Srs.<br />
<br />
Na empresa em que trabalho, eles precisam monitorar informações do que está rodando em cada máquina. Atualmente esse monitoramento é feito de forma extremamente arcaica, usando papel (Manual)que demora mais que 80 minutos. Eles já utilizam leitores de código de barras, mas de maneira limitada. Pensei em usar um esp32 Wroom, juntamente com o leitor de código de barras(honeywell)para através de ciclos de leitura o esp32 mandar esses dados para uma planilha deles no excel (já sei fazer), o que encurtaria o trabalho para 10 minutos. Minha maior dúvida é sobre o Leitor, ele tem saida USB. Precisarei usar um host USB-serial? posso colocar a pegar os dados de informação direto do Usb para as entradas seriais do esp? preciso usar alguma interface de segurança (Resistores). Qualquer ajuda é bem vinda. Contagem de medição de corrente com o arduinotag:labdegaragem.com,2023-04-03:6223006:Topic:8916002023-04-03T19:04:55.030ZLuiz Felipe Antunes Barbosahttps://labdegaragem.com/profile/LuizFelipeAntunesBarbosa
Boa tarde.<br />
<br />
Estou precisando limitar a medição de corrente utilizando o analogRead() em 200 medições, por exemplo.<br />
Exemplo:<br />
01 - 5A<br />
02 - 4,98A<br />
03 - 4,95A<br />
..<br />
200 - -5A.<br />
<br />
Preciso limitar essas medições para através de um comando, gerar um sinal de duzentos pontos para criar uma senoide e uma FFT.<br />
<br />
Alguém pode me ajudar com sugestoes?
Boa tarde.<br />
<br />
Estou precisando limitar a medição de corrente utilizando o analogRead() em 200 medições, por exemplo.<br />
Exemplo:<br />
01 - 5A<br />
02 - 4,98A<br />
03 - 4,95A<br />
..<br />
200 - -5A.<br />
<br />
Preciso limitar essas medições para através de um comando, gerar um sinal de duzentos pontos para criar uma senoide e uma FFT.<br />
<br />
Alguém pode me ajudar com sugestoes?