Postagens

Mostrando postagens de 2014

Construindo um apontador laser (laser pointer) com uma unidade óptica CD/DVD ROM usada.

Imagem
Se você tem alguma unidade óptica estragada é bem provável que você possa transforma-la em um apontador laser. Pode ser qualquer unidade de CD/DVD de PC ou reprodutores de CD ou DVD. O que realmente precisa estar funcionando é o laser, mesmo que já não consiga mais ler os CD/DVDs. O único detalhe é que o laser precisa ser red e não infrared, porque IR não são visiveis a olho nu.

Atualizando o OpenWrt-Yun do Arduino Yún.

Imagem
O Arduino Yún, pelo menos o meu, veio com a distrubuição Linux OpenWrt-Yun Lilino. Está é a primeira versão e ainda contém muitos bugs, o ideal é atualiza-la e é muito fácil de fazer. Você vai precisar apenas de um cartão uSD e o arquivo de atualização, que pode ser baixado aqui . Atualmente está na versão1.4.2.

Mostrando dados de inicialização do OpenWrt-Yun pela serial

Imagem
Existe uma forma de se ver toda a inicialização do OpenWrt-Yun (Linux) do Yún. Isto pode ser muito útil caso algo esteja errado, inclusive é possível executar comandos entrando no modo seguro (failsafe mode), bastando digitar [f] e pressionar ENTER durante a inicialização. Para visualizar os dados basta carregar o sketch "Yun Serial Terminal" disponível nos exemplos. Depois do Yún inicializado, abra o monitor serial e aperte o botão "Yún RST" próximo dos LEDs. Desta forma apenas o Linux irá reiniciar. Lembrando que a interface escolhida na IDE Arduino precisar ser a serial e não a WIFI.     Posted with Blogsy

Acessando portas do Arduino Yún pelo iPhone/iPad

Imagem
Na postagem anterior sobre Yún, vimos como acessar o Arduino Yún por um browser, construindo uma pagina HTML no próprio Sketch do Arduino. Partindo do mesmo principio, achei dois bons aplicativos para iOS que já tem tudo pronto, basta conectar e acessar as portas manualmente. Um é o Yún Controller que achei mais completo. E o outro é o Yún Buddy.

Multisim para iOS

Imagem
A pouco tempo a NI lançou para iOS o simulador de eletronica Multisim Touch . A versão é bem parecida com seu concorrente iCircuit , que uso já faz algum tempo, porém achei mais completa e custa metade do preço. Estou gostando e recomendo. Abaixo duas imagens de um comparador com operacional.   Posted with Blogsy

Arduino Yún - configurando portas remotamente pela web

Imagem
Vimos aqui alguns detalhes sobre o Arduino Yún e como deixá-lo configurado para estar em uma mesma rede de um PC. Hoje veremos como controlar suas portas pelo browser de um PC, tudo via rede wireless. Conforme descrito na postagem anterior, o Arduino Yún possui um processador AR9331 que gerencia um Client/Server. Desta forma podemos servir uma webpage, acessá-la e atualizá-la pelo skecth do Arduino. Ele já possui através da biblioteca Bridge, acesso via browser para habilitar/desabilitar e ligar/desligar portas através de links conforme abaixo: • http://myArduinoYun.local/arduino/digital/13 : calls digitalRead(13); • http://myArduinoYun.local/arduino/digital/13/1 : calls digitalWrite(13,1); • http://myArduinoYun.local/arduino/analog/9/123 : analogWrite(9,123); • http://myArduinoYun.local/arduino/analog/2 : analogRead(2); • http://myArduinoYun.local/arduino/mode/13/input : pinMode(13, INPUT); • http://myArduinoYun.local/arduino/mode/13/output : pinMode(13, OUTPUT);

Enduro (Atari 2600) para iPad/iPhone

Imagem
Mais um jogo para reviver o passado, o clássico Enduro para iPhone/iPad. Enduro

Raspberry Pi - Rádio Pirata FM

