Ao contrário da noite passada, esta noite funcionou tudo bem.
Entre as 2h52 até cerca das 10h foram recolhidas 861 temperaturas, que já transformei no gráfico em baixo.
Breve análise:
* Logo no inicio há uma queda de 28,5ºC para 28ºC, que corresponde á altura em que me deitei, apagando as luzes.
* Até ás 5h há uma constante queda de temperatura, pois a janela estava aberta. Era o fresco da noite a entrar.
* Ficou tudo muito estável até por volta das 8h30, altura em que sobe ou desce, de acordo com a brisa.
* As alterações terminam por volta das 9h20, momento em que me levantei e corri a persiana, deixando apenas passar o vento ainda fresco.
Acabei de fazer mais um teste, desta vez com um intervalo de tempo de 30s (mais ou menos) ao longo de cerca de 2h.
Na imagem em baixo pode-se ver já algumas alterações ao código, entre elas a indicação via serial da quantidade de temperatura guardadas.
Por último este é o aspecto gráfico do registo.
Após ter ficado a noite toda em funcionamento, apenas obtive o registo de 100 valores.
Concluí que não tinha sido devido a uma má programação, mas sim por acaso ele desligou sem me aperceber.
Tenho estado a testar e a cada 2,5s tiro uma temperatura, que na totalidade já armazenei cerca de 1800 valores.
Hoje vou voltar a deixar tudo ligado para fazer a recolha de dados durante a noite como teste.
Agora não vai falhar!
;)
Carros de Fórmula 1 dependem de sistemas eletrônicos avançados para funcionar e atingirem o máximo de seu potencial. O equipamento que comanda tudo isso é chamado de ECU (sigla em inglês para Unidade Eletrônica de Controle), ele funciona como um computador, monitorando diversos indicadores dos carros.
A ideia nasceu de uma conversa entre um engenheiro da McLaren e um médico de um hospital de Birmingham. Juntos eles decidiram aproveitar as capacidades multitarefa da unidade eletrônica para monitorar dados sensíveis que podem significar a vida ou a morte de crianças em tratamento.
A ECU é um equipamento padronizado na F1. Todos os carros têm uma, e todas são iguais, construídas pela McLaren. No carro de corrida, o computador mede em tempo real dados relacionados à pressão do óleo, rotações do motor, velocidade, autonomia e etc. No hospital, mede batimentos cardíacos, níveis de oxigenação do sangue, pressão sanguínea e etc.
Como tudo na F1 é muito rápido, a ECU precisa ser capaz de lidar com um grande volume de dados por volta de maneira ágil o suficiente para municiar os engenheiros e pilotos com informações que possam melhorar seu desempenho. Levemente adaptada ao cotidiano do hospital, a ECU traz consigo essa grande capacidade: ela pode, por exemplo, traçar 125 cardiogramas por minuto, em lugar de um por hora, como os computadores convencionais dos hospitais.
De acordo com a doutora Heather Duncan, a inovação quebra paradigmas. “Engenheiros da F1 fazem muita monitoração em tempo real e procuram predizer o que vai acontecer, coisa que nós no hospital não temos tendência de fazer”, disse. Em quatro anos de uso na Fórmula 1, o computador da McLaren jamais causou o abandono de um carro numa corrida, o que dá uma ideia do nível de confiabilidade do equipamento.
Após resolver alguns problemas os primeiros dados já estão a ser "catapultados" cá para fora eheheh.
Pode-se ver a temperatura a começar em 23,5ºC e a subir até aos 28,0ºC (aproximei um candeeiro).
De momento, e somente para teste, o intervalo entre cada medida é de 2s.
Próximo objectivo é ir aperfeiçoando este novo código, assim como o circuito (adicionar interruptores, etc) para entender o que preciso ainda de adicionar e comprar se necessário.
Para já estou com uma perspectiva melhor que aquela com que comecei. Estava a contar ter mais problemas... felizmente não aconteceu :D.
"Não percam os próximos episódios, porque nós também não!"
Inúmeros conceitos de smartphones flexíveis já foram criados, mas desde sempre houve um componente que era uma pedra no caminho: a bateria de lítio, que é a responsável pela energia de praticamente todos os aparelhos portáteis. A criação da LG, caso seja realmente realizada e por um custo razoável, pode finalmente tornar possível a chegada de aparelhos de corpo totalmente flexível.
A bateria é formada por finos fios de cobre revestidos de estanho e níquel. Ao serem enrolados em uma haste de metal, os fios se transformam em molas fortes e elásticas, permitindo uma grande maleabilidade. Os responsáveis pelo projeto afirmam que a mola é extremamente flexível e pode sofrer muita tensão sem causar nenhum dano à sua estrutura e sem perder sua capacidade de energia.
A tecnologia, somada a outras já criadas, como as telas moles da Samsung, mostram que os telefones flexíveis, que pareciam ser um futuro distante, são cada vez mais possíveis. E agora, o que virá pela frente?
Hoje chegou a EEPROM da MICROCHIP.
Assim já tendo tudo para testar o circuito!
Já o montei numa breadboard e já fiz os primeiros testes...
Até agora está tudo a funcionar como esperado.
Onde vou arranjar motores baratos que desenvolvam um grande binário e ainda por cima, tenham mais de 300RPM.
A possível solução está em berbequins a baterias, tal como o RYOBI CDC1802M.
O binário desenvolvido de 42N.m, equivale a 428Kg.cm. Adiciona ainda a vantagem de ter um selector mecânico para 2 velocidades, sendo a máxima numa das opções de 350RPM (ideal).
Um pequeno vídeo de um sistema semelhante, mas usando motores de aparafusadoras.
Mais informações em:
http://www.rexusbexus.net
Acabou de chegar os sensores DS18S20 da MAXIM.
Sexta-feira já posso começar a fazer o teste e ver como corre tudo. Desta forma só falta a EEPROM, que também não deve tardar a chegar e qualquer dia já posso ter tudo numa breadboard.
Continuem a acompanhar a evolução do projecto aqui :).
Mais uma noticia para rir.
Depois de toda a bagunça envolvendo as ações judiciais entre Apple e Samsung e a vitória da companhia norte-americana, eis que a Ásia já prepara seu contra-ataque, dessa vez pelas mãos da China. Isso porque uma companhia local já afirmou que irá processar a Maçã caso o iPhone 5 traga um visual semelhante ao seu celular.O curioso de tudo isso é que o smartphone em questão, o GooPhone, é um dos diversos clones disponíveis no mercado e foi totalmente montado a partir dos rumores em torno das especificações da nova geração de aparelhos da Apple. Isso faz com que, se os boatos realmente estiverem corretos, o sucessor do iPhone 4S já chegará ao mercado sendo considerado uma cópia — e os advogados chineses estão à espera de que isso aconteça para poderem agir.
O pior de tudo é que a “sacada” faz muito sentido. Como o iPhone 5 ainda não foi anunciado, todas as informações sobre ele são apenas suposições, o que dá à fabricante oriental a vantagem na hora de levar a briga para a justiça.
Noticia retirada de:
http://www.paraiba.com.br/2012/09/04/75483-clone-chines-do-iphone-5-quer-processar-apple-por-quebra-de-patente
Mais uma noticia curiosa:
http://g1.globo.com/tecnologia/noticia/2012/07/outra-empresa-chinesa-processa-apple-por-uso-de-marca.html
Esta é uma descrição do código e da forma como este está organizado.
O código não vai ser colocado aqui, pois acredito que uma boa descrição das várias etapas é mais importante, além do mais pode ser feito em várias linguagens com MCU diferentes, etc...
- Iniciar o sistema (configurações de clock, ADC, etc.);
- Iniciar a biblioteca da EEPROM (deste caso 24AA128);
- Fazer ciclo 'for' para que o 25 primeiros endereços sejam colocados a zeros. Como já tinha dito, é aqui que vai ser guardado o valor do último ciclo com valor de temperatura válido;
- Fazer um ciclo 'while' que incorpora: incremento de endereço, leitura do sensor, verificação se é temperatura negativa ou positiva, escrever na memória pela ordem descrita no post anterior, guardar o número de ciclos feito até ao momento, etc;
- O ciclo 'while' em cima será interrompido quando houver algo disponível na porta serial. Neste caso, quando for enviado o comando '123' ele sairá do ciclo;
- Após sair do ciclo, é perguntado se se pretende 'descarregar os dados?'. A resposta deverá ser 'SIM', caso contrário a pergunta é feita novamente;
- Depois de confirmar é feita a soma dos valores guardados nos primeiros 25 endereços, para saber qual o número de ciclos de leitura (ou ciclos de escrita que foram feitos);
- Sabendo o número de ciclos, entra-se num ciclo 'while' que vai buscar dados à memória, obter a temperatura (ver post anterior) e envia-la via serial. Quando o número de ciclos de leitura, for igual ao número limite de ciclos de escrita, o 'while' termina;
- Por último fica-se a aguardar um reset ao circuito;
![]() |
Clicar na imagem para ver maior |
Antes de falar e descrever um pouco o código que tenho planeado até agora, vou fazer umas breves considerações em relação à forma como ficam organizados os dados na eeprom. O código será deixado para o post seguinte.
O problema que surgia era como gravar números negativos, assim sendo, antes de gravar os valores é feita uma verificação se são positivos ou negativos. No caso de serem negativos é feita uma multiplicação por -1 e gravados no endereço mais baixo dos 3 necessários. Os restantes são ocupados com o valor zero.
No caso de ser positivo, o endereço mais baixo fica com o valor zero, os dois seguintes com parte do valor (a soma resulta no valor correcto de temperatura).
Importante também é gravar o número do ultimo endereço na eeprom (para o caso de a bateria falhar), para que aquando da extracção dos dados, apenas saírem os válidos e não todos os 16mil.
Em suma os primeiros 25 endereços são para guardar o número de ciclos (3 em 3) onde ficou o último valor de temperatura válido e daí para cima serão distribuídos em arranjos de 3, onde o primeiro aloja a temperatura negativa e os dois seguintes a temperatura positiva.
Por exemplo:
* Foi lida do sensor a temperatura 20,5ºC.Este valor é multiplicado por 10, obtendo 205.
Como é um valor positivo, procedi da seguinte forma:
Ocorreu um ciclo, então o endereço zero passa a conter o valor 1.
* Foi lida do sensor a temperatura -7ºC.
Este valor é multiplicado por 10, obtendo -70.
Como é um valor negativo, é multiplicado por -1 (obter o simétrico).
No endereço 25 será colocado 70, no endereço 26 será colocado zero e no endereço 27 será colocado zero.
Ocorreu um ciclo, então o endereço zero passa a conter o valor 1.
Para os dois casos, para obter o valor da temperatura basta:
([endereço26]+[endereço27]-[endereço25])/10
Este post é uma continuação do anterior...
Tal como já tinha dito, consegui fazer o pedido de um sample DS18S20 da MAXIM.
Hoje, embora tenha tido pouco tempo, pus as leituras em dia sobre este sensor e o que precisava fazer para ele me desse a temperatura.
Este sensor utiliza comunicação "1wire", desenvolvida pela Dallas Semiconductor Corp. que actualmente pertence à MAXIM. Como o nome indica, este tipo de comunicação utiliza apenas um fio e permite ligar vários CI's que utilizem o mesmo protocolo. Um pouco à semelhança do I2C, sendo que este utiliza 2 fios para comunicação.
O DS18S20 tem uma resolução de 9 bits, o que resulta em "steps" de 0,5ºC em 0,5ºC.
Para este meu projecto este step serve, mas se quisesse poderia optar por um DS18S22 que penso ter uma resolução de 0,1ºC.
Quanto ao que realmente importa, este sensor utiliza menos 1mA em "espera" e aquando da transmissão de dados tem umas oscilações até cerca de 2,5mA.
No que toca à programação bastou uma rápida pesquisa pela internet para saber como funciona o protocolo "1wire" e como "falar" com este sensor.
Uma vez mais, não vou colocar o código completo, mas o essencial é isto (utilizando "1wire.c" e "ds1820.c"):
void main()
{
float temperatura;
pic_init();
temperatura=ds1820_read();
temperatura*=10;
}
O valor resultante ("temperatura") terá 3 casas sem decimal, ou seja, ao invés de 12,5ºC será 125ºC.
O circuito de teste, em simulação, foi o seguinte e já tive os primeiros resultados satisfatórios.
É muito importante cortar ao máximo no consumo de energia, para que no minimo o datalogger aguente 1 mês a funcionar com as mesmas baterias. Esses cuidados ainda não foram tomados pois ainda estou na fase de simulação/teste e até ao final muitas coisas ainda mudarão.
Próxima parte:
No passo seguinte vou-me debruçar mais sobre o código e ver se haverá algumas correcções electrónicas a fazer.A planear também será a forma de armazenar eficazmente todos os valores. Por agora estou a ver que tenho de utilizar 3 endereços da memória, 1 para valores negativos (até -25.6ºC) e as outras duas para valores positivos (25.6+25.6=51.2ºC). Dá-me "folga" ainda para fazer o que pretendo, que é a aquisição de temperatura a cada 15min.
Por hoje é tudo.
No meio de tanta coisa má, venham algumas boas noticias.
Excelente vídeo da APREN.
Um pequeno vídeo que encontrei no youtube, daquilo que pretendo fazer, mas puramente virado para estudo de condições climatéricas, com direito a protector de radiação e tudo :D.
Solução?
EDIT: consegui um sample DS18S20 da MAXIM e assim sendo, será esse mesmo que vou utilizar!
Já andava a ficar preocupado!
Passei praticamente todas as férias sem iniciar um projecto que tenha mesmo intenções de o levar até ao final.
Finalmente a ideia apareceu hoje!
Para quem não sabe, dediquei-me muito tempo à meteorologia (desde já recomento a visita pela comunidade meteopt) e embora tenha ficado com menos tempo para lhe dedicar, continuei sempre com um gosto especial pelos fenómenos atmosféricos.
Assim, o meu próximo projecto será um datalogger de temperatura, que automaticamente grave um número ainda elevado de temperaturas.
Esta ideia já "não é de agora" e já tentei fazer com um cartão MMC/SD. Não tive resultados práticos (problemas com bibliotecas, etc...).
Desta vez vou levar avante a mesma ideia, mas simplificando um pouco mais (ou não... o circuito será mais complexo que antes).
Vou utilizar um MCU menos complexo (a principio um PIC16F88) e usar uma 24AA128, para armazenar todos os dados.
Trata-se de um EEPROM de 128K, dividida em 16 mil endereços de 8bits cada, com comunicação I2C.
Estou à espera das amostras para os testes reais, mas já consegui trabalhar com uma pelo simulador.
Apenas enviei um número para um endereço e logo em seguida fui ler o mesmo endereço para ver se o valor era o mesmo.
Simples mas suficiente para o teste. Quanto ao código, não é muito aconselhável que coloque aqui tudo, mas o essencial é este:
void main()
{ long int d;
pic_init();
init_ext_eeprom();
delay_ms(500);
write_ext_eeprom(1, 100);
delay_ms(500);
d = read_ext_eeprom(1);
}
Então mas depois quando quiser ter acesso aos valores?
Para isso, vou deixar a porta serial livre, e fazer a programação de forma a que ao enviar um comando qualquer, o ciclo pára e é iniciada a leitura da EEPROM e o consequente envio para o computador de todos os dados.
Por ultimo uma análise à quantidade de dados que vou poder armazenar. Ora como quero algum rigor e quero a primeira casa decimal da temperatura, vou guardar 25,6ºC (por exemplo) na forma de 256.
Assim vou necessitar de pelo menos 256+256, ou seja 10bits.
16 000 / 2 = 8 000
Poderei guardar então 8 mil temperaturas, o que é muito mais do que preciso.
Até próximos desenvolvimentos, ou engenhocas ;)
O que é?
Assim nas alturas de menor consumo, por exemplo numa casa, o excedente entra na rede eléctrica e em alturas de consumo maior em que os sistemas não produzem suficiente, o que faltar vai-se "buscar" à rede.
A rede eléctrica funciona como uma "bateria". Quando produzimos a mais o resto é guardado numa bateria, quando produzimos a menos a bateria fornece o que falta.
Basicamente é isto.
Como funciona?
O que torna o "Grid-tie Inverter" especial é a sua capacidade em sincronizar a sua frequência de saída com a frequência da rede distribuidora. No caso de Portugal a frequência é 50Hz, período de 20mS.
Esse sincronismo é feito com recurso a um MCU (ou possivelmente um CI com electrónica dedicada) para fazer o sincronismo perfeito entre os dois sistemas.
Links: http://en.wikipedia.org/wiki/Grid-tie_inverter
Um bom sistema, tendo em conta o que se poupa em manutenção de baterias, como nos sistemas tradicionais, que durante a noite vão "buscar" a energia armazenada.
Há ainda mais que se pode dizer, mas isto é o que resultou agora de uma breve leitura sobre o assunto.
Um obrigado ao Luis Garcia, pois com as suas dúvidas acabou de arranjar mais um artigo para o meu blog :D.
Hoje ao fazer umas arrumações encontrei este pequeno aparelho.
Era uma luz de presença, com interruptor magnético. Por exemplo, ao abrir uma porta, a luz acendia.
Como não tinha utilidade, decidi aproveitar as peças.
Desde brinquedo saiu a principio 2 LED's de alto brilho e 3 pilhas LR44.
Mas momentos antes de deitar fora, apercebi-me de que a caixa era perfeita para alojar um possível circuito no futuro. Tinha já o suporte para pilhas, bastante pequena e "bonita".
A engenhoca do dia foi tentar recuperar o meu 'computador de bicicleta'.
Ultimamente tenho ido treinar todos os dias, mas sempre sem o levar, pois a pilha tinha ido à vida. Ainda assim, esta pilha de tamanho tão reduzido conseguiu manter este sistema a funciona perfeitamente durante cerca de 2 anos. Nada mal...
Visto que a pilha estava gasta, peguei nela e fui dar uma volta por chineses e ourivesarias para comprar uma igual. Problema? Das 2 ourivesarias e da loja dos chineses, nenhuma tinha uma pilha de igual referência.
Estava aqui um caso...
Teimei que hoje haveria de ir treinar e levar o 'computador', era altura de resolver esse problema.
No último local onde estive, numa das ourivesarias, quando a senhora recolhia as pilhas todas reparei numa de 3V, tal como a original e fez-se luz! Pedi para que me deixasse ver todas as pilhas.
O que procurava? Uma pilha com a mesma espessura (altura), com o mesmo valor de tensão e ligeiramente mais pequena (diâmetro).
Quando encontrei a pilha que satisfazia tudo isso, paguei e fui para casa.
Hora de "engenhocar". A ideia era aproveitar o contacto do fundo do computador e puxar o outro contacto com um fio muito fino (um fio de um cabo multifilar) para ligar à pilha.
Tudo correu como planeado e o resultado está à vista ;).
Depois de ter tido alguns problemas com o wordpress, decidi exportar o blog para o blogspot.
Além de ser muito mais flexível no que toca a configurações etc... dá ao blog uma dimensão totalmente diferente, o que se reflecte no número de visitas.
É possível que ainda nos próximos dias possa haver algumas mudanças, mas nada de tão significativo.
O temporizador 555 é um dos mais populares e versáteis circuitos integrados já produzidos - ver WIKI.
Eu tinha aqui alguns e decidi ir buscar um para fazer um simples pisca-pisca de 1 LED. Para o efeito que pretendo, os tempos não têm de ser algo rigoroso, desde que o LED dê apenas um flash curto e fique 1,5s ou mais apagado.
Começando, como sempre, pelo principio, com uma breve pesquisa no google encontramos o datasheet do NE555.
O datasheet é super completo e em menos de 1minuto encontra-se as formulas necessárias, assim como o esquema de ligações para fazer um oscilador.
Vamos a cálculos. Substituindo os valores nas formulas em cima, obtemos:
Thigh= ~1,6s
Tlow= ~71,6mS
Ttotal= ~1,67s
Está certo? A simulação diz que sim!
![]() |
Período escrito a amarelo no fundo da imagem |

