Arduino rodando linguagem LISP (microLISP)

   Que tempo maravilhoso em que vivemos!. Recentemente o website Hackaday.com noticiou que um maker/hobbista chamado Davies Johnson implementou um interpretador da linguagem LISP em um ATMEGA328 (o mesmo chip do Arduino UNO); a linguagem implementada foi a microLISP, uma simplificação da linguagem de programação LISP.
   
microLISP em ATMEGA328; fonte: Hackaday

   Segundo a Wikipedia a linguagem LISP é a segunda mais antiga linguagem de alto nível ainda em grande uso nos dias de hoje; ela foi criada em 1958. Implementar um terminal rodando microLISP em um ATMEGA328 é um grande feito, visto a limitada quantidade de memória do mesmo (32k de Flash e 2k de RAM).
   O artigo na página do Hackaday cita que o hardware utilizado nos testes conta com uma entrada para teclado PS/2, um display OLED monocromático e um ATMEGA328 apenas. 
   A página oficial do projeto mostra todos os detalhes da implementação da linguagem no ATMEGA328, inclusive com exemplos básicos de utilização: suporte de IO's analógicos e digitais, I2C, SPI e Serial.
   Um ótimo projeto para os amantes de LISP (não é meu caso hahaha) e de espaço limitado para código.

Registrador de temperatura ambiente com SD card

   No artigo de hoje venho trazer um projeto bem interessante desenvolvido pelo Espanhol Jesus Echavarria; trata-se de um registrador de temperatura ambiente alimentado à bateria e que salva os dados coletados dentro de um cartão de memória SD. 


   O sensor de temperatura/umidade utilizado é o HDC1050 da Texas Instruments; é utilizado também um sensor de luz visível modelo TEMT6000 da Vishay semicondutores, sobre o qual eu já comentei neste link. Todo o gerenciamento e leitura dos dados é realizado através de um microcontrolador  8-bit PIC18F2620 , enquanto o armazenamento dos dados é feito em um cartão micro-SD.


   Segundo o autor do artigo a utilização final do produto é em containeres para navios, afim de registrar dados ambientais das viagens (para fins de garantia de qualidade das mercadorias); ainda segundo o autor a vida da bateria do protótipo é de 4 dias, ainda inviável para a utilização final.
   O projeto completo (com código fonte, esquemático e testes completos) é acessado NESTE LINK. Aproveitem!.

Diodos zener - como funcionam e como usar (EEVBlog)

   Hoje trago para vocês um vídeo sobre um componente eletrônico chamado diodos Zener. O vídeo é uma aula feita pelo Dave Jones do canal EEVBlog no Youtube, tem duração de 30 minutos e é em Inglês (você pode ativar legendas em Inglês e também traduação automática para Português).
   O diodo Zener é basicamente um diodo (que deixa a corrente passar em apenas um sentido), mas que permite uma determinada corrente circular no sentido "contrário" também, até que a tensão Zener seja atingida; este efeito torna o diodo Zener uma espécie de regulador de tensão.


Opinião: o Dave Jones do EEVBlog é um ótimo professor, sabe passar bem as ideias e conceitos; quando vi este video sobre diodo Zener eu pensei na hora em compartilhar com vocês, pois tem coisa ali que nem eu sabia (ou não lembrava). Aproveitem!!.

Código aberto: uma casa inteira Open-source!

   A página OpenSource.com recentemente compartilhou uma iniciativa legal do instituto "Open Building Institute": as instruções para montagem de uma casa completa estão sendo disponibilizadas gratuitamente através do website, com foco em modularidade, eficiência energética e ecologia.


   Segundo a própria página oficial do projeto, estão sendo disponibilizados arquivos para fabricação e montagem de estrutura da casa, portas e janelas, móveis, materiais de cozinha (appliances) e estufa (greenhouse) hidropônica, todos em formato 3D utilizáveis em softwares livres como FreeCad e Blender
   Ainda segundo o website oficial o foco do projeto é na utilização de energias renováveis (solar), obtenção de água da chuva, tratamento local de esgoto (não conectado á rede externa) e compostagem de restos de alimentos.

Para acessar o guia de montagem (com todas as instruções em Inglês) clique aqui.


   O pessoal do OpenBuildingInstitute também está neste momento (Julho de 2016) com uma campanha de financiamento coletivo no Kickstarter (link aqui), com o objetivo de levantar fundos para o projeto e lançar guias (em formato físico e eBook) de montagem das casas, além de cursos para treinamento de mão de obra.