Imagem
Um projeto muito bacana e fácil de executar para o RPi é este da Make . Ele transforma o RPi em uma estação pirata de FM, de alcance bem baixo, em torno de 50mts. Na realidade o projeto foi criado em C por Oliver Mattos and Oskar Weiglé e modificado pela Make para ficar mais fácil de usar. A Make criou um script em Python que deixou tudo bem simples. Para funcionar basta arrumar um pedaço de fio de 35 ou 75cm, que irá servir de antena para o transmissor, e conectar no pino 4 da GPIO, conforme abaixo:

Arduino - Piscando um led sem delay

Imagem
Uma função simples e que pode ser útil para varias coisas, é esta que pisca um led sem usar a função delay. Assim você não para o processamento do Arduino e pode continuar executando outras tarefas.     Posted with Blogsy

Arduino Yún

Imagem
O Arduino Yún é um dispositivo Arduino como qualquer outro, que usa um microcontrolador ATMega 32u4, o mesmo usado no Arduino Leonardo. Além disso, ele possui um processador Atheros AR9331 para gerenciamento da rede Ethernet / Wi-Fi e outras coisas mais. Este processador roda uma distribuição Linux OpenWrt-Yun, baseada na OpenWrt, isto é o grande diferencial deste Arduino. Com isso passamos a ter um acesso de rede ao Arduino, onde o AR9331 se comunica com o ATmega 34u4. Existe uma biblioteca (Bridge) que faz todo o trabalho de comunicação entre os dois, permitindo que os Sketch do Arduino possam rodar comandos shell script, comunicar com o client/server e receber informações do AR9331. Ele também possui uma porta USB (não confundir com a de programação microUSB) e um leitor de cartão micro SD, tudo controlado pelo AR9331, onde novamente a Bridge permite acesso aos mesmos.

Consertando o slot de cartão SD do Raspberry Pi

Imagem
Estava trabalhando com o RPi e após uma travada ele não reiniciou mais, ficando sempre com o LED vermelho power aceso direto, sem nenhuma outra atividade. Somente após retira-lo do case percebi que o slot do cartão SD estava quebrado, como não tinha outro de imediato, o jeito foi improvisar.

Gravando um live CD Linux no pendrive sem o drive físico de CD/DVD ROM

Imagem
A maioria das distribuições Linux existentes hoje, como Ubuntu, Arch Linux, Puppy Linux, etc... possuem a opção de Live CD, mas e se você tiver um PC sem o drive de CD? Muito comum hoje nos Ultrabooks. Você pode fazer um live USB stick, que é o pendrive rodando a imagem live. Mas mesmo assim, pelos meios comuns, você vai precisar rodar o live CD em alguma maquina para gravar no pendrive. Existe um programa que resolve este problema, o UNetbootin , com ele você consegue de forma fácil fazer seu pendrive live sem a necessidade de um drive de CD/DVD físico. Primeiro baixe o UNetbotin de acordo com o seu OS. Você pode baixar a imagem Linux desejada, espetar o pendrive, rodar o programa, escolher a opção "Imagem de disco", buscar sua imagem, selecionar o tipo/unidade e no ok mandar gravar. Ou selecionar "Distribuição", escolher a distribuição desejada e ele irá baixar e gravar. Após a finalização seu pendrive já estará pronto para o uso. Para quem deseja gravar

Lendo valores analógicos na GPIO do Raspberry Pi

Imagem
O RPi não possui entradas analógicas, não sendo possível ler diretamente valores analógicos. Uma forma de fazer leituras analógicas é usar um ADC como o MCP3008 mostrado aqui . Outra forma nem tanto precisa, porém mais simples e barata, é usar um capacitor em conjunto com o circuito. O funcionamento consiste em um contador definido pela carga do capacitor até ele chegar à tensão de 1,4V. Porque a partir de 1,4V o RPi considera nível alto na entrada. Com isto temos um parâmetro para trabalhar, que vai de 0 a X, onde o valor de X dependerá do circuito montado. Aumentando o valor do capacitor teremos um tempo de resposta menor, porem uma resolução maior e com um de menor valor temos um tempo de resposta rápido, mas com a resolução menor. No exemplo foi usado um capacitor de 1uF e um potenciômetro de 50k ohms onde o valor lido foi de 0 a 2700 aproximadamente. No exemplo abaixo, o loop (while True:) roda a função RCtime, onde inicialmente o pino 24 estará como uma saída em nível baixo fecha

