-
Posts
451 -
Cadastrado em
-
Última visita
Tipo de conteúdo
Artigos
Selos
Livros
Cursos
Análises
Fórum
Tudo que Intrudera6 postou
-
ESP8266 - A Pequena Maravilha para Comunicação WIFI
Intrudera6 respondeu ao tópico de aphawk em Microcontroladores
@aphawk Na época eu trabalha no Grupo de PO na empresa (onde trabalho atualmente, mas mudei totalmente de área) e tinha acesso a estas ferramentas com estes manuais (eu usei muito aqueles manuais, apendi muito com eles). A minha ferramenta de trabalho preferida era o Turbopascal (o debuger dele era incrível) depois passei para o Delphi, que no final eu pouco usava (no recurso mais poderoso que era o OO). Eu continuava programando de forma procedural (nunca aprendi totalmente OO, parecido com o que aconteceu comigo com o C), e penava no desenvolvimento da Interface. O meu forte sempre foram os modelos matemáticos e espremer as rotinas para elas voarem (utilizei muito ASM 8088 em inlines misturado com pascal no núcleo dos loopins), na época eu tinha programas que eu disparava a execução na tarde para ver o final da execução no dia seguinte, e às vezes mais tarde. Isto já deve fazer mais de 15 anos e era divertido. Eu conseguia programar de cabeça rotinas bastante complexas sem precisar nem fazer anotações e nem fluxograma (o debuger do Turbopascal ajudava muito em depurar os programas, fazer isto sem um debuger no Arduino IDE é um pesadelo), hoje em dia a idade dificulta fazer estas coisas. Certas técnicas a gente nunca esquece totalmente, só perde a agilidade. -
ESP8266 - A Pequena Maravilha para Comunicação WIFI
Intrudera6 respondeu ao tópico de aphawk em Microcontroladores
Identifiquei o BUG do cálculo da deriva térmica (e já atualizei o arquivo), problema com variável tipo usigned long dividindo tipo signed long, isto estava provocando um resultando totalmente sem sentido, o C é bastante traiçoeiro com os tipos de variáveis. Um debuger faz uma enorme falta, que saudades do Turbopascal / Delphi ! Tive que gatilhar a rotina toda para identificar onde estava calculando errado. Agora só aguardando para ver se aparece outro BUG complicado deste tipo, mas no cálculo de deriva deve ter sido o último. O que eu tenho minhas duvidas é se 1 semana é suficiente para aplainar as diferenças de tempo nas capturas. Conseguir precisão de 1 milissegundo é meio utópico com esta nossa Internet. O fato de conseguir coerência em capturas sucessivas não garante esta precisão, mas com 1 ou 2 centésimos de erro já acho bem possível e o erro de 0,1ppm em 1 semana é de 6 centésimos, o que já permite que a rotina seja capaz de calibrar com precisão ótima (melhor que 0,1ppm). Ainda não sei como calcular o lag real do tempo de resposta do Servidor NTP, e isto realmente seria um bom parâmetro. -
ESP8266 - A Pequena Maravilha para Comunicação WIFI
Intrudera6 respondeu ao tópico de aphawk em Microcontroladores
@ViniciusKruz É, mas infelizmente o que interessa ainda não está funcionando, que é o calculo automático do registrador de deriva térmica, os valores calculados por ela não estão batendo com o que eu calculo por fora, e não estou conseguindo descobrir o porque (ainda), isto vai dar trabalho (este bug está com cara de que vai ser complicado identificar). Quando estiver pronto deve ser realmente bem útil. Fiz estas minhas rotinas de calendário porque eu queria a conversão dos meses e dos dias da semana em português (na biblioteca do Arduino IDE já tem algo parecido mas em inglês), e eu já tinha ela em outra linguagem, (em Pascal e Bascom), foi só portar para C. Além de interface eu também sou horrível para dar nome de variável e procedure e isto às vezes me atrapalha um pouco. Acho que até prefiro colocar o CSS no código, pois carregar da Internet carregaria muito o uso da memória RAM. -
ESP8266 - A Pequena Maravilha para Comunicação WIFI
Intrudera6 respondeu ao tópico de aphawk em Microcontroladores
A minha rotina (para ESP8266 no Arduino IDE) de calibração automática para o DS3231 está evoluindo (ela está ficando muito mais precisa). Retirei vários bugs que estavam diminuindo a precisão e dificultando muito a calibração, agora estou conseguindo com certa facilidade precisão melhor que 1 milissegundo (e apertei o critério de aceitação da hora obtida por Servidor NTP, agora só aceito com variação menor do que 1 milissegundo com 4 leituras em sequência, feitas com 50 milissegundos de intervalo). A minha tela WEB continua tosca, e eu só estou usando para disparar os comandos, o retorno está sendo todo dado pela serial do ESP8266, o que não é uma coisa muito profissional (interface gráfica ou tela para usuário nunca foi o meu forte). Ainda não estou bem seguro do resultado da rotina de calibração automática, mas parece que falta pouco e está bastante promissor, mas preciso de alguns dias de intervalo para fazer uns testes mais avançados. Vai em anexo o programa (com muitas rotinas) com o binário para quem quiser se divertir ou me ajudar para tirar bugs e melhorar a tela WEB. Quando ela estiver pronta nunca mais eu (e quem mais acompanhe este tópico no fórum) precisarei de um frequencímetro extremamente preciso para calibrar um RTC DS3231 e mesmo assim conseguirei uma precisão melhor que +/-0,3 segundos por mês (+/-0,1PPM). Encontrei mais uns bugs (parece que eles não vão acabar nunca), corrigi e anexei novamente (06/10 21:23) Teste.zip -
ESP8266 - A Pequena Maravilha para Comunicação WIFI
Intrudera6 respondeu ao tópico de aphawk em Microcontroladores
Instalei o Eclipse, ainda não estou conseguindo utilizar para compilar os programas para o ESP8266, mas parece que estou perto de chegar lá. Acho que com ele devo conseguir programar com muito mais eficiência. -
ESP8266 - A Pequena Maravilha para Comunicação WIFI
Intrudera6 respondeu ao tópico de aphawk em Microcontroladores
Os testes que já fiz mostram que o timer dele é muito preciso (mas nem tanto como o DS3231), não para nunca e a resolução de micro segundo é ótima para compensar os atrasos e medir tempo de execução das rotinas. Eu uso a função micros() para fazer a compensação dos atrasos (do tempo de execução das rotinas) e consigo uma ótima repetividade nos valores. Da para conseguir um erro de menos de 1 microssegundo. E vocês vão ficar impressionados com a precisão do sincronismo, dá para acertar os relógios por ele e ir mais além, pelos desvios experimentalmente obtidos 1 centésimo é perfeitamente possível até com certa facilidade, mas com uma Internet de melhor qualidade milissegundo passa a ser alcançável (eu também tenho a NET e milissegundo é querer muito com ela, às vezes o link fica uma *****). Testem com as minhas rotinas para vocês verem (a única que eu ainda não testei direito é a que faz a calibração do DS3231, as outras já estão funcionando). Nas minhas rotinas eu só aceito a informação do servidor NTP se em 4 chamadas do servidor NTP estiver com um desvio máximo menor que 5 milissegundos mas acho que é perfeitamente possível conseguir 1 milissegundo. Com bastante frequência consigo desvios bem menores que 1 milissegundo pelo servidor NTP numa série de 4 chamadas com tempo entre elas de 50 milissegundos. A coisa é bem rápida, mas às vezes não dá certo. Já tentei intervalos maiores e não melhora a precisão, então quanto mais rápido melhor. Inseri o arquivo .ino e o arquivo pronto para gravar (.bin) Teste.zip -
ESP8266 - A Pequena Maravilha para Comunicação WIFI
Intrudera6 respondeu ao tópico de aphawk em Microcontroladores
A minha rotina de calibração semi-automática do DS3231 na IDE Arduino está saindo do forno, estou testando ela para remover os bugs (ainda não sei se a calibração vai funcionar como o planejado, isto ainda não está bem testado), mas estou obtendo muita precisão com ela (de forma intermitente). Existem alguns problemas, por exemplo: porque às vezes tem um delay tão alto e em outras vezes consigo precisão excelente, melhor que 1 milissegundo, acho que pode ser a configuração da minha conexão (os parâmetros passados na conexão) com os servidores NTP, eu copiei uma receita de bolo mas tem muita coisa nos parâmetros que eu não sei como funcionam ou para o que servem. Para garantir que a calibração fique ótima eu só considero válida se a variação entre 4 leituras do Servidor NTP estiverem com um desvio menor que 3 milissegundos, e uso como critério um tempo mínimo entre as calibrações de uma semana, fazendo isso, um erro de 1 centésimo é aceitável (consigo uma precisão bem melhor que isso). E para melhorar ainda mais eu compenso todos os atrasos, usando a função micros() como referência, consigo algo como 1 microssegundo de desvio, no final todo o meu erro é só da Internet, todo o resto eu anulo usando o contador interno do ESP8266 como referência. O programa está enorme e a interface WEB está tosca, muitas das informações do sincronismo estou retornando pela serial (o que não é desejável) e às vezes o erro é muito alto e eu tão tenho ideia do porque ??? Um programa que uso para fazer o acerto de hora do PC por Servidor NTP não tem este erro todo, e é muito mais estável. Eu certamente estou fazendo alguma coisa errada. Acho que a noite posto o programa (ZIPADO pois está agora perto de 2 mil linhas) para que vocês opinem e quem sabe sugiram algo para melhorar a minha tela WEB (nisto eu ainda sou muito fraco). -
Como ligar 10 leds de 10w e 4 cooler em uma fonte de computador?
Intrudera6 respondeu ao tópico de vanio silva em Eletrônica
10 LEDs de 10W ??? Isto vai produzir muita luz, a não ser que este seu aquário seja realmente enorme vai ficar super-iluminado, acho que você está exagerando na potência, imagino que estes 100W em LEDs deve corresponder a uns 150-200W (aproximadamente) em lâmpada fluorecente. -
Projetos com Avr : Design, Programação em Basic e Assembly
Intrudera6 respondeu ao tópico de aphawk em Microcontroladores
Já programei muito em ASM (rotinas pequenas) e compiladores e a diferença é brutal entre calcular com numero inteiro e com ponto flutuante. E eu sempre faço de tudo para que os cálculos sejam com números inteiro, só uso número float quanto é estritamente necessário. Os processadores modernos de desktop tem coprocessadores aritméticos, o que diminui muito a diferença brutal entre o cálculo com inteiro com relação ao ponto flutuante, mas mesmo assim ainda prefiro números inteiros, e evito ao máximo operações de divisão, que tem um custo computacional muito maior que a multiplicação. O timer do ESP8266 é ótimo para avaliar o tempo gasto nas operações, é só botar para calcular e ver quantos microssegundos demorou, mas é melhor que sejam muitas operações (looping de mil por exemplo compilando no Arduino IDE) senão nem a resolução de microssegundo é suficiente para isso, a velocidade de execução no ESP8266 é muito alta. -
ESP8266 - A Pequena Maravilha para Comunicação WIFI
Intrudera6 respondeu ao tópico de aphawk em Microcontroladores
Infelizmente o ESP32 ainda não está sendo entregue, onde vende está em "preorder", e quando liberarem devem cobrar caro pelos primeiros, neste caso é melhor ter paciência para não acabar pagando muito caro. Eu também estou de olho, mas o eBay (junto com a Receita Federal e os Correios) me ensinou a ter paciência, muita paciência. -
Projetos com Avr : Design, Programação em Basic e Assembly
Intrudera6 respondeu ao tópico de aphawk em Microcontroladores
Programar um controlador ARM no Arduino, só se for com a IDE Arduino. Eu até me interessaria muito por algo assim com BASCOM, mas por enquanto nada. -
ESP8266 - A Pequena Maravilha para Comunicação WIFI
Intrudera6 respondeu ao tópico de aphawk em Microcontroladores
A minha estrategia é a mesma nas compras no eBay e aliexpress, compras pequenas e em pouca quantidade, mas às vezes eu passo de 50 dólares, e eventualmente vou mais longe. Tem algo que comprei pelo eBay, que ainda está em transito, e que custou mais de 200 usd e a Receita já deixou passar sem taxar (isso está informado no rastreio). Isso é o que dá eles quererem taxar tudo, acabam deixando passar coisas que eles realmente deveria taxar, mas não taxam porque ficam perdendo tempo com pequenas encomendas de 10 usd. Burrice é florida ! É normal me taxarem bem abaixo do valor de compra (provavelmente por excesso de trabalho, e às vezes o valor está declarado corretamente). Antigamente eles eram mais seletivos e questionavam os valores, mas o trabalho lá deve ser tanto atualmente (taxando as coisas de baixo valor) que eles não mais conseguem analisar direito o valor das encomendas, e ai perdem dinheiro, e como perdem. Como eu já disse, é melhor para eles não taxarem tudo e se concentrarem nas coisas que são realmente mais caras para não comerem mosca. A burocracia é burra ! Muito burra! -
ESP8266 - A Pequena Maravilha para Comunicação WIFI
Intrudera6 respondeu ao tópico de aphawk em Microcontroladores
@lucianolcoa compro muita miudeza no eBay, mas as vezes demora uns 5 meses. Tem certas coisas que é difícil encontrar no Brasil, eu andei encomendando uns capacitores para chaveamento para reparar uma fonte, as vezes eu tenho prazer em fazer estes pequenos reparos, mesmo que tenha que esperar meses para isso. -
ESP8266 - A Pequena Maravilha para Comunicação WIFI
Intrudera6 respondeu ao tópico de aphawk em Microcontroladores
@Papibakigrafo O mal do ML é o custo do frete, já teve coisas que comprei que o frete custou mais caro que o produto, e os Correios demoram um eternidade para entregar, e aí vem o chinês e vende algo por 0,75 usd com frete e tudo. Fica difícil desse jeito. Para quem mora no Nordeste o frete dos Correios inviabiliza muita coisa do ML. -
ESP8266 - A Pequena Maravilha para Comunicação WIFI
Intrudera6 respondeu ao tópico de aphawk em Microcontroladores
@lucianolcoa O aphawk tem mesmo um enorme conhecimento, mas eu, quem dera, não tenho nem 5 % do conhecimento dele. -
Projetos com Avr : Design, Programação em Basic e Assembly
Intrudera6 respondeu ao tópico de aphawk em Microcontroladores
Este meu programa foi o meu primeiro relógio, documentei ele tanto que ficou fácil de entender mesmo depois de uns 4 anos. Mas não acho que precisa o debouce, por sinal, com um contador após a primeira transição da para fazer reagir em microssegundos e inibir por 1 segundo (por exemplo), isto já seria suficiente, mas qualquer coisa melhor que 1 décimo de segundo já é muito para o nosso reflexo. O que eu gostava dos AVR é a documentação, eu sabia quase exatamente como as interrupções funcionavam, e isto facilita muito a programação. Eu gostei tanto deste meu primeiro que o aperfeicei colocando um DS3231, a precisão dele não era ruim, mas realmente piorava um pouco quando eu aumentava a quantidade de interrupções, ele está rodando até hoje num AVR. A solução do Paulo é interessante, vou estudar ela, mas agora eu mergulhei fundo nos ESP8266 e é difícil competir com o recurso de conectividade (wifi) e velocidade dele, mas o Bascon é muito mais fácil de programar do que usando o Arduino IDE, o C ainda me dá muita dor de cabeça. -
Projetos com Avr : Design, Programação em Basic e Assembly
Intrudera6 respondeu ao tópico de aphawk em Microcontroladores
O push r23 coloca o registrador r23 na pilha para preservar, e pop r23 retira da pilha, mas não lembro para que utilizei isso, acho que não precisava (coisa de principiante). E <> é a mesma coisa que diferente de (a mesma coisa que != no C#). -
Projetos com Avr : Design, Programação em Basic e Assembly
Intrudera6 respondeu ao tópico de aphawk em Microcontroladores
Este foi o meu primeiro Relógio Calendário que eu fiz em Bascom, um programa que imagino que esteja bastante fácil de ser intendido pela simplicidade. Acho que estudando ele você vai aprender alguma coisa. Você já deve ter visto que no Bascom você só pode fazer uma operação aritmética por vez e está limitado a um IF com apenas dois testes lógicos, para mais tem que encadear, dá mais trabalho fazer cálculos, mas fica bem mais simples para entender. -
Projetos com Avr : Design, Programação em Basic e Assembly
Intrudera6 respondeu ao tópico de aphawk em Microcontroladores
Eu tenho um exemplo de relógio feito em Bascom no AVR 328P, acho que deve ser fácil adaptar o meu programa para fazer o que você quer. No caso, este programa é um relógio calendário usando 1 timer (não uso RTC neste programa).Ele tem 100 interrupções por segundo, acho que pode ser modificado para mais. Ele está com muitos comentários no código, acho que vai ser muito útil no seu aprendizado. Não sei se dá para chegar ao milissegundo sem problemas (estou meio enferrujado no momento). Neste exemplo ele mostra num display LCD 8x2 a data e a hora e é possível acertar a hora por duas teclas (isto não foi implementado num Arduino, mas deve funcionar facilmente num). Este meu programa deu até vontade de voltar a programar em Bascom, estou ficando enferrujado do tempo que não meto a mão na linguagem. Quase dá vontade de fazer o cronômetro para você, não falta muito para isso. $regfile = "m328pdef.dat" ' specify the used micro Const Frequencia = 16000000 ' Frequência em Hz $crystal = Frequencia ' used crystal frequency $baud = 19200 ' use baud rate $hwstack = 32 ' default use 32 for the hardware stack $swstack = 10 ' default use 10 for the SW stack $framesize = 40 ' default use 40 for the frame space $initmicro Const Valor_prescale = 256 Const Interrupcoes_por_segundo = 100 Const Tempo_aguardando = Interrupcoes_por_segundo * 2 ' Tempo em segundos Const Preload = 65535 - Frequencia \(valor_prescale * Interrupcoes_por_segundo) + 1 Config Lcdpin = Pin , Db4 = Portd.4 , Db5 = Portd.5 , Db6 = Portd.6 , Db7 = Portd.7 , E = Portc.1 , Rs = Portc.2 Config Lcd = 16 * 2 ' Configurando o LCD Config Pinb.0 = Input ' Configura porta B0 para entrada Config Pinb.1 = Input ' Configura porta B1 para entrada Set Pinb.0 ' Liga resistência interna do AVR (valor é forçado a 1 se não está apertado) Set Pinb.1 ' Liga resistência interna do AVR (valor é forçado a 1 se não está apertado) S2 Alias Pinb.0 ' Define que porta B0 é S2 S1 Alias Pinb.1 ' Define que porta B1 é S2 Config Timer1 = Timer , Prescale = Valor_prescale ' Valores possíveis para Prescale => 1|8|64|256|1024 On Timer1 Tim1_isr ' Executa rotina Tim1_usr nas interrupções Timer1 = Preload Enable Timer1 Enable Interrupts ' As interrupções são habilitadas ' Fornece o número máximo de dias do mês na variável Global NDias Declare Sub Diasmes(ano_ent As Word , Mes_ent As Byte ) ' Formata a saída com dois dígitos e separador retornando na variável Entrada_Texto Declare Sub Formata(entrada As Byte , Entrada_texto As String * 8 , Complemento As string * 1) Dim Cont As Dword Dim Cont_ant As Dword Dim Contador As Dword Dim Contador_ant As Dword Dim Var1dword As Dword Dim Var2dword As Dword Dim Var1word As Word Dim Var2word As Word Dim Var1byte As Byte Dim Var2byte As Byte Dim Posicao As Byte Dim Acerta As Bit Dim S1_apertado As Bit Dim S2_apertado As Bit Dim Bissexto As Bit Dim Status_teclas As Bit Dim S1_Aux As Bit Dim S2_Aux As Bit Dim Centesimo As Byte Dim Segundo As Byte Dim Minuto As Byte Dim Hora As Byte Dim Dia As Byte Dim Mes As Byte Dim Ano As Word Dim Ano2 As Word Dim Anoaux As Byte Dim Ndias As Byte Dim Linha1 As String * 8 Dim Linha2 As String * 8 Dim Aux As String * 1 Contador = 0 Cont = 0 Centesimo = 00 Segundo = 00 Minuto = 30 Hora = 12 Dia = 01 Mes = 01 Ano = 2012 Call Diasmes(ano , Mes) Cont_ant = 1 ' força que mostre no LCD Cls S1_apertado = 1 ' = 0 se o botão esquerdo foi apertado S2_apertado = 1 ' = 0 se o botão direito foi apertado Posicao = 0 Acerta = 0 ' = 0 se não está em modo de edição Do S1_Aux = S1 S2_Aux = S2 If S1_Aux = 1 And S1_Apertado = 1 Then Status_Teclas = 0 If Acerta = 0 And S2_Aux = 0 Then ' não faz nada se S2 (botão direito) está apertado Status_teclas = 0 Else If Acerta = 0 And S1_Aux = 0 Then ' Botão da esquerda (S1=0) apertado entra em modo de edição (Acerta => 1) S1_apertado = 0 If Status_teclas < 1 Then Status_teclas = 1 Contador_ant = Contador ' Começa a contar o tempo até 2 segundos Else Var1Dword = Contador - Contador_ant If Var1Dword >= Tempo_Aguardando Then Posicao = 1 ' Até ser maior ou igual a 2 segundos End If Else If Acerta = 0 Then If Posicao = 1 And S1_Aux = 1 Then Acerta = 1 S1_apertado = 1 Status_teclas = 0 End If Else If S1_Aux = 0 And S2_Aux = 1 Then ' Botão da esquerda (S1=0) apertado e Botão da direita (S2=1) não apertado If S1_apertado = 1 Then S1_apertado = 0 If Posicao < 5 Then Incr Posicao Else Posicao = 0 Acerta = 0 Status_teclas = 0 End If End If Elseif S1_Aux = 1 and S1_Apertado = 0 Then S1_Apertado = 1 End If End If End If End If If Posicao > 0 And Posicao <= 5 Then ' colocar o cursor piscando na posição de edição If Posicao < 3 Then Var1byte = Posicao - 1 Var1byte = Var1byte * 3 Var1byte = Var1byte + 1 Locate 1 , Var1byte ' Linha 1 do LCD Else Var1byte = 5 - Posicao Var1byte = Var1byte * 3 Var1byte = Var1byte + 1 Locate 2 , Var1byte ' Linha 2 do LCD End If Cursor On Blink Else Posicao = 0 Acerta = 0 Cursor Off Blink End If If S1_Aux = 1 Then ' Botão da esquerda (S1=1) não apertado If Posicao > 0 And Acerta = 1 Then If S2_Aux = 0 And S2_apertado = 1 Then ' Botão da direita (S2=0) apertado S2_apertado = 0 Select Case Posicao Case 1 : If Hora < 23 Then Incr Hora Else Hora = 0 End If Case 2 : If Minuto < 59 Then Incr Minuto Else Minuto = 0 End If Timer1 = Preload Centesimo = 0 Segundo = 0 Case 3 To 4 : If Posicao = 3 Then Var1Word = Ano Mod 100 If Var1Word < 99 Then Incr Ano Else Ano = Ano - Var1Word End IF Else If Mes < 12 Then Incr Mes Else Mes = 1 End If End If Call Diasmes(ano , Mes) If Dia > Ndias Then Dia = Ndias Case 5 : If Dia < Ndias Then Incr Dia Else Dia = 1 End If End Select Cont_ant = 0 Elseif S2_Aux = 1 And S2_apertado = 0 Then ' Botão da direita (S2=1) não apertado S2_apertado = 1 End If ElseIf S1_Apertado = 0 Then S1_Apertado = 1 End If End If While Cont_ant <> Cont Cont_ant = Cont Home Linha1 = "" Aux = ":" Call Formata(hora , Linha1 , Aux) Call Formata(minuto , Linha1 , Aux) Aux = "" Call Formata(segundo , Linha1 , Aux) Lcd Linha1 Lowerline Ano2 = Ano Mod 100 Anoaux = Ano2 Linha2 = "" Aux = "/" Call Formata(dia , Linha2 , Aux) Call Formata(mes , Linha2 , Aux) Aux = "" Call Formata(anoaux , Linha2 , Aux) Lcd Linha2 'Locate 1 , 4 'Cursor On Blink ' faz piscar o cursor na linha 1 e coluna 4 do LCD Wend Loop End 'end program _init_micro: Ddrc.3 = 1 Portc.3 = 0 'LCD: R/W low Return '------------------------------------------------------------------ ' Sub-rotina de timer1, chamada 100 vezes por segundo ' Tim1_isr: push r23 Timer1 = Preload Incr Contador If Centesimo < 99 Then Incr Centesimo Else Centesimo = 0 If Segundo < 59 Then Incr Segundo Else Segundo = 0 If Minuto < 59 Then Incr Minuto Else Minuto = 0 If Hora < 23 Then Incr Hora Else Hora = 0 If Dia < Ndias Then Incr Dia Else Dia = 1 If Mes < 12 Then Incr Mes Else Mes = 1 Incr Ano End If Call Diasmes(ano , Mes) End If End If End If End If Incr Cont End If pop r23 Return '------------------------------------------------------------------ ' Fornece o número máximo de dias do mês na variável NDias Sub Diasmes(ano_ent As Word , Mes_ent As Byte ) Local Div4 As Word Div4 = Ano_ent And 3 ' equivalente a Mod 4, e se é maior que 0 não é divisível If Div4 > 0 Then Bissexto = 0 Else Bissexto = 1 Var2Word = Ano_ent Mod 400 ' se é maior que 0 não é divisível Var1Word = Ano_ent Mod 100 ' se é maior que 0 não é divisível If Var1Word = 0 And Var2Word > 0 Then Bissexto = 0 End If If Mes_ent = 2 Then NDias = 28 + Bissexto Else Var1Byte = Mes_ent And &B00001001 If Var1Byte = &B00001000 Or Var1Byte = &B00000001 Then NDias = 31 Else NDias = 30 End If End If End Sub ' ============================================================================== ' Formata a saída com dois dígitos e separador retornando na variável Entrada_Texto Sub Formata(Entrada As byte , Entrada_Texto As String * 8 , Complemento As string * 1) If Entrada < 10 Then Entrada_Texto = Entrada_Texto + "0" Entrada_Texto = Entrada_Texto + Str(Entrada) Entrada_Texto = Entrada_Texto + Complemento End sub -
Comprar placa eletronica usada vale a pena?
Intrudera6 respondeu ao tópico de kifirefox em Eletrônica
Comprar equipamento usado ???? A resposta depende de que equipamento, se for um equipamento usado de audio de primeira linha (eletrônica e alto-falantes), eles costumam durar décadas se bem tratados e são extremamente caros (quem conhece sabe se ele está bom de ouvido, literalmente). Isto também vale para instrumentos de medição caros e de alta qualidade, eles duram também muitos anos, já comprei algumas coisas interessantes usadas, que se fosse comprar novas iria pagar muito dinheiro, elas foram por exemplo: um Mutímetro Fluke 87 (fiz uma ótima economia), comprei um padrão de 10Mhz GPSDO da Picosync por 200USD (eles são caríssimos). Comprei um Frequencímetro HP (não lembro o modelo agora), mas ele apesar de antigo (mais de 20 anos de idade) está ótimo e tem muita precisão além de ter recursos muito interessantes, não lembro o preço mas a economia foi brutal quando comprei há alguns anos atrás. Tudo está até hoje funcionando muito bem e com jeito de que vai funcionar por muitos anos mais. Mas placa-mãe usada só se for de primeira linha e a mesma coisa vale para placa de vídeo, o risco de dar problema é muito maior, mas tudo depende do tempo de uso e de onde foi utilizado (aqui em Salvador é de alto risco por causa da maresia), se não tiver muito tempo de uso pode valer a pena. Tem muito produto eletrônico descartável hoje em dia, tem-se que tomar muito cuidado. Material de informática hoje é quase tudo descartável. -
ESP8266 - A Pequena Maravilha para Comunicação WIFI
Intrudera6 respondeu ao tópico de aphawk em Microcontroladores
@ViniciusKruz Descobri o erro, eu simplesmente tinha feito uma cópia mal feita das rotinas de captura da hora por Servidor NTP da Internet, não estava configurando a conexão UDP corretamente e assim ela não iria funcionar nunca. Agora que encontrei o que estava faltando já consigo pegar a hora da Internet, e ela não sofre nenhuma interferência da conexão aberta com um Browser. Mas tenho que diminuir os atrasos e corrigir os desvios provocados pelo tempo de execução das minhas rotinas e das interferências entre elas. Perdi muito tempo nisso, já poderia ter concluído todas as minhas rotinas de sincronismo, mas acho que isto vai ficar para o próximo fim de semana. adicionado 13 minutos depois O endereço 2.br.pool.ntp.org está correto, mas ele não funciona com alguns programas (não sei porque ?), eu tenho um programa Dimension 4 (antigo), que não é capaz de trazer nada deste servidor, é como se este servidor não existisse, mas pela minha rotina (não é minha, eu peguei da Internet e aperfeiçoei incluindo uns recursos a mais) funciona corretamente e tem um lag baixíssimo. O endereço IP muda deste servidor cada vez que eu aciono (não é exatamente um servidor é um endereço coringa que redireciona para um servidor NTP próximo). O meu programa de teste está funcionando, mas ainda está faltando muita coisa para ser realmente útil, e nele dá para ver as rotinas de captura e conversão funcionando (com este servidor), vou colocar em anexo para vocês verem. Teste.zip -
ESP8266 - A Pequena Maravilha para Comunicação WIFI
Intrudera6 respondeu ao tópico de aphawk em Microcontroladores
@aphawk Eu não sei o que está ocorrendo, no programa que eu usei para testar o meu programa que pega hora do Servidor NTP funciona perfeitamente (sem conexão com o browser), mas no que estou usando junto com acesso por browser não está lendo nada do Servidor NTP, vou colocar em anexo o programa para ver se alguém consegue matar a charada. Teste.zip -
@aphawk Você poderia passar o link desta atualização? Nunca atualizei com receio de perder os upgrades, que são bem interessantes.
-
ESP8266 - A Pequena Maravilha para Comunicação WIFI
Intrudera6 respondeu ao tópico de aphawk em Microcontroladores
@ViniciusKruz Misteriosamente a minha rotina testada para pegar a hora na Internet em Servidor NTP não está retornando nada e eu não sei o porque ? Quem sabe se pode ser interferência da rotina que abre uma seção com o Browser, será que ela pode estar atrapalhando ? Como eu fecho esta conexão ? -
ESP8266 - A Pequena Maravilha para Comunicação WIFI
Intrudera6 respondeu ao tópico de aphawk em Microcontroladores
Interessante, vou estudar o seu código para entender e utilizar. Ainda estou dando muitas (dolorosas) cabeçadas em C, e muitas coisas que tento fazer não funcionam como eu gostaria, ainda tenho muita coisa para aprender, muita mesmo. E estou evoluindo devagar na minha página de calibração automática para o DS3231, mas em breve terei alguma coisa de útil. Vou devagar, mas em algum momento ela vai funcionar (com a interface meio tosca inicialmente).
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