------------------------------------

Opinião: toda iniciativa de tornar o mundo melhor é válida e deve ser bem analisada e estudada. Obviamente o OpenBuildingInstitute é apenas mais uma empresa focada no seu próprio negócio, mas com a louvável diferença de que eles estão disponibilizando conteúdo gratuitamente. 
   Em termos de custo e tempo, o projeto disponível atualmente sai em torno de US$25.000 (dólares) e demora apenas 5 dias para ficar pronto (caso montado colaborativamente, com ajuda de diversas pessoas); nada mal para um projeto deste porte!. Iniciativas similares existem há algum tempo, é ótimo ver este movimento de democratização do conhecimento.

Estação meteorológica caseira com Teensy LC (Arduino)

   Pouco mais de um ano atrás eu comecei a trabalhar no projeto de uma estação meteorológica para instalar no meu quintal. 
   O projeto foi todo documentado por mim no website hackaday.io (link aqui) e consistia na utilização de um Arduino UNO standalone (apenas o chip ATMEGA328 e um cristal oscilador), um DHT11 (umidade e temperatura), um LDR (nível de luz), um sensor de chuva, cartão de memória microSD e BMP180 (pressão e temperatura ambiente).
   Abaixo você vê uma imagem da placa de circuito impresso que mandei fazer especialmente para o projeto. Observe também que eu previ um slot para um módulo Bluetooth, para o qual eu nem cheguei a implementar o código; a estação meteorológica guardava os dados no cartão microSD.


   Também está disponível o diagrama esquemático da placa: 
   
Clique na imagem para ampliar

   A estação funcionou sem problemas, veja abaixo um exemplo dos dados coletados. Observe que a a estação é alimentada por uma bateria de lítio 3.7V, que para de funcionar caso a tensão baixe de 3V (por isso parou de gravar dados em determinado momento).

Clique na imagem para ampliar

   Cheguei até a colocar o projeto dentro de uma caixa plástica para pode-lo expor à ambientes externos; repare nas únicas coisas para fora da caixa: o LDR, um painel solar e o sensor de chuva.


   Toda a documentação deste projeto (inclusive código para Arduino e diagrama esquemático da placa) estão disponíveis (em Inglês) na página do projeto no Hackaday.io.

--------------------------------------------------------------------

   Porém eu não queria somente guardar os dados em um cartão de memória, eu queria poder disponibiliza-los na internet; foi aí que surgiu a versão 2 do projeto, agora com módulo WiFi ESP8266 e baseado em um Teensy LC, não mais no Arduino UNO (porém ainda compatível com o ecossistema Arduino).
   O diagrama esquemático da estação meteorológica está na imagem abaixo (e também disponível no meu repositório no GitHub) e todos os detalhes desta segunda versão estão descritos neste update do projeto original no Hackaday.io. 
   Observe a quantidade de sensores de temperatura (LM35, KTY81, NTC 5k e DHT11): eles não são todos necessários para o funcionamento da estação, estão ali apenas porque sim (hahahah) e porque tinha espaço.


   A parte interessante deste projeto é que os dados não são mais armazenados localmente, eles são enviado à internet através de um ESP8266 e ficam no website Thingspeak.com . A placa de microcontrolador Teensy LC foi utilizada porque eu tenho algumas disponíveis (e porque é compatível com Arduino), mas nada impede que você utilize um Arduino Nano ou Micro com pouquíssimas modificações no código.
   O código completo da estação meteorológica está disponível abaixo. Ele é bem extenso porque o Tratamento do DHT11 e do ESP8266 (WiFi) exigem bibliotecas e algumas configurações. O que este código faz é inserir os valores finais de todos os sensores (temperatura em graus, umidade em percentual, etc) em apenas uma string e passa-la ao módulo WiFi, para que chegue nos servidores do ThingSpeak.



   Para que os servidores do Thingspeak recebam os dados da sua estação meteorológica você vai precisar criar uma conta e um canal específico no site; para fazer isso acesse este tutorial do DrBit (em Português) ou este Instructables (em Inglês). Os dados serão enviados ao servidor à cada cinco (5) segundos - ou 5000 milissegundos.
   Caso você queira verificar se o seu ESP8266 está funcionando (conectando á internet) antes de efetivamente conecta-lo á estação meteorológica, utilize o código abaixo. Este código verifica se existe uma rede WiFi disponível e conecta-se à ela; é baseado no código escrito pelo Augusto Campos neste artigo.

   O objetivo deste artigo não foi esmiuçar todos os detalhes necessários para você criar sua própria estação meteorológica, foi somente uma maneira de demonstrar a estação que eu criei e documentei no Hackaday.io (link aqui). Porém utilizando as informações deste artigo e também do hackaday você certamente será capaz de replicar e ter sua própria estação meteorológica no quintal.