Trabalhando com PWM na interface GPIO do Raspberry Pi

Imagem
Nas postagens anteriores, mostrei como trabalhar com entradas e saídas na GPIO do RPi através do modulo GPIO.RPi e Python. Nas saídas podemos também trabalhar com PWM . No RPi se compararmos com o Arduino, temos um controle melhor, já que podemos alterar afreqüência também. Para começar, primeiro precisamos criar a instancia PWM com: p = GPIO.PWM (channel, frequency) Onde channel será o pino usado e frequency a freqüência PWM em HZ. Para iniciar o PWM usamos: p.start(dc) Onde dc é o duty cycle (ciclo de trabalho) que varia de 0 a 100. Para parar o PWM usamos: p.stop() Para alterar a freqüência usamos: p.ChangeFrequency(freq) Onde freq é a freqüência usada. Para alterar o ciclo de trabalho usamos: p.ChangeDutyCycle(dc) Onde novamente dc é o ciclo de trabalho de 0 a 100.

Ligando e desligando o Raspberry Pi com um botão pela GPIO

Imagem
Comentei aqui que é possível ligar o RPi fechando temporariamente o pino 5 (GPIO3) para o terra. Com um simples programa em Python e o modulo RPi.GPIO instalado, podemos desligá-lo também da mesma forma. Vimos aqui , aqui e aqui como trabalhar com a interface GPIO. Utilizando o modulo subprocess.call em conjunto com as instruções de porta de entrada da GPIO, podemos fazer um programa como o abaixo. Onde através do modulo subprocess.call podemos rodar um comando bash pelo Python. Neste caso chamaremos o comando halt que desliga o RPi.

Utilizando a Interface GPIO do Raspberry Pi – Parte 3

Imagem
No post anterior vimos como trabalhar com entradas da GPIO em polling. Aqui veremos como fazer o mesmo porém com interrupções, o que não ocupa muito recurso do processador. Não esquecer que as entradas trabalham apenas com 3,3v, portando não confundam em ligar nas entradas 5V, que também estão disponíveis na GPIO. Para o RPi temos interrupções por detecção de borda (subida, descida e mudança). Em um primeiro exemplo usaremos um try/except, onde o programa fica em espera por alguma ação. A ação no caso será a wait_for_edge ou aguardando pela borda, neste exemplo ele fica esperando uma borda de subida (GPIO.EDGE) Apertando o botão ele mostra na tela "Entrada em nível alto" e sai. Ou pressionando CRTL+C sai do programa direto. O circuito usado é o abaixo: Aqui o programa:  

Utilizando a Interface GPIO do Raspberry Pi – Parte 2

Imagem
Depois dos testes com saídas , iniciei os testes com as entradas. Para quem chegou direto aqui, recomendo antes ler os testes com saídas . Uma informação importante é que as entradas trabalham apenas com 3,3v, portando não confundam em ligar nas entradas 5V, que também estão disponíveis na GPIO. Irei dividir o assunto de entradas em mais de uma parte para o texto não ficar muito extenso. Primeiro precisamos saber que caso algum pino seja designado como entrada ele precisa ter algo conectado, caso contrario a entrada irá “flutuar”, reportando erros de leitura. Uma forma de não deixar a entrada flutuando é usar um resistor de pull-up ou pull-down. No RPi isto pode ser feito via hardware ou software. Via hardware basta ligar um resistor de 10k ohms do pino desejado para o 3,3V (pull-up) ou para o terra (pull-down). Via software basta na hora de definir as entradas colocar pull_up_down=GPIO.PUD_UP ou pull_up_down=GPIO.PUD_DOWN. Para definir as entradas é usada a mesma função que definimos