O primeiro homem a pisar na Lua, Neil Armstrong, morreu aos 82 anos nos Estados Unidos neste sábado (25), informou a família do astronauta em nota à imprensa.
"Estamos de coração partido ao dividir a notícia de que Neil Armstrong faleceu após complicações ligadas a procedimentos cardiovasculares", diz a nota. "Neil foi um marido, pai, avó, irmão e amigo amoroso."
Em 7 de agosto, ele passou por uma cirurgia de emergência no coração, após médicos encontrarem quatro entupimentos em suas artérias, e desde então estava se recuperando no hospital em Cincinnati, onde morava com a esposa.
No Twitter, a Nasa ofereceu "seus sentimentos pela morte de Neil Armstrong, ex-piloto de testes, astronauta e primeiro homem na Lua."

Armstrong foi o comandante da Apollo 11, missão que chegou ao satélite da Terra em 20 de julho de 1969. Ao ser o primeiro ser humano a pisar em outro corpo celeste, Armstrong proferiu a frase: “Um pequeno passo para um homem, um grande salto para a humanidade.”
Retirado de G1 Globo (clicar para ver noticia completa).
R.I.P.

Esta engenhoca aprendi no outro dia. No interior das resistências de potência (ver em baixo) encontra-se uma espécie de bobina com um núcleo em carbono (parece-me). O fio que faz o enrolamento é muito fino e parte-se com alguma facilidade quando se tenta desenrolar se se criarem vincos com as unhas. Usar uma pinça é o ideal.
A imagem em cima dá para ver perfeitamente a constituição destas resistências bobinadas...
Depois de se desenrolar um pouco, basta ligar a uma fonte de alimentação e ir controlando a corrente que passa por esse fio. Corrente a mais faz com que aqueça muito e depressa e o fio parte, corrente a menos faz com que o fio nem chegue a aquecer.
No entanto não é difícil encontrar um meio termo, pois nota-se quando o fio começa a mudar de tom e a ficar mais avermelhado.
O fio depois de quente dilata um pouco, por isso torna-se complicado manobrar. Depois de quente pode-se esticar um bocadinho até ficar "firme", mas antes de desligar a fonte deve-se voltar a encolher para que ao arrefecer (vai contrair) ele não quebre.
A imagem em baixo mostra o quão simples e fácil é cortar um pedaço de papel com este fio!
Agradecimentos a:
Paulo Marmota: o meu primo "engenhoqueiro";
A. Sergio Sena: ao comentar o artigo dos balões de altitude, lembrou-me de vir buscar estas fotos e colocar por cá;
Ainda me dizem que quem compra pelo ebay recebe tudo estragado, bla bla bla. Este exemplo é de uma compra de um LCD alfanumérico de 16 caracteres por 2 linhas, pelo qual dei cerca de 2,5USD (cerca de 2€). Em Portugal comprar este tipo de material é irrisoriamente caro. Não é difícil encontrar uma loja na web que peça mais de 10€ por LCD's semelhantes e ainda temos de pagar os portes de envio. Este LCD por 2€ estava à porta de minha casa!
Qual é o inconveniente? Estar cerca de 2 a 3 semanas à espera de o receber. Mas eu não tenho pressa para ir a lado algum...
Este LCD (data) foi ligado a um PIC16F88, que programei usando a biblioteca "flex_lcd.c" (como poderia ser um Arduíno com uma biblioteca qualquer). Basta ler o tópico para se ficar a entender o funcionamento da biblioteca, por isso não vou estar aqui a explicar novamente.
Pelo preço o LCD parece-me muito bom, excepto o facto de ser um pouco "escuro", mas talvez seja devido à cor azul (estão disponíveis para venda noutras cores). Já me apercebi tarde e como podem ver nas ultimas fotos, estão 2 fios não soldados a alimentar o LED incorporado no próprio LCD, para contrariar essa "escuridão" toda.
Comecei por soldar os pinos que iam ser usados numa régua de terminais e passei para a fase de simulação, não para testar, pois testar é na realidade, mas sim para fazer o esquema de ligações.
Após isto, foi só montar tudo numa breadboard e testar.
Os resultados aparecem nas fotos em baixo... mas só depois de resolvidos pequenos problemas.
Engenhoca de teste iniciada ás 23h50 e terminada ás 01h45.
Se gostaram e querem ver mais artigos aqui, por favor partilhem esta página!