Projetinho interessante no @hackadayio : ShrinkDuino, um Arduino conectável diretamente na USB. #TwitterFritzen https://t.co/TwYlXP0YiF

Projetinho interessante no @hackadayio : ShrinkDuino, um Arduino conectável diretamente na USB. #TwitterFritzen https://t.co/TwYlXP0YiF


Do meu Twitter https://twitter.com/FritzenLab

July 19, 2016 at 11:28PM
Publicado via IFTTT

A loja PiSupply está sorteando várias placas Micro:bit

   A loja virtual PiSupply ataca novamente!. Em março deste ano esta loja sorteou algumas unidades do recém-lançado Raspberry Pi 3, e agora em Julho eles estão com sorteio aberto para a placa Micro:bit (imagem abaixo).

Fonte: Flickr

   Para participar do sorteio e concorrer (até dia 26/07/2016) à um Micro:bit, você deve clicar neste link , preencher seu e-mail e responder á pergunta "quem está sorteando placas Micro:bit"? (as opções são bem óbvias, e você deve selecionar "PiSupply, duh!"). 
   A promoção é válida em qualquer lugar do mundo, então Brasileiros podem sim participar. O sorteio será realizado no dia 01/08/2016.

  Se você ainda não conhece a Micro:bit, ela é uma placa de aprendizagem/ensino baseada em um microcontrolador ARM Cortex-M0 criada pelo grupo Britânico BBC (aquele da TV), com o objetivo de possibilitar à estudantes aprender programação física e internet das coisas.
   As especificações da placa são as seguintes:

- Processador ARM Cortex-M0 com Bluetooth Low Energy (BLE)
- Bússola e acelerômetro integrados
- 25 LED's montados na placa (matrix 5x5)
- 20 Pinos de I acessíveis
- 2 botões (micro-chave) 
- Conector para bateria 3.7V
- Porta USB para programação

Fonte: Flickr

   Esta pequena placa é um prato cheio para você que curte microcontroladores e programação de sistemas embarcados!.

Onde eu compro componentes e Shields?

   Tudo que faço e publico aqui no FritzenLab tem como base componentes eletrônicos e Shields para Arduino. Decidi então compartilhar com vocês a "fonte", o lugar de onde escolho e compro a maioria dos materiais que viram artigos e tutoriais.
   Trata-se da loja virtual ICStation, baseada na China e que conta com um enorme inventário de placas próprias (feitas por eles mesmos) e um dos maiores inventários de componentes para sistemas embarcados e eletrônica disponível na internet.

Fonte: ICStation

   Outro detalhe muito interessante é que eles tem itens em promoção o tempo todo (veja banner abaixo), portanto eu fico sempre de olho nas ofertas que ficar geralmente na casa dos 15-50% de desconto. Em épocas festivas (final de ano, férias de verão, halloween, etc) as promoções de itens específicos são também muito boas!.


   A parte "ruim" de comprar na ICStation é o tempo de espera pelo material, que é similar à itens comprados no eBay, Aliexpress e Banggood; este tempo de espera sempre foi entre 40 e 70 dias no meu caso.
   Já a parte boa é que você ganha pontos por cada compra, e pode utiliza-los como dólares nas próximas compras. Eu tenho comprador na ICStation há dois (2) anos, e na minha experiência em torno de 5% do valor comprado é sempre convertido em bônus para as próximas compras. 
   Outras vantagens da ICStation são que você não paga frete até um certo volume e também que você encontra uma enorme variedade de componentes e Shields; dá pra fazer literalmente "a feira" no site deles.

Gostou? então acesse o website oficial da ICStation e também compartilhe esta dica com seus amigos (tem botões compartilhar logo aqui abaixo do texto!).

Sensor de umidade do solo - Calibração e utilização

   No artigo de hoje você vai aprender a calibrar e utilizar os sensores de umidade de solo - aqueles que você espeta na terra ao lado de uma planta, para acompanhar o quão úmido está o solo. 
   