Retropie - instalando uma grande variedade de emuladores no Raspberry Pi

Imagem
Em busca de como instalar um emulador de SNES no Raspberry Pi, encontrei este projeto muito bacana. De forma a facilitar a vida de quem deseja rodar emuladores no RPi, este projeto com poucos comandos, deixa tudo pronto para rodar a lista de emuladores abaixo:

Instalando um emulador de GBA no iOS sem jailbreak

Imagem
Tem um projeto muito interessante que permite instalar alguns emuladores de VG antigos no iOS em iPhone e iPad. Operação até então não permitida pelos meios legais Apple. Para quem tinha seu aparelho jailbreak isto já era possível. Porém através da base de desenvolvimento de app, conseguiram uma brecha, onde qualquer aparelho instale estes emuladores. Eu testei apenas dois, o GBA4iOS que funciona muito bem e o SNES4iOS que apesar do app instalar, não consegui instalar ROM nele.

Utilizando a interface GPIO do Raspberry Pi

Imagem
Primeiro, descobri que após desligar o RPi, ele fica em um estado stand by. Caso queira ligar ele novamente sem retirar e recolocar o cabo usb, basta fechar um curto rápido nos pinos 5 e 6 da GPIO. Após os testes iniciais , parti para o que realmente me interessa que é a interface GPIO. A programação da interface é feita em Python, e para isso é necessário instalar a biblioteca RPi.GPIO. Ela funciona de forma bem parecida com a programação em C do Arduino. Para a instalação use os comandos: sudo apt-get update sudo apt-get install python-dev sudo apt-get install python-rpi.gpio

Primeiros testes com o Raspberry Pi

Imagem
Nos primeiros testes com o Raspberry Pi, fiz a instalação do Raspbian seguindo os passos da pagina oficial , tudo bem simples. A primeira dificuldade que tive foi de não encontrar nas configurações do mesmo, com o comando raspi-config, a configuração do teclado brasileiro ABNT2, então achei a dica no Garoa Hacker Clube . Outro problema é a interface grafica não vir por padrão com o controle de volume, facilmente adicionado clicando com o botão direito na barra de tarefas e em "Adicionar/Remover itens do painel".

Plaquinha para trabalhar com ATtiny13

Imagem
Um problema para quem quer executar testes em um ATtiny13, é ele usar encapsulamento SOIC (SMD). Para ajudar nos teste com Arduino , resolvi fazer uma plaquinha com placa universal de ilha, para se encaixar fácil da protoboard.   Posted with Blogsy

Reset automático no Arduino com serial PL2303

Imagem
Quando fui montar minha placa para ser usada no robô Monty, percebi que a interface serial que eu tinha comprado , que roda em um CI PL2303, não tinha a saida DTR, necessária para o reset automático do Arduino. Este reset automático é usado quando mandamos o upload de um sketch para o Arduino, ele detecta que está trafegando dados na serial e reseta automaticamente o Arduino, para o mesmo poder receber o upload. Sem o reset automático, é necessário o usuário apertar o botão de reset pouco antes de mandar o upload. Após consultar o datasheet do PL2303, verifiquei que o pino 2 do CI era o DTR, então extrai um jumper e usei o mesmo para interligação de um capacitor de 100nF entre este pino e o pino 1 ( reset) do ATMEGA, conforme abaixo:

Rodando optiboot em um ATMEGA8

Imagem
É possível rodar Arduino em uma certa variedade de microcontroladores, e um deles é o ATMEGA8 . Porém com ATMEGA8 de forma oficial seu bootloader é muito lento, fazendo com que o microcontrolador demore até 10s para inicializar. Para contornar o problema pode ser usado um optiboot , que é um bootloader otimizado para ser mais rápido e que inclusive é usado no Arduino Uno, que roda em ATMEGA328p. Resolvi montar uma placa usando um ATMEGA8 para deixar definitivo no robô Monty . E neste ATMEGA decidi usar o optiboot, para isso são necessários algumas modificaçoes na IDE do Arduino.

