Todas as Discussões Marcadas 'Display' - Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)2024-03-29T14:05:15Zhttps://labdegaragem.com/forum/topic/listForTag?tag=Display&feed=yes&xn_auth=noERRO quando vou salvar na EEPROM através do NEXTIONtag:labdegaragem.com,2020-07-21:6223006:Topic:7376452020-07-21T19:47:32.178ZBreno Vieira dos Santoshttps://labdegaragem.com/profile/BrenoVieiradosSantos
<p>Boa tarde!</p>
<p>Informações importantes:<br></br>Placa ESP32 DEVKIT V1<br></br>IDE Arduino versão 1.8.12<br></br>Display Serial Touch 2.4" 320x240 IHM Nextion NX3224T024_011</p>
<p></p>
<p>Alguém poderia me ajudar nesse projeto?</p>
<ul>
<li>A ideia desse projeto é definir o nome da rede e da senha do WIFI através de uma interface criada com display NEXTION integrado a uma placa ESP32. (obs: por enquanto, implementar só nome da rede já vai ajudar muito).</li>
<li>O nome dessa rede deve ser salvo na…</li>
</ul>
<p>Boa tarde!</p>
<p>Informações importantes:<br/>Placa ESP32 DEVKIT V1<br/>IDE Arduino versão 1.8.12<br/>Display Serial Touch 2.4" 320x240 IHM Nextion NX3224T024_011</p>
<p></p>
<p>Alguém poderia me ajudar nesse projeto?</p>
<ul>
<li>A ideia desse projeto é definir o nome da rede e da senha do WIFI através de uma interface criada com display NEXTION integrado a uma placa ESP32. (obs: por enquanto, implementar só nome da rede já vai ajudar muito).</li>
<li>O nome dessa rede deve ser salvo na memória EEPROM da esp.Desta forma, quando reiniciar o sistema, o nome da rede salvo na memória continuará fazendo a conexão automática do WIFI.</li>
<li>Mas o usuário TAMBÉM poderá reconfigurar o nome da rede a partir de um botão RESET.</li>
</ul>
<p><br/>Nos testes que realizei não estou conseguindo mostra a informação sendo salva na memória e sempre que reinicio a placa ou desligo a fonte, o sistema pede que insira a rede novamente.</p> DISPLAY I2Ctag:labdegaragem.com,2020-06-09:6223006:Topic:7342282020-06-09T23:49:33.209ZMURILO DE SOUZA ZANGIROLAMIhttps://labdegaragem.com/profile/MURILODESOUZAZANGIROLAMI
<p>Boa noite, </p>
<p>Devido a quarentena, eu e minha família estamos jogando cacheta todos os dias, e com isso decidi fazer um contador dos pontos, para 4 players.</p>
<p>O código está funcionando corretamente! </p>
<p>Como acabou meus push buttons, acabei colocando o pino 13 no vcc, e quando eu tiro, posso adicionar o ponto, caso eu aperte errado em quem bateu.</p>
<p>Enfim, o placar vai aparecendo em um display de 7 segmentos, de 4 números, o 3461BS.</p>
<p>Agora que começa o…</p>
<p>Boa noite, </p>
<p>Devido a quarentena, eu e minha família estamos jogando cacheta todos os dias, e com isso decidi fazer um contador dos pontos, para 4 players.</p>
<p>O código está funcionando corretamente! </p>
<p>Como acabou meus push buttons, acabei colocando o pino 13 no vcc, e quando eu tiro, posso adicionar o ponto, caso eu aperte errado em quem bateu.</p>
<p>Enfim, o placar vai aparecendo em um display de 7 segmentos, de 4 números, o 3461BS.</p>
<p>Agora que começa o problema: </p>
<p>Tentei adicionar um display LCD, no qual vai marcando o placar, exibindo o nome do player e o ponto.</p>
<p>Como são 4 players, primeiramente apareceria os dois primeiros players, com suas respectivas pontuações, aí eu esperaria um tempo, e apareceria os outros 2 com suas respectivas pontuações.</p>
<p>Mas o problema, é que quando adiciono a função no void loop, o display de 7 segmentos para de funcionar, liga apenas um por vez! Acredito estar relacionado ao clock, mas não consegui resolver o problema.</p>
<p>Segue em anexo o código do programa, e a foto do circuito montado(bagunçado pois precisei remover os fios da frente do display, pra todo mundo poder ver o placar!)</p>
<p>O código em anexo, está totalmente sem a parte do display! Mas o que eu fiz foi uma função, que apenas printa os nomes, e os Bs, que seriam o valor atual do placar.</p>
<p>Incluí as bibliotecas do display I2C e também inicializei ele no endereço 0x27.</p>
<p>no void setup, inclui a função lcd.begin(16,2);</p>
<p>Alguém saberia me dizer qual problema está ocorrendo?</p>
<p>Lembrando que sem o display I2C, ou seja, o código a seguir com o circuito montado, está funcionando tudo corretamente!</p>
<p>Grato desde já!</p> LCD 2.4 Touchtag:labdegaragem.com,2017-09-24:6223006:Topic:6356552017-09-24T16:12:07.230ZFabio Manfrerehttps://labdegaragem.com/profile/FabioManfrere
<p>Ola<br></br><br></br>Estou tentando utilizar o display 2.4 TFT LCD touch screen ... encontrei as bibliotecas necessárias, fiz rodar alguns exemplos para testar, ...roda normal, a imagem aparece, mas um dos exemplos que testa o touch não esta funcionando.<br></br><br></br>Peguei o código desse blog que encontrei, porque é o que achei melhor explicado:…<br></br></p>
<p>Ola<br/><br/>Estou tentando utilizar o display 2.4 TFT LCD touch screen ... encontrei as bibliotecas necessárias, fiz rodar alguns exemplos para testar, ...roda normal, a imagem aparece, mas um dos exemplos que testa o touch não esta funcionando.<br/><br/>Peguei o código desse blog que encontrei, porque é o que achei melhor explicado:<br/><a href="http://viciadosemarduino.blogspot.com.br/2017/01/display-24-tft-lcd-touch-screen-arduino.html">http://viciadosemarduino.blogspot.com.br/2017/01/display-24-tft-lcd-touch-screen-arduino.html</a><br/><br/>Estou rodando o segundo exemplo que tem os 3 botões</p>
<p>quando eu rodo ele o arduino carrega, a imagem aparece no display mas o touch não funciona, e também quando carrega aparece as seguintes mensagens:<br/><br/><br/></p>
<p>C:\Users\fabio\Documents\Arduino\sketch_sep23a\sketch_sep23a.ino:63:0: warning: "PINK" redefined</p>
<p>#define PINK 0xE0F9</p>
<p>^</p>
<p>In file included from c:\program files (x86)\arduino\hardware\tools\avr\avr\include\avr\iom2560.h:38:0,</p>
<p>from c:\program files (x86)\arduino\hardware\tools\avr\avr\include\avr\io.h:174,</p>
<p>from c:\program files (x86)\arduino\hardware\tools\avr\avr\include\avr\pgmspace.h:90,</p>
<p>from C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/Arduino.h:28,</p>
<p>from sketch\sketch_sep23a.ino.cpp:1:</p>
<p>c:\program files (x86)\arduino\hardware\tools\avr\avr\include\avr\iomxx0_1.h:1149:0: note: this is the location of the previous definition</p>
<p># define PINK _SFR_MEM8(0x106)</p>
<p>^</p>
<p></p>
<p></p>
<p>Se alguém puder me ajudar a saber o que fazer para o touch funcionar corretamente eu agradeço!</p> Display Lcd 2.4 Tft Touch Screen Ili9325 Shield Micro Sdtag:labdegaragem.com,2017-04-25:6223006:Topic:6093102017-04-25T16:35:42.641ZStella Marqueshttps://labdegaragem.com/profile/StellaMarques
<p><img src="https://http2.mlstatic.com/display-lcd-24-tft-touch-screen-ili9325-shield-micro-sd-D_NQ_NP_207315-MLB25232009073_122016-F.webp" width="321" height="321" class="align-center"/></p>
<p>Gente comprei um modulo desses, mas ele ocupa todos os pinos do Arduíno UNO praticamente. Tem como diminuir isso? Não sei algum multiplexador? Algum shield que faça adaptação?</p>
<p><img src="https://http2.mlstatic.com/display-lcd-24-tft-touch-screen-ili9325-shield-micro-sd-D_NQ_NP_207315-MLB25232009073_122016-F.webp" width="321" height="321" class="align-center"/></p>
<p>Gente comprei um modulo desses, mas ele ocupa todos os pinos do Arduíno UNO praticamente. Tem como diminuir isso? Não sei algum multiplexador? Algum shield que faça adaptação?</p> Display de 7 segmentos, 3 dígitos.tag:labdegaragem.com,2017-01-31:6223006:Topic:5935012017-01-31T21:42:42.114ZJosé Antônio S. Sancheshttps://labdegaragem.com/profile/JoseAntonioSSanches
<p>Como vocês fariam para controlar 3 display de 7 seguimentos? Obs. <span>catodo comum.</span></p>
<p>Como vocês fariam para controlar 3 display de 7 seguimentos? Obs. <span>catodo comum.</span></p> Display LCD piscando ao exibir informações - TCC de Automação Industrialtag:labdegaragem.com,2016-11-17:6223006:Topic:5798052016-11-17T17:27:51.353ZJean Carlos Santanahttps://labdegaragem.com/profile/JeanCarlosSantana
<p>Olá, comunidade Lab de Garagem. </p>
<p></p>
<p>Bom... vou tentar explicar a problemática pela qual estou passando com o desenvolvimento do meu projeto e espero que vocês possam me ajudar. <br></br><br></br>Desenvolvi uma placa controladora para um sistema de captação e reaproveitamento de aguá de chuva para fins não potáveis em residências. A confecção do hardware está ok, tudo conferido e funcionando corretamente. </p>
<p></p>
<p>Estou trabalhando com dois sensores ultrassônicos HC-SR04, usados…</p>
<p>Olá, comunidade Lab de Garagem. </p>
<p></p>
<p>Bom... vou tentar explicar a problemática pela qual estou passando com o desenvolvimento do meu projeto e espero que vocês possam me ajudar. <br/><br/>Desenvolvi uma placa controladora para um sistema de captação e reaproveitamento de aguá de chuva para fins não potáveis em residências. A confecção do hardware está ok, tudo conferido e funcionando corretamente. </p>
<p></p>
<p>Estou trabalhando com dois sensores ultrassônicos HC-SR04, usados para medir o nível de água nos reservatório, variando entre 0 e 100%. e de acordo com os níveis lidos irei acionar uma bomba ou então uma válvula solenoide. O microcontrolador utilizado na placa é um ATmega328P ( o mesmo da plataforma Arduino UNO). </p>
<p></p>
<p>A lógica de programação foi desenvolvida e um êxito na rodagem de testes, no entanto os dados enviados ao display ficam sempre piscando. Eu gostaria de saber o porquê.</p>
<p></p>
<p>Logo abaixo vou deixar algumas fotos para que todos possam ter uma noção mais clara ao que estou me referindo. <br/><br/>Abraço e conto com a colaboração de todos. </p>
<p></p>
<p>CÓDIGO:</p>
<p></p>
<p>#include <LiquidCrystal.h> //Biblioteca do display.</p>
<p>#include <LinkedList.h> //</p>
<p>#include <Gaussian.h> //Bibliotecas para cálculo da média móvel.</p>
<p>#include <GaussianAverage.h> //</p>
<p>#include <Ultrasonic.h> //Biblioteca dos sensores ultrassônicos. </p>
<p> </p>
<p>#define trigger1 6 //Trigger do US1 no pino 6.</p>
<p>#define echo1 5 //Trigger do US1 no pino 5.</p>
<p>#define trigger2 4 //Trigger do US2 no pino 4.</p>
<p>#define echo2 3 //Trigger do US2 no pino 3.</p>
<p> </p>
<p>#define pulsoSOLENOIDE A4 //Botão da solenóde no pino A4.</p>
<p>#define pulsoBOMBA A5 //Botão da bomba no pino A5.</p>
<p>#define AUTO_MANU 0 //Bot. para sel. do modo de trabalho no pino 0.</p>
<p>#define SOLENOIDE 1 //Saída para acionamento da solenóide no pino 1.</p>
<p>#define BOMBA 2 //Saída para acionamento da bomba no pino 2.</p>
<p> </p>
<p>LiquidCrystal lcd(12, 11, 10, 9, 8, 7); //Pinos de comu com o display.</p>
<p>GaussianAverage myMovingAverage1(10);</p>
<p>GaussianAverage myMovingAverage2(10); </p>
<p>Ultrasonic ultrasonic1(trigger1, echo1); //Pinos trigger e echo do US1.</p>
<p>Ultrasonic ultrasonic2(trigger2, echo2); //Pinos trigger e echo do US2.</p>
<p> </p>
<p>float caixadagua = 28.5; //Caixa d'água com 28,5cm.</p>
<p>float reservatorio = 28.5; //Reservatório com 28,5cm.</p>
<p>int porcentagem1, nivel1, US1; //Variáveis do tipo inteira.</p>
<p>int porcentagem2, nivel2, US2, estadoNivel, setLCD, estadoSolen; </p>
<p>//=========================================================================</p>
<p> </p>
<p>void <b>setup</b>(){ //Inícialização do programa.</p>
<p> </p>
<p> lcd.begin(20,4); //Define o display com 20 colunas e quatro linhas.</p>
<p> </p>
<p> pinMode(pulsoBOMBA,INPUT_PULLUP) //Entrada com pullup interno.</p>
<p> pinMode(pulsoSOLENOIDE,INPUT_PULLUP); //Entrada com pullup interno.</p>
<p> pinMode(AUTO_MANU,INPUT_PULLUP); //Entrada com pullup interno.</p>
<p> pinMode(SOLENOIDE,OUTPUT); //Saída digital.</p>
<p> pinMode(BOMBA,OUTPUT); //Saída digital.</p>
<p> </p>
<p> digitalWrite(SOLENOIDE,LOW); //Inicia com a solenóide desligada.</p>
<p> digitalWrite(BOMBA,LOW); //Inicia com a bomba desligada.</p>
<p> </p>
<p> estadoNivel = 0; //Atribui valor zero a variável estadoNivel.</p>
<p> estadoSolen = 0; //Atribui valor zero a variável estadoSolen.</p>
<p>} //Fim setup.</p>
<p> </p>
<p>//=========================================================================</p>
<p>void <b>loop</b>(){ //Loop do programa.</p>
<p> </p>
<p> if(digitalRead(AUTO_MANU) == LOW){ //Cond. que habilita o modo manual.</p>
<p> </p>
<p> float cmMsec1; </p>
<p> long microsec1 = ultrasonic1.timing();</p>
<p> cmMsec1 = ultrasonic1.convert(microsec1, Ultrasonic::CM); </p>
<p> porcentagem1 = (((cmMsec1-6.5)*100)/reservatorio);</p>
<p> nivel1 = (100-porcentagem1); </p>
<p> myMovingAverage1 += nivel1;</p>
<p> myMovingAverage1.process();</p>
<p> US1 = myMovingAverage1.mean; //Lógica responsável pela leitura do US1.</p>
<p> if(US1 > 100){</p>
<p> US1 = 100;</p>
<p> }</p>
<p> if(US1 < 0){</p>
<p> US1 = 0;</p>
<p> } </p>
<p> </p>
<p> float cmMsec2; </p>
<p> long microsec2 = ultrasonic2.timing();</p>
<p> cmMsec2 = ultrasonic2.convert(microsec2, Ultrasonic::CM); </p>
<p> porcentagem2 = ((cmMsec2-12)*100)/caixadagua; </p>
<p> nivel2 = (100-porcentagem2); </p>
<p> myMovingAverage2 += nivel2;</p>
<p> myMovingAverage2.process();</p>
<p> US2 = myMovingAverage2.mean; //Lógica responsável pela leitura do US2. </p>
<p> if(US2 > 100){</p>
<p> US2 = 100;</p>
<p> }</p>
<p> if(US2 < 0){</p>
<p> US2 = 0;</p>
<p> } </p>
<p> </p>
<p> lcd.clear(); //limpa a tela do display.</p>
<p> lcd.setCursor(4,0);</p>
<p> lcd.print("MODO MANUAL"); //Imprime na coluna quatro, linha zero.</p>
<p> lcd.setCursor(0,1);</p>
<p> lcd.print("RESERVATORIO = "); //Imprime na coluna zero linha um.</p>
<p> lcd.setCursor(15,1);</p>
<p> lcd.print(US1); //Impr. US1 na coluna quinze, linha um.</p>
<p> lcd.setCursor(18,1);</p>
<p> lcd.print("%"); //Impr. % na coluna dezoito, linha um. </p>
<p> lcd.setCursor(0,2);</p>
<p> lcd.print("CAIXA D'AGUA = "); //Imprime na coluna zero, linha dois.</p>
<p> lcd.setCursor(15,2);</p>
<p> lcd.print(US2); //Impr. US2 na coluna , linha dois.</p>
<p> lcd.setCursor(18,2);</p>
<p> lcd.print("%"); //Impr. % na coluna dezoito,linha dois.</p>
<p> </p>
<p> if(digitalRead(pulsoSOLENOIDE) == LOW){</p>
<p> digitalWrite(SOLENOIDE, HIGH); //Aciona a solenóide.</p>
<p> lcd.setCursor(0,3);</p>
<p> lcd.print("SOLEN=ON"); //Imprime ON na coluna zero, linha 3.</p>
<p> }</p>
<p> else{ </p>
<p> digitalWrite(SOLENOIDE, LOW); //Desaciona a solenóide.</p>
<p> lcd.setCursor(0,3);</p>
<p> lcd.print("SOLEN=OFF"); //Impr OFF na coluna zero, linha três.</p>
<p> }</p>
<p> </p>
<p> </p>
<p> if(digitalRead(pulsoBOMBA) == LOW){</p>
<p> digitalWrite(BOMBA, HIGH); //Aciona a bomba.</p>
<p> lcd.setCursor(10,3); </p>
<p> lcd.print("BOMBA=ON"); //Imprime ON na coluna dez, linha três.</p>
<p> } </p>
<p> else{ </p>
<p> digitalWrite(BOMBA, LOW); //Desaciona a bomba. </p>
<p> lcd.setCursor(10,3); </p>
<p> lcd.print("BOMBA=OFF"); //Imprime OFF na coluna dez, linha três.</p>
<p> }</p>
<p> } //Fim manual.</p>
<p> </p>
<p>//========================================================================</p>
<p> </p>
<p> if(digitalRead(AUTO_MANU) == HIGH){ //Cond. que habilita o modo automát.</p>
<p> </p>
<p> float cmMsec1; </p>
<p> long microsec1 = ultrasonic1.timing();</p>
<p> cmMsec1 = ultrasonic1.convert(microsec1, Ultrasonic::CM); </p>
<p> porcentagem1 = (((cmMsec1-6.5)*100)/reservatorio);</p>
<p> nivel1 = (100-porcentagem1); </p>
<p> myMovingAverage1 += nivel1;</p>
<p> myMovingAverage1.process();</p>
<p> US1 = myMovingAverage1.mean; //Lógica responsável pela leitura do US1. </p>
<p> if(US1 > 100){</p>
<p> US1 = 100;</p>
<p> }</p>
<p> if(US1 < 0){</p>
<p> US1 = 0;</p>
<p> } </p>
<p> </p>
<p> float cmMsec2; </p>
<p> long microsec2 = ultrasonic2.timing();</p>
<p> cmMsec2 = ultrasonic2.convert(microsec2, Ultrasonic::CM); </p>
<p> porcentagem2 = ((cmMsec2-12)*100)/caixadagua; </p>
<p> nivel2 = (100-porcentagem2); </p>
<p> myMovingAverage2 += nivel2;</p>
<p> myMovingAverage2.process();</p>
<p> US2 = myMovingAverage2.mean; //Lógica responsável pela leitura do US2. </p>
<p> if(US2 > 100){</p>
<p> US2 = 100;</p>
<p> }</p>
<p> if(US2 < 0){</p>
<p> US2 = 0;</p>
<p> } </p>
<p> </p>
<p> lcd.clear(); //limpa a tela do display</p>
<p> lcd.setCursor(2,0);</p>
<p> lcd.print("MODO AUTOMATICO"); //Imprimme na coluna dois, linha zero.</p>
<p> lcd.setCursor(0,1);</p>
<p> lcd.print("RESERVATORIO = "); //Imprime na coluna zero, linha um.</p>
<p> lcd.setCursor(15,1);</p>
<p> lcd.print(US1); //Imp. US1 na coluna quinze, linha um.</p>
<p> lcd.setCursor(18,1);</p>
<p> lcd.print("%"); //Impr. % na coluna dezoito, linha um. </p>
<p> lcd.setCursor(0,2);</p>
<p> lcd.print("CAIXA D'AGUA = "); //Imprime na coluna zero, linha dois.</p>
<p> lcd.setCursor(15,2);</p>
<p> lcd.print(US2); //Imp. US2 coluna quinze, linha dois.</p>
<p> lcd.setCursor(18,2);</p>
<p> lcd.print("%"); //Impri. % coluna dezoito, linha dois.</p>
<p> </p>
<p> switch(estadoNivel){ //Switch responsável pelo controle da bomba.</p>
<p> case 0:</p>
<p> estadoNivel = 1; //Atribui valor um à variável estadoNivel.</p>
<p> if((US2 < 20) && (US1 >10)){ //Se US2>20% e US1>10%.</p>
<p> digitalWrite(BOMBA, HIGH); //Aciona a bomba. </p>
<p> } </p>
<p> break; </p>
<p> case 1:</p>
<p> estadoNivel = 2; //Atribui valor dois a var. estadoNivel.</p>
<p> if(US2 > 90){ //Habilita se US2>90%.</p>
<p> digitalWrite(BOMBA, LOW); //Desaciona a bomba.</p>
<p> setLCD = 0; </p>
<p> } </p>
<p> break; </p>
<p> case 2:</p>
<p> estadoNivel = 0; //Atribui valor zero à var. estadoNivel.</p>
<p> if(US1 < 10){ //Habilita se US1<10%.</p>
<p> digitalWrite(BOMBA, LOW); //Desaciona a bomba.</p>
<p> setLCD = 0; </p>
<p> } </p>
<p> break; </p>
<p> }</p>
<p> </p>
<p> if (digitalRead(BOMBA) == LOW){ //Se a bomba estiver desligada.</p>
<p> lcd.setCursor(10,3); </p>
<p> lcd.print("BOMBA=OFF"); //Imprime na coluna zero, linha três.</p>
<p> }</p>
<p> else{</p>
<p> lcd.setCursor(10,3); </p>
<p> lcd.print("BOMBA=ON"); //Imprime na coluna dez, linha três.</p>
<p> } </p>
<p> </p>
<p> </p>
<p> switch(estadoSolen){ //Switch responsável pelo controle da solenóide.</p>
<p> case 0:</p>
<p> //Atribui valor um a var. estadoSolen.</p>
<p> if((US2 <20) && (US1 < 10)){ //Se US2> 20% e US1<20%.</p>
<p> digitalWrite(SOLENOIDE, HIGH); //Aciona solenóide.</p>
<p> }</p>
<p> break; </p>
<p> case 1:</p>
<p> estadoSolen = 0; //Atribui valor zero a var. estadoSolen.</p>
<p> if(US2 > 90){ //Se US2>90%.</p>
<p> digitalWrite(SOLENOIDE, LOW); //Desaciona a solenóide.</p>
<p> }</p>
<p> break;</p>
<p> }</p>
<p> </p>
<p> if (digitalRead(SOLENOIDE) == LOW){ //Se a sol. estiver desligada.</p>
<p> lcd.setCursor(0,3); </p>
<p> lcd.print("SOLEN=OFF"); //Imprime na coluna zero, linha três.</p>
<p> }</p>
<p> else{</p>
<p> lcd.setCursor(0,3); </p>
<p> lcd.print("SOLEN=ON"); //Imprime na coluna zero, linha três.</p>
<p> }</p>
<p> }</p>
<p> delay(500);</p>
<p> } //Fim loop.</p>
<p></p> Ajuda Display LCD!!!!tag:labdegaragem.com,2016-06-01:6223006:Topic:5384272016-06-01T18:31:58.758ZMichel Vilela Alveshttps://labdegaragem.com/profile/MichelVilelaAlves
<p>Boa tarde garagistas,</p>
<p></p>
<p>estou testando um display LCD com módulo I2C mas quando compilo dá um erro que não existe a biblioteca <Wire.h>, já procurei algum lugar para baixar e não encontrei. Alguém saberia como corrigir esse problema?</p>
<p></p>
<p>Obrigado!!!!</p>
<p>Boa tarde garagistas,</p>
<p></p>
<p>estou testando um display LCD com módulo I2C mas quando compilo dá um erro que não existe a biblioteca <Wire.h>, já procurei algum lugar para baixar e não encontrei. Alguém saberia como corrigir esse problema?</p>
<p></p>
<p>Obrigado!!!!</p> Teste display LCD 16x2tag:labdegaragem.com,2015-11-03:6223006:Topic:4905762015-11-03T15:40:19.550ZWadeck Pollihttps://labdegaragem.com/profile/WadeckPolli
<p>estou compartilhando uma sketch que escrevi que pode ser usada para testar display 16x2 e para iniciantes como eu é muito interessante!</p>
<p></p>
<p>link download: <a href="http://1drv.ms/1k7Tnuh">http://1drv.ms/1k7Tnuh</a></p>
<p>estou compartilhando uma sketch que escrevi que pode ser usada para testar display 16x2 e para iniciantes como eu é muito interessante!</p>
<p></p>
<p>link download: <a href="http://1drv.ms/1k7Tnuh">http://1drv.ms/1k7Tnuh</a></p> Contador 0 a 99 com display 7 seg duplotag:labdegaragem.com,2015-09-30:6223006:Topic:4812272015-09-30T13:50:09.366ZJorge Moiseshttps://labdegaragem.com/profile/JorgeMoises
<p>Ola bom dia.</p>
<p>Estou tentando fazer um contador de 0 a 99 com display 7 segmentos duplo.</p>
<p>Porem sem sucesso por enquanto.Consigo fazer com um display, mas quando coloco o duplo ele copia o que esta aparecendo e não contando.<br/>Alguém teria algo simple para que eu possa estudar em cima dele ?</p>
<p><br/>Grato</p>
<p>Ola bom dia.</p>
<p>Estou tentando fazer um contador de 0 a 99 com display 7 segmentos duplo.</p>
<p>Porem sem sucesso por enquanto.Consigo fazer com um display, mas quando coloco o duplo ele copia o que esta aparecendo e não contando.<br/>Alguém teria algo simple para que eu possa estudar em cima dele ?</p>
<p><br/>Grato</p> Problema Shield Display LCD 3.5'' TouchScreentag:labdegaragem.com,2015-07-27:6223006:Topic:4622092015-07-27T18:47:51.381ZAGOSTINHO TOMAZ DE OLIVEIRA NETOhttps://labdegaragem.com/profile/AGOSTINHOTOMAZDEOLIVEIRANETO
<p>Estou tentando utilzar o arduino UNO com o <span>Shield Display LCD 3.5'' TouchScreen, apesar ligar não consigo exibir nada em sua tela. Abaixo segue exemplo de código extraído da site FLIPFLOP utilizado.</span></p>
<p></p>
<p><span>LEMBRANDO QUE O PROGRAMA É COMPILADO E ENVIADO PARA A PLACA NORMALMENTE, O PROBLEMA É QUE O TEXTO NÃO APARECE NA TELA.</span></p>
<p><span>SE ALGUÉM PUDER AJUDAR AGRADEÇO BASTANTE.</span></p>
<div class="line number1 index0 alt2"><code class="c comments">//…</code></div>
<p>Estou tentando utilzar o arduino UNO com o <span>Shield Display LCD 3.5'' TouchScreen, apesar ligar não consigo exibir nada em sua tela. Abaixo segue exemplo de código extraído da site FLIPFLOP utilizado.</span></p>
<p></p>
<p><span>LEMBRANDO QUE O PROGRAMA É COMPILADO E ENVIADO PARA A PLACA NORMALMENTE, O PROBLEMA É QUE O TEXTO NÃO APARECE NA TELA.</span></p>
<p><span>SE ALGUÉM PUDER AJUDAR AGRADEÇO BASTANTE.</span></p>
<div class="line number1 index0 alt2"><code class="c comments">// Programa : Teste Display Touch Arduino - Texto e Graficos</code></div>
<div class="line number2 index1 alt1"><code class="c comments">// Autor : FILIPEFLOP</code></div>
<div class="line number3 index2 alt2"> </div>
<div class="line number4 index3 alt1"><code class="c preprocessor">#include <UTFT.h></code></div>
<div class="line number5 index4 alt2"> </div>
<div class="line number6 index5 alt1"><code class="c comments">// Relacao de fontes</code></div>
<div class="line number7 index6 alt2"><code class="c keyword bold">extern</code> <code class="c plain">uint8_t SmallFont[];</code></div>
<div class="line number8 index7 alt1"><code class="c keyword bold">extern</code> <code class="c plain">uint8_t BigFont[];</code></div>
<div class="line number9 index8 alt2"><code class="c keyword bold">extern</code> <code class="c plain">uint8_t SevenSegNumFont[];</code></div>
<div class="line number10 index9 alt1"><code class="c keyword bold">extern</code> <code class="c plain">uint8_t GroteskBold16x32[];</code></div>
<div class="line number11 index10 alt2"><code class="c keyword bold">extern</code> <code class="c plain">uint8_t arial_bold[];</code></div>
<div class="line number12 index11 alt1"><code class="c keyword bold">extern</code> <code class="c plain">uint8_t Grotesk24x48[];</code></div>
<div class="line number13 index12 alt2"><code class="c keyword bold">extern</code> <code class="c plain">uint8_t Ubuntu[];</code></div>
<div class="line number14 index13 alt1"><code class="c keyword bold">extern</code> <code class="c plain">uint8_t arial_normal[];</code></div>
<div class="line number15 index14 alt2"> </div>
<div class="line number16 index15 alt1"><code class="c plain">UTFT myGLCD(UNO_24, A2, A1, A3, A4);</code></div>
<div class="line number17 index16 alt2"> </div>
<div class="line number18 index17 alt1"><code class="c keyword bold">void</code> <code class="c plain">setup()</code></div>
<div class="line number19 index18 alt2"><code class="c plain">{</code></div>
<div class="line number20 index19 alt1"><code class="c spaces"> </code><code class="c plain">pinMode(A0, OUTPUT);</code> <code class="c comments">// for the UNO_SHIELD_1IN1</code></div>
<div class="line number21 index20 alt2"><code class="c spaces"> </code><code class="c plain">digitalWrite(A0, HIGH);</code></div>
<div class="line number22 index21 alt1"><code class="c spaces"> </code><code class="c plain">myGLCD.InitLCD();</code></div>
<div class="line number23 index22 alt2"><code class="c spaces"> </code><code class="c plain">myGLCD.clrScr();</code></div>
<div class="line number24 index23 alt1"><code class="c plain">}</code></div>
<div class="line number25 index24 alt2"> </div>
<div class="line number26 index25 alt1"><code class="c keyword bold">void</code> <code class="c plain">loop(</code><code class="c keyword bold">void</code><code class="c plain">)</code></div>
<div class="line number27 index26 alt2"><code class="c plain">{</code></div>
<div class="line number28 index27 alt1"><code class="c spaces"> </code><code class="c comments">// Rotinas de teste</code></div>
<div class="line number29 index28 alt2"><code class="c spaces"> </code><code class="c plain">Texto();</code></div>
<div class="line number30 index29 alt1"><code class="c spaces"> </code><code class="c plain">delay(3000);</code></div>
<div class="line number31 index30 alt2"><code class="c spaces"> </code><code class="c plain">Teste_Circulos();</code></div>
<div class="line number32 index31 alt1"><code class="c spaces"> </code><code class="c plain">delay(3000);</code></div>
<div class="line number33 index32 alt2"><code class="c spaces"> </code><code class="c plain">Teste_Linhas();</code></div>
<div class="line number34 index33 alt1"><code class="c spaces"> </code><code class="c plain">delay(3000);</code></div>
<div class="line number35 index34 alt2"><code class="c plain">}</code></div>
<div class="line number36 index35 alt1"> </div>
<div class="line number37 index36 alt2"><code class="c keyword bold">void</code> <code class="c plain">Texto()</code></div>
<div class="line number38 index37 alt1"><code class="c plain">{</code></div>
<div class="line number39 index38 alt2"><code class="c spaces"> </code><code class="c comments">// Preenche a tela</code></div>
<div class="line number40 index39 alt1"><code class="c spaces"> </code><code class="c plain">myGLCD.fillScr(0, 0, 0);</code></div>
<div class="line number41 index40 alt2"><code class="c spaces"> </code><code class="c comments">// Seleciona cor de fundo</code></div>
<div class="line number42 index41 alt1"><code class="c spaces"> </code><code class="c plain">myGLCD.setBackColor (0, 0, 0);</code></div>
<div class="line number43 index42 alt2"> </div>
<div class="line number44 index43 alt1"><code class="c spaces"> </code><code class="c comments">// Seleciona fonte</code></div>
<div class="line number45 index44 alt2"><code class="c spaces"> </code><code class="c plain">myGLCD.setFont(Ubuntu);</code></div>
<div class="line number46 index45 alt1"><code class="c spaces"> </code><code class="c comments">// Seleciona cor</code></div>
<div class="line number47 index46 alt2"><code class="c spaces"> </code><code class="c plain">myGLCD.setColor(VGA_WHITE);</code></div>
<div class="line number48 index47 alt1"><code class="c spaces"> </code><code class="c plain">myGLCD.print(</code><code class="c string">"FILIPEFLOP"</code><code class="c plain">, 15, 20);</code></div>
<div class="line number49 index48 alt2"> </div>
<div class="line number50 index49 alt1"><code class="c spaces"> </code><code class="c plain">myGLCD.setColor(VGA_LIME);</code></div>
<div class="line number51 index50 alt2"><code class="c spaces"> </code><code class="c plain">myGLCD.setFont(BigFont);</code></div>
<div class="line number52 index51 alt1"><code class="c spaces"> </code><code class="c plain">myGLCD.print(</code><code class="c string">"Arduino"</code><code class="c plain">, 15, 70);</code></div>
<div class="line number53 index52 alt2"> </div>
<div class="line number54 index53 alt1"><code class="c spaces"> </code><code class="c plain">myGLCD.setColor(VGA_BLUE);</code></div>
<div class="line number55 index54 alt2"><code class="c spaces"> </code><code class="c plain">myGLCD.setFont(arial_bold);</code></div>
<div class="line number56 index55 alt1"><code class="c spaces"> </code><code class="c plain">myGLCD.print(</code><code class="c string">"Raspberry"</code><code class="c plain">, 15, 105);</code></div>
<div class="line number57 index56 alt2"> </div>
<div class="line number58 index57 alt1"><code class="c spaces"> </code><code class="c plain">myGLCD.setColor(VGA_YELLOW);</code></div>
<div class="line number59 index58 alt2"><code class="c spaces"> </code><code class="c comments">//myGLCD.setFont(SmallFont);</code></div>
<div class="line number60 index59 alt1"><code class="c spaces"> </code><code class="c plain">myGLCD.print(</code><code class="c string">"Embarcados"</code><code class="c plain">, 15, 140);</code></div>
<div class="line number61 index60 alt2"> </div>
<div class="line number62 index61 alt1"><code class="c spaces"> </code><code class="c plain">myGLCD.setColor(VGA_AQUA);</code></div>
<div class="line number63 index62 alt2"><code class="c spaces"> </code><code class="c plain">myGLCD.setFont(SevenSegNumFont);</code></div>
<div class="line number64 index63 alt1"><code class="c spaces"> </code><code class="c plain">myGLCD.print(</code><code class="c string">"1234567890"</code><code class="c plain">, 0, 180);</code></div>
<div class="line number65 index64 alt2"><code class="c plain">}</code></div>
<div class="line number66 index65 alt1"> </div>
<div class="line number67 index66 alt2"><code class="c keyword bold">void</code> <code class="c plain">Teste_Circulos()</code></div>
<div class="line number68 index67 alt1"><code class="c plain">{</code></div>
<div class="line number69 index68 alt2"><code class="c spaces"> </code><code class="c comments">//Preenche a tela com circulos amarelos</code></div>
<div class="line number70 index69 alt1"><code class="c spaces"> </code><code class="c plain">myGLCD.fillScr(0, 0, 0);</code></div>
<div class="line number71 index70 alt2"><code class="c spaces"> </code><code class="c plain">myGLCD.setColor(VGA_YELLOW);</code></div>
<div class="line number72 index71 alt1"><code class="c spaces"> </code><code class="c color1 bold">int</code> <code class="c plain">xa = myGLCD.getDisplayXSize();</code></div>
<div class="line number73 index72 alt2"><code class="c spaces"> </code><code class="c color1 bold">long</code> <code class="c plain">radius = 6;</code></div>
<div class="line number74 index73 alt1"><code class="c spaces"> </code><code class="c plain">unsigned</code> <code class="c color1 bold">long</code> <code class="c plain">start;</code></div>
<div class="line number75 index74 alt2"><code class="c spaces"> </code><code class="c color1 bold">int</code> <code class="c plain">x, y, r2 = radius * 2,</code></div>
<div class="line number76 index75 alt1"><code class="c spaces"> </code><code class="c plain">w = myGLCD.getDisplayXSize() + radius,</code></div>
<div class="line number77 index76 alt2"><code class="c spaces"> </code><code class="c plain">h = myGLCD.getDisplayYSize() + radius;</code></div>
<div class="line number78 index77 alt1"><code class="c spaces"> </code><code class="c keyword bold">for</code> <code class="c plain">(x = 0; x < w; x += r2)</code></div>
<div class="line number79 index78 alt2"><code class="c spaces"> </code><code class="c plain">{</code></div>
<div class="line number80 index79 alt1"><code class="c spaces"> </code><code class="c keyword bold">for</code> <code class="c plain">(y = 0; y < h; y += r2)</code></div>
<div class="line number81 index80 alt2"><code class="c spaces"> </code><code class="c plain">{</code></div>
<div class="line number82 index81 alt1"><code class="c spaces"> </code><code class="c plain">myGLCD.drawCircle(x, y, radius);</code></div>
<div class="line number83 index82 alt2"><code class="c spaces"> </code><code class="c plain">}</code></div>
<div class="line number84 index83 alt1"><code class="c spaces"> </code><code class="c plain">}</code></div>
<div class="line number85 index84 alt2"><code class="c plain">}</code></div>
<div class="line number86 index85 alt1"> </div>
<div class="line number87 index86 alt2"><code class="c keyword bold">void</code> <code class="c plain">Teste_Linhas()</code></div>
<div class="line number88 index87 alt1"><code class="c plain">{</code></div>
<div class="line number89 index88 alt2"><code class="c spaces"> </code><code class="c comments">//Desenha varias linhas na tela, formando</code></div>
<div class="line number90 index89 alt1"><code class="c spaces"> </code><code class="c comments">//uma grade</code></div>
<div class="line number91 index90 alt2"><code class="c spaces"> </code><code class="c color1 bold">int</code> <code class="c plain">x1, y1, x2, y2,</code></div>
<div class="line number92 index91 alt1"><code class="c spaces"> </code><code class="c plain">w = myGLCD.getDisplayXSize(),</code></div>
<div class="line number93 index92 alt2"><code class="c spaces"> </code><code class="c plain">h = myGLCD.getDisplayYSize();</code></div>
<div class="line number94 index93 alt1"><code class="c spaces"> </code><code class="c plain">myGLCD.fillScr(0, 0, 0);</code></div>
<div class="line number95 index94 alt2"><code class="c spaces"> </code><code class="c plain">myGLCD.setColor(VGA_AQUA);</code></div>
<div class="line number96 index95 alt1"><code class="c spaces"> </code><code class="c plain">x1 = y1 = 10;</code></div>
<div class="line number97 index96 alt2"><code class="c spaces"> </code><code class="c plain">y2 = h - 10;</code></div>
<div class="line number98 index97 alt1"><code class="c spaces"> </code><code class="c keyword bold">for</code> <code class="c plain">(x2 = 10; x2 < w; x2 += 20)</code></div>
<div class="line number99 index98 alt2"><code class="c spaces"> </code><code class="c plain">{</code></div>
<div class="line number100 index99 alt1"><code class="c spaces"> </code><code class="c plain">myGLCD.drawLine(x2, y1, x2, y2);</code></div>
<div class="line number101 index100 alt2"><code class="c spaces"> </code><code class="c plain">}</code></div>
<div class="line number102 index101 alt1"><code class="c spaces"> </code><code class="c plain">x2 = w - 10;</code></div>
<div class="line number103 index102 alt2"><code class="c spaces"> </code><code class="c keyword bold">for</code> <code class="c plain">(y1 = 10; y1 < w; y1 += 20)</code></div>
<div class="line number104 index103 alt1"><code class="c spaces"> </code><code class="c plain">{</code></div>
<div class="line number105 index104 alt2"><code class="c spaces"> </code><code class="c plain">myGLCD.drawLine(x1, y1, x2, y1);</code></div>
<div class="line number106 index105 alt1"><code class="c spaces"> </code><code class="c plain">}</code></div>
<div class="line number107 index106 alt2"><code class="c plain">}</code></div>