sensores de umidade do solo

   Porém antes que você continue lendo eu tenho que lhe alertar: você não vai obter uma boa precisão com este tipo de sensor, e além do mais eles não são feitos para ficarem expostos á terra, ao sol e a umidade presentes na "vida real", portanto a maioria destes sensores são uma enganação: eles vão servir para aquele seu projeto de final de semestre, mas não espere que eles funcionem por longos períodos de tempo após instalados.
Existem três motivos para eu estar escrevendo negativamente sobre este sensor:

1- Não existe precisão alguma na leitura de umidade: os contatos do sensor transformam a água do solo em um "resistor variável"; não há tabela/gráfico comparativo onde você possa obter dados concisos sobre a escala de umidade para cada tipo de solo, etc. 
2- Os contatos metálicos do sensor oxidam: a resistência dos próprios contatos do sensor portanto varia com o tempo, tornado o sensor ainda mais impreciso.
3- Os componentes eletrônicos no sensor estão desprotegidos: não há aplicação de camada de verniz protetor/isolante nos componentes eletrônicos do sensor, tornando-os alvo fácil para oxidação devido á umidade do ar. O problema é tão visível que um tutorial elaborado pela SparkFun sugere você envernizar toda a placa (com exceção dos contatos metálicos).

Sensor adquirido na SeeedStudio, utilizado apenas por algumas horas



   Apesar da imprecisão e baixa qualidade ainda é possível fazer este sensor funcionar: o método que vou demonstrar aqui hoje vai fazer você tirar o máximo deste sensor de umidade do solo. Tudo que você precisa é um destes sensores (qualquer modelo serve) e um Arduino ou qualquer outro microcontrolador que tenha uma entrada analógica e funcione com 5V ou 3,3V.
   Para efetuar a calibração do sensor de umidade você vai precisar de um copo com água, de preferência a mesma água que você utiliza para molhar suas plantas; utilizaremos esta água para calibrar o maior valor de "umidade" que o sensor é capaz de ler.

Fonte: ModMyPi
  
   Nos meus testes eu utilizei um Arduino Nano e um sensor de umidade do solo fabricado pela GBK Robotics (link aqui). Utilizei um sketch (código) chamado "AnalogInOutSerial.ino" (que vem junto á IDE do Arduino) para efetuar a leitura do valor do sensor a cada 1 segundo, no console serial do Arduino.
   Os valores que obtive durante a calibração foram os seguintes: 
- Sensor suspenso no "ar" (sem encostar em nada): valor '0' (zero).
- Sensor mergulhado em água (dentro do copo): '740'.

__________________________________________________________
Estes valores significam que uma terra totalmente seca terá valor analógico '0', enquanto uma terra extremamente encharcada terá um valor de '740'.
__________________________________________________________

   Eu decidi que queria ver um valor de umidade do solo em percentual ao invés de ver um valor entre 0 e 740; para isso tive que fazer uma regra de três simples: tenho que dividir o valor 'analógico' (entre 0 e 1023 que é a faixa de conversão analógica do Arduino UNO) por '7,4', para obter o valor 100 no console serial quando estiver recebendo 740 da entrada analógica. Explicando: Valor em percentual= Valor lido na entrada analógica % 7,4 .
   Realizei o teste da umidade do solo com um sensor da GBK Robotics e uma planta que tenho aqui em casa; veja imagens abaixo.


Detalhe do sensor de umidade da GBK Robotics colocado no solo do vaso.


   Eu implementei um código simples que lê a umidade do solo a cada 10 segundos e armazena em um cartão micro SD; são também armazenados a temperatura e umidade ambiente para efeitos de comparação.
  No gráfico abaixo está o resultado de 10 dias de leitura onde o traço em azul representa a umidade do solo, o traço laranja é a umidade do ar e o traço em amarelo é a temperatura ambiente. Observe que meu cálculo para normalizar a umidade em até 100% funcionou, pois mesmo com a terra molhada (primeiro dia) o traço azul nem chegou a 100%. Perfeito!.  

Clique na imagem para ampliar

   Após dez (10) dias eu tirei o sensor do solo e fotografei o estado dos contatos metálicos (imagem abaixo). Notem que assim como o sensor da SeeedStudio citado lá no início do artigo este sensor da GBK também começou a oxidar em alguns pontos. Obviamente esta oxidação vai fazer com que a leitura analógica do sensor se altere com o tempo, causando perda na precisão e estabilidade na leitura da umidade do solo. 