Ótimo app para postar no Blogger e Wordpress com iPad

Imagem
Quem tem um iPad sabe que é péssimo postar no Blogger ou Wordpress com ele, mesmo usando os respectivos aplicativos que são bem limitados. Mas descobri um aplicativo que me fez deixar de usar o PC para postagens, o Blogsy . O principal recurso dele é uma barra lateral que te da acesso a fotos e vídeos local ou dos principais sites (Picasa, Flickr, Instagram, Facebook, Youtube, Vimeo) de forma muito fácil, bastando arrastar. Vale a pena assistir alguns vídeos do desenvolvedor para conhecer melhor o aplicativo. O aplicativo também da acesso para postagens a várias outras plataformas de blogs, além do Blogger e WP. https://itunes.apple.com/br/app/...   Posted with Blogsy

Trabalhando com AVR via makefile em Linux

Imagem
A pouco tempo estou começando a aprender a programar microcontroladores ATMEGA em AVR. Apesar de poder usar a IDE Arduino na opção "Upload Using Programmer", aprendi também a compilar (com avr-gcc), gerar o HEX (com avr-objcopy) e gravar no microcontrolador (com avrdude). Tudo "na mão", via linha de comando e em Linux. Os comandos são bem simples, no caso por exemplo, tenho o código no arquivo main.c, então rodo: Para compilar: avr-gcc -mmcu=atmega328p main.c -o main.cpp Para gerar o HEX: avr-objcopy -O ihex main.cpp main.hex Para gravar o HEX no microcontrolador: avrdude -c usbasp -b 19200 -p m328p -P /dev/ttyACM0 -U flash:w:main.hex:i No caso, tudo para um microcontrolador ATmega328. Porém sabia que tinha uma forma mais rápida e fácil, que é gerando um makefile. O makefile é um script que facilita todo o processo. Então achei este arquivo pronto, onde alterando poucos parâmetros o makefile fica sempre disponível para rodar qualquer arquivo.

Usando o Arduino com ATtiny 24/25/44/45/84/85/2313/4313 e ATtiny13

Imagem
De uma forma bem básica é muito fácil usar um ATtiny com Arduino. Apenas o ATtiny13 me deu um pouco mais de trabalho. Primeiro vamos ver como fazer para usar um dos modelos de ATtiny 24/25/44/45/84/85/2313/4313. A primeira coisa a fazer é ir na sua IDE Arduino, verificar a versão e em qual pasta está os Sketch conforme abaixo:

O fim de uma era

Imagem
Se tem um site que me ajudou muito em conhecimento de Linux foi o antigo Guia do Hardware , hoje apenas Hardware. E se tem alguém que ajudou não somente a mim, mas muitos Brasileiros a iniciar no Linux, foi o Carlos Morimoto , que dedicou boa parte de seu tempo a ótimos artigos publicados no site e seus livros. Mas o tempo passou e hoje estamos em outra era como ele próprio diz abaixo: http://www.hardware.com.br/noticias/2014-02/fim-de-uma-era.html   Posted with Blogsy

Construindo uma interface USBASP

Imagem
Após comprar duas interfaces USBASP e as duas queimarem sem nenhum motivo lógico, decidi fazer minha própria interface, apesar do preço extremamente baixo de uma pronta. O projeto que foi usado é bem conhecido e até acredito que a maiorias das interfaces prontas vendidas por aí saíram deste projeto. Você pode usar um ATMEGA8, 48 ou 88, no meu caso usei um ATMEGA8 . O grande problema é que para programar o ATMEGA você precisa de uma interface SPI que é, por exempo, exatamente uma USBASP. Eu usei um recurso do Arduino conhecido como Arduino como ISP . Mais abaixo darei detalhes de como fazer.

Usando um Arduino como Analisador Lógico

Imagem
A poucos dias achei um interessante artigo no Laboratório de Garagem sobre usar um Arduino como Analisador Lógico. Acabei de testar e para tarefas não muito complexas ele funciona muito bem. Na imagem ao lado um comparativo do software Logic Sniffer usado com o Arduino e do Logic da Saleae pegando o mesmo sinal. O tutorial está bem explicativo com tudo que se precisa para fazer rodar. Eu fiz o teste usando um Arduino Uno.