Clique na imagem para ampliar

Resultado: realizando-se a normalização do valor analógico do sensor de umidade para um valor percentual é possível ter uma indicação de quão úmida está a terra do vaso/planta; porém nenhum destes sensores de umidade feitos de Placa de circuito impresso está apto a resistir por muito tempo ao ser deixado "ao relento", provavelmente provocando diferenças consideráveis na estabilidade da leitura ao longo do tempo. 

________________________________________________

- Compre o sensor de umidade do solo no nosso parceiro ICStation (China): ICStation G002A Soil Humidity Sensor Module Hygrometer Detection

Hack do Fritzen [6] - 5V ou 9V a partir de 2 pilhas AA

   No sexto (6) artigo da série "Hack do Fritzen" eu trago para vocês uma solução interessante para quando você não tem um regulador de tensão 5V, uma bateria 9V ou nem mesmo 12V disponíveis. Trata-se da utilização de um circuito elevador de tensão (conhecido como boost), com objetivo de elevar a tensão de duas (2) pilhas AA ou AAA para 5V, 9V ou 12V.
   O circuito responsável por elevar a tensão das pilhas é baseado no chip MT3608 (datasheet aqui), um controlador elevador em modo de corrente que é capaz de elevar para até 28V qualquer tensão de entrada entre 2V e 24V.
   Este conversor elevador de tensão é geralmente encontrado digitando-se "MT3608" em sites com ICStation, Aliexpress e eBay. O formato do produto completo (montado) é visto na imagem abaixo, com destaque para os terminais de entrada (VIN+ e VIN-) e saída (VOUT+ e VOUT-).


   O circuito que proponho é visto na imagem abaixo. Basta ligar os fios vermelho e preto que saem do case das pilhas aos pinos VIN+ e VIN-, e então mais um par de fios para formar a saída de tensão nos pontos VOUT+ e VOUT-.
   IMPORTANTE: a tensão de saída tem que ser ajustada girando-se o potenciômetro da plaquinha com uma pequena chave de fenda.


   Abaixo as fotos da montagem. Repare no uso de fita dupla-face 3M tanto para prender os fios da saída de tensão como para prender a placa azul ao suporte das pilhas.

Clip para 2 pilhas AA

Conversor elevador montado sobre clip de pilhas AA

   Após inserir as pilhas no clip e ajustar a tensão de saída no potenciômetro é só sair usando sua nova fonte de tensão; porém alguns detalhes importantes tem que ser mencionados:

- A tensão de saída será sempre maior do que a soma das tensões das pilhas. Exemplo: se cada pilha tem 1,5V a tensão das duas pilhas somadas será 3V e portanto a tensão de saída do circuito sempre será maior que 3V.
- A lei da conservação de energia diz que energia não se cria nem se destrói, apenas se converte; portanto tenha em mente que a tensão está sendo elevada e então a corrente de saída será reduzida. Exemplo: se as pilhas tiverem capacidade de 1000mAh em 1,5V a capacidade de corrente após conversão (5V, 9V, 12V) será menor.
- O conversor elevador de tensão é super eficiente (na casa dos 93%), porém mesmo assim não é 100%; isto quer dizer que 7% da energia das pilhas será "desperdiçada" no conversor. Tenha em mente que a quantidade de energia desperdiçada em um regulador linear (por exemplo 7805) é de quase 50%.

-----------------------------------------------------
Lista de materiais:

- Para adquirir o conversor elevador MT36008 no nosso parceiro ICStation (China) clique aqui: ICStation MT3608 DC-DC Step Up Booster Power Apply Module
- Para adquirir um clip de pilhas AA no nosso parceiro ICStation (China) clique aqui: 2xAA 2xAA(3V) 3V 2*AA(3V) 2*AA Battery Holder Box Case w/ Wire

FireDuino - Um poderoso compatível com Arduino (Kickstarter)

   A plataforma de financiamento coletivo Kickstarter não para de oferecer boas surpresas aos apoiadores/clientes!. A bola da vez é o FireDuino, uma placa compatível com Arduino porém muito mais poderosa e versátil.