Comunicando dois Arduino através de RF

Imagem
Com a biblioteca Virtual Wire é possível comunicar de forma fácil dois Arduino por um simples e barato modulo de RF 433 mhz / 315mhz. As funções usadas são bem simples e bem parecidas com outras funções de outras bibliotecas Arduino. Abaixo segue os comandos traduzidos e dois testes que fiz, um o LED do RX pisca de acordo com o do TX, o outro o LED do RX somente pisca quando aperto um botão. Função usada na RX AQUI . Função usada na TX sem botão AQUI . Função usada na TX com botão AQUI .  

Robô Mini Biped com Arduino (Garagino)

Imagem
Este robô foi baseado no Mini Biped da Dagu , outro link  aqui . Como já tinha os servos , um Garagino * e a própria Dagu disponibiliza o código fonte ou aqui , resolvi fazer meu próprio. O problema que o robô funciona via controle remoto, você liga e dá comando para ele andar para frente, trás, virar e chutar. Ele possui também uma placa de “visão” que ainda não estudei bem o que ela faz, mas me parece que ela observa um objeto(bola) no caminho e chuta. Como não tenho essa placa e em um primeiro momento queria apenas fazer ele andar, extrai do código fonte apenas a função de andar. Nas fotos ele está com um sensor de ultrasom HC-SR , mas por enquanto apenas de enfeite mesmo. Como estou usando uma bateria de lítio de 7,2V adicionei um regulador 7805 para alimentar todo o sistema, incluindo servos. *Sobre o Garagino , ele é um Arduino Brasileiro em formato compactado. Próximos passos: Tentar colocar um controle remoto, que veio com meu kit Arduino Uno, para funcionar da mesma

Robô (Monty) usando Arduino - Parte 3

Imagem
Nesta parte não tenho grandes novidades, após vários testes não consegui melhorar o código para andar na linha preta. Instalei e fiz alguns testes com os sensores de luz, porém a placa é muito instável para fornecer falores(0 e 1) e não encontrei nada útil para fazer com ela. O controle do braço é bem simples, ou você deixa ele com acionamento intermitente através de um jumper, ou com um pulso de nível alto ele fecha e outro pulso ele abre. Mas tem uma falha, quando os motores ligam a placa fica "louca" e o braço fica abrindo e fechando intermitentemente, ou seja, só da para fazer algo com o braço com os motores parados. A placa de chaves/leds é sem mistério, apenas chaves, leds e conectores mesmo. As novidades são: Agora para setar andar na linha preta basta mudar o pino 7 para nível alto. Instalei os sensores de quina que quando ativados viram o robô no sentido contrario. Parte 1 Parte 2

Robô (Monty) usando Arduino - Parte 2

Imagem
Na primeira postagem do robô (Monty), eu o coloquei apenas para andar e voltar caso aproximasse de algum obstáculo, estava usando um sensor ultrasonico HC-SR para detectar o obstaculo. Agora o coloquei para funcionar da mesma forma, porem com a placa original do sensor ultrasonico. O funcionamento é um pouco diferente, enquanto no HC-SR após o envio de um pulso de 10uS ele envia uma rajada de pulsos de 40khz, recebendo de volta. E assim, desta forma eu posso ter o tempo de ida e volta, e conseqüentemente em cima do tempo consigo a medida da distancia. Na placa original posso deixar a rajada constante e se em algum momento a placa detectar a volta, ela me retorna um nível baixo (0). Ou eu mando a rajada apenas quando achar necessário e a placa fica esperando o retorno para me retornar o nível baixo(0). Porém esse retorno do nível baixo é lento e temporizado, assim não consigo fazer medições de tempo. A placa possui dois potenciômetros, um para o ajuste de sensibilidade e outro para

Duolingo - Aprenda inglês jogando