Fonte: Kickstarter

   A Fireduino é mais uma das compatíveis com Arduino lançadas no mercado, porém segundo a página da campanha ela conta com um  processador ARM Cortex-M3 de dois núcleos, módulo WiFi, memória Flash expandida, entrada e saídas de áudio, slot de cartão de memória (provavelmente para arquivos de áudio) e relógio-de-tempo-real (RTC) embarcado!.
   Em termos e compatibilidade com Arduino ela parece ter apenas os headers (conectores amarelos) na mesma posição que o Arduino UNO e também o fato de que ela pode ser programada via FireBlock (IDE baseada no Scratch).

Fonte: Kickstarter

   O grande forte desta placa promete ser no processamento de áudio, já que ela conta com um poderoso processador ARM Cortex-M3 (a fabricante do chip não está especificada) e também um DAC de 24-bit.
   Um detalhe interessante é a forma como eles estão divulgando e comparando a placa (imagem abaixo): uma placa que contém dois Arduinos, um shield de áudio, um RTC, um módulo WiFi e mémoria Flash, tudo em um.

Fonte: Kickstarter

   A campanha está aberta no Kickstarter neste link até o dia 25/07/2016; no momento da elaboração deste artigo a versão mais barata (Fireduino + Cartão de memória 8GB) está saindo por US$25 pois as versões de US$15 e US$20 já foram todas vendidas, e a campanha já atingiu sua meta inicial (US$5.000).
   Então fica aí a dica para você que gosta de colecionar plaquinhas de microcontrolador e ainda por cima curte áudio.

Joystick analogico com Arduino

   Recentemente adquiri um Joystick analógico na loja Autocore Robótica. Este artigo vai tratar sobre a interface/utilização deste Joystick analógico com Arduino. Se você veio até este artigo é porque sabe o que é um Joystick, mas caso não saiba aí vai uma imagem do componente, e uma breve explicação: 

Fonte: RKBlog

   Segundo a Wikipedia um "analog stick" é um dispositivo de entrada para algum controlador; ele fornece informação bidimensional (eixos 'X' e 'Y'). A imagem abaixo ilustra muito bem o funcionamento dos Joystick analógicos: um potenciômetro (resistor variável) para cada eixo!.


   A própria página oficial do Arduino tem um ótimo tutorial sobre Joystick, porém devido á simplicidade do conceito (apenas dois potenciômetros) eu decidi elaborar minha própria forma de testar um Joystick: desenvolvi um sketch (programa) para Arduino que relaciona a posição do Joystick com os pontos cardeais (Norte, Sul, Leste, Oeste) e mostra estes pontos junto ao ângulo em um display LCD 16x2.
   O diagrama esquemático e a imagem da montagem estão abaixo. Note que no diagrama esquemático estou utilizando um Arduino Nano, porém na montagem real eu utilizei o Fritzen proto, um compatível com Arduino que eu mesmo desenvolvi. 



   O código (sketch) que fiz para o Arduino está disponível no meu GitHub (abaixo) e basicamente implementa uma verificação da tensão sobre os potenciômetros, que está diretamente ligada à posição dos mesmos: variando-se a posição do Joystick varia-se também a tensão obtida. Esta tensão é então convertida para um ângulo (entre 0 e 360 graus, tanto para o eixo horizontal como para o vertical) e mostrada no display na forma de pontos cardeais.
   O detalhe que merece explicação é o seguinte: observe que no código abaixo eu faço a verificação da posição central na faixa entre 506 e 518; isto é devido ao fato de que o Joystick não fica exatamente com o valor 512 (metade dos 1024 da entrada analógica) quando está na posição "central".


   Eu fiz um vídeo de três minutos explicando e mostrando o circuito em funcionamento:


Para finalizar: como você pôde ver neste artigo o Joystick é basicamente um potenciômetro cuja resistência depende da posição do cursor; é super simples interfacear um Joystick com um microcontrolador e implementar literalmente o que você quiser!.

- Para comprar o Joystick analógico (citado no artigo) em nosso Parceiro ICStation (da China), clique aqui: KY-023 PS2 Game Joystick Axis Sensor Module for Arduino

Display LED 7 segmentos (um dígito) com Arduino

   Displays de LED de 7 (sete) segmentos!; Este componente é um dos mais utilizados por professores para demonstrar conceitos de programação/ sistemas embarcados/ eletrônica, pois é extremamente atrativo e visual, o resultado "sai na hora". 
   Segundo a Wikipedia estes display foram patenteados pela primeira vez lá por 1908, mas somente ganharam popularidade com a utilização de LED's a partir da década de 1970. Estes displays são uma forma simples, barata e eficaz de mostrar informação ao usuário de um sistema.