Imagem
Com este app para iOS, Android ou diretamente na pagina para quem queria acessa pelo PC, você aprende inglês de forma bem divertida. Você tem que fazer um pequeno numero de testes em cada combo e tem apenas três "vidas" para gastar, caso perca essas vidas, começa o combo de novo, caso termine o combo sem gastar nenhuma vida, ganha treze pontos e pula para o proximo. Com a pontuação, você vai fazendo um ranking com seus amigos que você pode adicionar via login do Facebook ou pelo email cadastrado. Um app altamente viciante, muito estimulante, recomendo. Obs: Além do inglês você pode aprender outro idiomas, porem o inglês é o único que parte do português. Todos os outros idiomas partem do inglês. http://www.duolingo.com/mobile

Robô (Monty) usando Arduino

Imagem
Este é um antigo robô (Monty) controlado por PIC, um robô que foi feito a partir de uma coleção de revistas a uns 10 anos atrás. No lugar da placa controladora via PIC coloquei um Arduino. Este robô possui algumas placas a mais que são: controle por chaves, ultrasom, sensor de luz, infravermelho e controle de motores por ponte H . Primeiro coloquei ele para funcionar usando apenas usando a placa de ponte H , que curiosamente é toda feita com transistores no lugar dos L293/298 mais usados nos últimos anos. Além do Arduino usei um barato sensor de ultrasom HC-SR que funciona de forma muito fácil no Arduino . A forma como coloquei ele para trabalhar apenas faz o robô ficar em movimento e caso ele ache um obstáculo a 10cm de distancia ele dá meia volta. Os próximos passos será usar as outras placas originais, começando pelo sensor ultrassônico.

Altímetro com Arduino e barômetro BMP085

Imagem
Este projeto usa um Arduino e um barômetro (BMP085) para fazer um altímetro, que pode medir a altitude local e a altitude a partir de um ponto. A ideia é mostrar o valor medido com apenas um LED piscando centena, dezena e unidade, sempre nesta seqüência. Além do LED existe um botão para seleção de funções. O funcionamento é bem simples, conforme abaixo: MODO 1: ligando ou resetando o Arduino mantendo o botão pressionado, ele entra no modo de leitura da altitude local, mostrando o valor piscando o LED. MODO 2: ligando sem pressionar o botão, ele mostra piscando o LED a ultima leitura feita da altitude a partir de um ponto, essa leitura estará sempre gravada na EEPROM. MODO 3: Mantendo o botão pressionado no fim da seqüência de piscadas do LED, mostrando valores no MODO 1 e MODO2, ele “zera” e inicia a leitura a partir deste ponto, gravando na EEPROM sempre a maior altura lida. *Pressionado o botão no MODO 3 ele para a leitura e volta ao MODO 2. *Pressionando o botão no MODO 1 el

Imperial March com Arduino

Projeto que achei na internet muito bacana e estou compartilhando. Sem segredos, basta ligar os leds, o buzzer e carregar o código. Abaixo o vídeo de como ficou.  

Câmera de vigilância - Primeiro projeto com Arduino

Imagem
Este é meu primeiro projeto com Arduino. Inicialmente tive alguns problemas já que a ideia era fazer tudo em modo Arduino sem o uso de funções AVR por questões didáticas. Com isso o primeiro problema foi que eu pretendia fazer o programa para rodar também em um ATTiny 45/85, por ser um chip de dimensões reduzidas DIP8, que oficialmente não está listado na IDE Arduino. Para este caso encontrei este projeto que promete rodar, mas ainda não testei. O segundo problema foi que este projeto do ATTiny não possui a função "attachInterrupt()" da qual eu iria precisar. Acabei fazendo uma “gambiarra” que roda um contador toda vez que a o sensor de presença fica ativo e com isso consigo ter um parâmetro para a câmera somente ligar se houver movimento dentro de um período de tempo e não ficar ligando todas as vezes que houver um pequeno movimento rápido. Mas na realidade, depois de feito acho que dava para fazer de um outro modo que tentarei em outra oportunidade. A ideia é que o sensor