Fonte: Wikipedia

   Para demonstração de conceito e funcionamento eu utilizarei neste artigo um display de dígito único (1 "número" apenas), conectado á minha placa compatível com Arduino (Fritzen UM). O display que vou utilizar (imagem abaixo) foi fabricado pela GBK Robotics (detalhes aqui), é de Anodo comum (todos os anodos conectado á um único ponto) e já vem com resistor limitador de corrente (apenas um resistor para todos os segmentos).

Fonte: ArduoEletro

   O display em sí tem apenas "A-551E" escrito no corpo; digitando esta palavra no Google eu encontrei o datasheet do display (link aqui). Note que os terminais são nomeados com letras de acordo com o segmento que cada LED acende (A, B, C ...H).


   O esquema de ligação com o Arduino seguiu o recomendado na página oficial do produto:




   O sketch (programa) que utilizei é uma modificação do programa sugerido na página oficial (veja abaixo); o que este programa faz é mostrar 10 números (0..9) e 6 letras (A..F) em sequência e incrementando a cada 0,5 segundos.


  E abaixo o sketch funcionando em vídeo:


   Além deste sketch sugerido pela GBK Robotics, existe também um tutorial oficial na página do Arduino (utilizando a biblioteca "SevenSegmentLibrary) e também alguns Instructables com instruções completas para ligação de display LED.
   Utilizar um display de LED com qualquer microcontrolador é bem simples, bastando ligar e desligar LED's na hora certa e na sequência certa; qualquer biblioteca (ou até mesmo sem biblioteca) vai funcioar.
Quero também agradecer á GBK Robotics por enviar este display para eu testar no blog. Num artigo futuro pretendo trazer conteúdo para utilização de mais de um dígito ao mesmo tempo, para aplicações como relógio e mostrador de variáveis; fique ligado no blog!. 

Thermoco - Um termômetro com Bluetooth + App de celular (Kickstarter)

   Hoje recebi via correio um produto que comprei/apoiei pelo Kickstarter: Chama-se Thermoco, é um pequeno termômetro que se conecta ao celular via Bluetooth e envia informação da temperatura ambiente para a tela de seu smartphone. 
   A campanha no Kickstarter foi lançada em 17/11/2015 e ficou no ar até 16/01/2016, levantando US$29.792,00 de 998 pessoas!; Eu paguei US$9 + envio por uma unidade do Thermoco. 



   O Thermoco consiste apenas nesta pequena caixinha branca redonda, feita de plástico e com uma borracha de vedação interna (o fabricante diz que você pode até deixar ela funcionando debaixo da água, no seu aquário de peixes).
   Para fazer o Thermoco funcionar você tem que abrir esta caixinha e simplesmente inserir uma bateria CR2032 (aquelas de controle remoto de portão, etc). O chip/processador que está dentro do produto é um CC2541 da Texas Instruments, que tem internamente um controlador de Bluetooth 4.0 e um microcontrolador 8051 (tudo no mesmo chip).


Clique nas imagens para ampliar

   Para ler as temperaturas do Thermoco é necessário baixar um aplicativo (disponível para Android e Apple); não é necessário parear o celular com o Thermoco, apenas abrir o aplicativo e bum! .. o seu Thermoco vai aparecer na tela do celular na hora! (eu chamei o meu de "FritzenLab").


   Ao clicar no nome do seu dispositivo (no meu caso "FritzenLab") outra tela vai se abrir com um gráfico das últimas temperaturas registrada; importante ressaltar que toda a informação fica guardada no Thermoco, não é necessário que o celular esteja pareado para o produto funcionar.


   Como o produto acabou de chegar pra mim eu não tive tempo de testa-lo totalmente, porém  não acho que tenha muito mais o que "tirar de suco" deste produto. 
   Pelo fato de ele usar Bluetooth 4.0 (low energy) eu imagino que a bateria dure muuuito tempo, talvez meses. Quanto á vedação eu não tenho certeza se ele aguentar ficar debaixo da água sem "se molhar", mas pelo menos ele tem aquela borrachinha para isso.
   Uma coisa interessante de se fazer é hackear/modificar o produto, já que ele usa o conhecido SoC CC2541; talvez dê para adicionar mais sensores, etc etc. 
   Não vi nenhuma informação na página do Kickstarter sobre compra do produto, então parece que vai ser mais um daqueles Kickstarter que vêm e some... quem comprou comprou, quem não comprou não compra mais :(  .