Já a algum tempo vi no programa Prototype This o uso do software ARToolKit, que permite o uso de realidade aumentada, para o projeto de luta de robôs. Este fim de semana instalei o software no Ubuntu e usei o adaptador USB Easycap ( exemplo no ML) para conectar uma camera Hi8 que tenho a tempos. O mais complicado na verdade foi fazer o adaptador USB funcionar no linux com o driver aberto. Para windows ele tem um software próprio que vem junto no pacote. Depois de muitas idas e vindas com dependências e reboots consegui estabilizar o sistema e fazer o teste com os exemplos que vem no pacote do ARToolKit.
É realmente muito bacana e divertido e os projetos que estão sendo desenvolvidos pelo mundo são sensacionais, desde manuais de montagem de móveis a livros infantis com recursos de realidade aumentada.
Vale a pena conhecer esta tecnologia que está ao alcance de todos sem custo além de uma camera, que pode ser uma webcam barata, e algum esforço de fim de semana.
A pouco tempo comprei dois receptores de ir por R$ 0,20 cada e fiquei pensando como utilizá-los com a arduino, depois de pesquisar um bocado entendi como funciona a transmissão dos comandos entre o controle remoto e a TV.
É realmente muito interessante pois a gente percebe como cada fabricante desenvolveu um protocolo próprio para seus sistemas, neste site http://www.ustr.net/infrared/infrared1.shtml existe uma explicação bem detalhada.
Usar um receptor de ir com o arduino é bastante simples, a conexão é feita com uma porta digital, no caso deste que usei a pinagem é a seguinte:
A única informação que achei sobre o sensor acima ( acredito que seja este) está neste link o modelo é 1838b e os detalhes:
Supply voltage: 2.7 to 5.5V
Transmission distance :18-20m .
No experimento deste post conectei o pino de dados na porta digital 2 e os de força direto nas portas do arduino (alimentando a bradboard). Usei um controle remoto universal programado com os códigos da TV da sony e usei o código abaixo. As possibilidades são muitas, fazer um controle remoto para robôs ou controlar os equipamentos de casa. Imagine entrar em uma sala e ligar automáticamente o som ou a tv no canal ou estação que você mais gosta?
O código analisa os pulsos recebidos pela porta digital e apresenta na saida serial da IDE do arduino usando o comando pulseIn e transforma em números que são os códigos dos controles remotos da sony, com adaptações é possível usar qualquer marca. Este link tem um exemplo sobre como determinar os códigos .
/* Program that reads key presses of a sony remote control Created by Kurtis Waterston, March 6 2010 Realesed into the public domain http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1267950229 */
int irDet = 2; int key = 0; int data[12]; int state;
voidsetup() { Serial.begin(9600); //For debugging pinMode(irDet, INPUT); //IR detector connected to digital pin 2
}
voidloop() { //Main loop if (pulseIn(irDet, LOW) > 2200) { //Check for start pulse
getIRkey(); Serial.print("Key press is = "); Serial.println(key);
}
No post passado eu estava analisando o uso de um LDR para produzir sons com a arduino, como já estava com o setup montado resolvi fazer a experiência da armadilha de laser dessas de filme de roubo de jóias ou obras de arte aonde os bandidos tem que passar pelos alarmes de laser para conseguir seu objetivo. Minha filha brincou um bocado tentado passar pelo raio do laser sem ser "detectada".
Estes são os elementos que usei:
1 Apontador laser barato - R$ 3,00
1 LDR de 5 mm
1 Alto-falante de 8 oms pequeno
O apontador laser é alimentado por 3 baterias botão bem pequenas, por isso tive que liga-lo a uma bateria mais potente, as baterias originais não aguentaram nem 5 minutos ligadas. Coloquei duas baterias de telefone sem fio de 2.4 volts NiMH ligadas em paralelo para obter 4.8 volts.
Soldei o positivo na carcaça de metal do apontador e o terra na mola que segura as baterias. Desta forma consegui uma fonte de laser bem forte e contante, isso é importante porque para fazer o alarme temos que medir a variação de voltagem vinda do sensor LDR.
No meu caso o valor da leitura do sensor na porta analógica 0 com iluminação ambiente foi de 300 e com o laser foi de 1000. Coloquei no código um valor de 800 para o disparo do alarme.
A montagem é a seguinte:
1. Alto falante com o fio vermelho ligado a porta digital 8 e o preto ao ground;
2. LDR com uma "perna" ligada a 5 volts e a outra ao ground por meio de um resistor de 10 kOhms ( marrom/preto/laranja/dourado) e a porta analógica 0. Existem muitos exemplos de montagem de LDRcomo estes
Neste exemplo estou usando a TATUINO NANO que é uma placa ótima para todos que querem experimentar com a IDE do arduino, ela pode ser conectada diretamnete na breadbord:
Foi interessante conmhecer o TONE do arduino, no entanto tive problemas na comunicação serial, me parece que a comunicação serial interfere no comando tone.
Para continuar meus experimentos com o osciloscópio, resolvi montar o exemplo do site arduino.cc chamado TonePitchFollower, neste exemplo é utilizado ama fotocélula ou light-dependent resistors (LDR), para gerar variações de voltagem que são transformadas em tons divertidos e interessantes.
O código ensina como usar o comando tone para gerar notas ou barulhos .. um alarme ou outras coisas.
No vídeo eu tento mostrar a saída da leitura do osciloscópio na tela do PC.
Depois vou tentar montar um jogo de dardos de luz com esses apontadores laser baratos que vende na Santa Efigênia. Fica para o próximo fim de semana.
Neste projeto estou utilizando o osciloscópio descrito abaixo para verificar a variação de voltagem de um sensor de temperatura LM35 que já tem sua postagem neste blog. No vídeo, tento mostrar que quando coloco a mão no sensor a temperatura aumenta e a voltagem sobe em incrementos que podem ser vistos na tela do PC.
Este post mostra como utilizei a controladora Axon para montar um osciloscópio conectado ao PC pela porta USB. A controladora Axon é desenvolvida pela Sor-Society of robots, o site Sor é muito interessante e é um misto de site caseiro e profissional. O fórum é muito bom apra resolver dúvidas sobre os mais diversos assuntos. A base do site da Sor é a montagem de um robot por USD 50, veja os vídeos e divirta-se com as experiências do John Palmisano e com seu conceito interessante de que fazer um robô é muito simples.. mas programar é outra história. O Sor é exatamente o contrário da arduino, nada IDE e suporte .. programação em C direta e você que se vire. Hoje a Axon é vendida em vários site como Robotshop.
Primeiro segui o tutorial e montei o robô de 50 dólares, é bastante divertido e instrutivo, porém, se eu soubesse da arduino não teria perido tempo com isso. Serviu para conhecer os processadores Atmel e a IDE de programação Avr Studio o que me abriu a possibilidade de entender mais profundamente a arduino.
Axon e AxonII são controladoras montadas em cima do processador Atmel Atmega640, esta placa oferece realmente recursos mais fáceis do que a arduino para quem vai montra robôs com vários servos, ela é desenvolvida para isso e tem muitos pinos para conexão de sensores, aliás sobram pinos para todo o lado.
A programação pode ser feita por USB com um programa em código aberto de linha de comando e também por programadores de hardware como STK500 e compatíveis como este vendido pela Sparkfun. A controladora Axon é muito sólida e bem construída, tem boas proteções elétricas e é uma excelente opção para que quer se aprofundar na programação e técnica.
Veja uma imagem da placa :
No site da Sor existe para download gratuíto o software SorScope, com ele é possível montar um osciloscópio com até 16 canais , resolução de 10 bits e 1.5 ks/s.
Fica claro (na foto acima) que não se trata de um sistema profissional, é comparável aos osciloscópios USB do mercado. Existem mais baratos que são conectados as portas de áudio do PC . A vantagem de usar uma placa controladora é que você não fica com um mais um produtto que serve só a um propósito. Tabém é possível montra um osciloscópio com a arduino e com as mesmas características como neste exemplo ou neste exemplo, como eu já tinha uma Axon resolvi montá-la em uma caixa e fazer um osciloscópio "portátil" com o que eu tinha a mão.
Montar um osciloscópio como este pode ensinar bastante sobre o funcionamento de sensores analógicos e outros sinais e também ajudar quando se tem problemas com um novo projeto.
Continuando com as experiências com o LCD serial resolvi montar um termômetro usando o sensor LM35 que é um pequeno chip que gera corrente variável de acordo com a temperatura. Segundo os dados do fabricante este sensor gera uma voltagem de + 10.0 mV/°C , logo ele gera 0 V s para 0°C celsius e + 1 V para 100 °C graus celsius com uma precisão de 0.5 °C.
Este sensor pode ser encontrado facilmente em qualquer loja de componentes e existem também várias placas ( shields) para o arduino com este sensor já montado e pronto para conexão no arduino.
A alimentação do sensor pode ser feita com 5.0 volts a partir do própria placa arduino, assim como o ground. Segue esquema da ligação abaixo:
Código
O código abaixo toma as leituras da porta analógica 0 da arduino 2009 geradas pelo LM35 e apresenta estas leituras após transformação ( veja abaixo) no LCD serial. Apresenta também as leituras de mínima e máxima. Para ver o exemplo da conexão do LCD serial procure o post sobre ele neste blog.
Se você está utilizando a alimentação do arduino com 5 v e conectando o sensor diretamente a porta analógica 0, será necessários utilizar a fórmula acima para converter a leitura de 10 bit do sensor na temperatura em graus celsius.
Exemplo:
Leitura = 48 mV
5.0 ( 5 VOLTS DE REFERENCIA) x 48 ( LEITURA EM MILIVOLTS ) x 100 / 1024 ( SAMPLES DA PORTA ANALOGICA) = 23,4375 °C
Ultra low power LED flasher using the Padauk PFS154
-
Low power LED flasher on PFS154: Flashing a LED is certainly among the
first set of problems any burgeoning electronics specialist is tackling,
may it be b...
Lenore on Meet a Maker
-
[image: Picture of Lenore with text]
I had the privilege of talking with Billie Ruben and Geeky Faye on Meet a
Maker, and the show episode is now live. I...
Wire and Cable Now Available at Solarbotics!
-
An awesome catalog of wire for all of your project needs! We now have a
good selection of stranded wire, solid wire, as well as multi conductor
cable. If y...
Cabeleireiro robô na quarentena
-
Um youtuber queria cortar o cabelo durante a quarentena, então ele optou
por fazer seu próprio robô cabeleireiro.
Tags:
Teensy
robótica
Junkbot Competition Winners!
-
First Place: All the submissions to the junkbot competition were great, and
we hope everyone had fun doing it! Our first place winner was Enigmatic
Electro...
Cleaning Stainless Steel
-
McCormickThere are so many stainless steel cleaners out there and let's
face it most of them smell toxic and have toxic ingredients. Toxic smells
and ingr...
4 Benefits of Online Corporate Language Training
-
Have you considered investing in online corporate language training for
your employees? These programs are favorable for both workers and
companies. By l...
Business Risks And Strategies: Know Your Options
-
There are always risk in business. This can range from problems in the
supply chain or the chance of theft. They can potentially damage a company
or even c...
Announcing the Arduino IDE 2.0 (beta)
-
The Arduino IDE is the well-known software we all use to program our
boards. Its development started in 2005 based on the graphical interface of
the Proces...
Retro beyond nostalgia
-
While nostalgia does play a part in my interest for retro technologies, it
is not my only motivation on exploring this subject. There is a…
QTPy-knob: Simple USB knob w/ CircuitPython
-
I like minimal solutions to problems. I was playing with a
CircuitPython-enabled QT Py on a breadboard with and a rotary encoder and I
ended up making a US...
Hot Metals MIG Auths Are Back
-
Hey all- Since we are not currently offering the-more-the-merrier office
hours for authorizations, I have created this sheet to keep track of who is
schedu...
MightyOhm Kits are now available from Amazon.com
-
Exciting news! My hobby electronics kits are now available from my Amazon
store with free expedited shipping for Prime members. Direct links below:
MightyO...
My Browser Tabs Today
-
Over the course of the last few weeks I’ve collected various links and
references from various discussions. I’m copying them here so as not to…
Continue rea...
John Grouse posted a discussion
-
John Grouse posted a discussion
Using known good compass calibration values on other drones?
Just wondering if it would be safe to do a compass calibration o...
Laser Show Motor Controller
-
Here’s a fun idea I had while quarantined during the 2020 pandemic. I have
a bunch of these cheap laser modules that can easily be driven from an
Arduino w...
Polar Bear with Seal (automata)
-
A hungry polar bear fails to reach the fish held in the naughty seal’s
mouth. Everytime the polar bear tries to catch the fish, the seal will sink
back i...
How to DIM LED with Arduino & Triac
-
Zero-Cross & Triac Optically Isolated Switch “Tail”:
https://www.powerswitchtail.com/pssr-zc-tail arduino:
https://amzn.to/2P12JaL RealTimeClock (RTC): htt...
LIFI – AUDIO TRANSMISSION THROUGH LIGHT
-
Gagan jain has built an interesting rig called the LIFI, it allows a
simple transmission of audio using an LED for sending the audio signal and
a solar c...
Meriwether-X1804
-
Primary image
[image: Meriwether_Lewis-Charles_Willson_Peale.jpg]
What does it do?
*The Explorer*
Meriwether is an experimental explorer. He is intende...
Lynxmotion – MES Power Distribution Board (PDB)
-
Our Lynxmotion MES-PDB (Multirotor Erector Set / Power Distribution Board)
was created based on needs for our Lynxmotion MES frame system that will be
rele...
8 Step Sequencer
-
After proving myself that I could build a 4 step sequencer, I decided to
move further and put it on a prototyping board, this time with 8 steps, and
start ...
On Addiction
-
I’m a bit of an expert at this. I have been battling addiction my whole
life. The most dangerous was crack-cocaine, the most damaging and hardest
to kick, ...
Bovine Backscratcher
-
Apparently, cows have very itchy backs, and that condition makes them
extremely unhappy. Unhappy cows produce less milk, so this is a problem.
Fortunately,...
Hot Tub Controller Hack
-
A friend has a Coleman hot tub from 1994 and the controller has failed.
It’s a strange failure and I think I can modify the controller and add a
hacked in ...
The Sun Sets on Robots.net
-
I made the first post on Robots.net more 15 years ago on 25 February 2001.
Since then, rog-a-matic, The Swirling Brain, and steve have written more
than 3...
Last post . . . .
-
I'm the guy on the right.
I am discontinuing this blog because the format of The Robot Report now
enables long and short articles whereas in the past, lon...
Robot ratunkowy Lego Creator
-
Za pomocą tego zestawu można zbudować 3 różne roboty. Oczywiście nie w tym
samym czasie, gdyż do budowy 1 robota, użyte zostaną wszystkie klocki z
zestawu...
How To Read Analog Voltage From Pi
-
This article explains about the process to read the analog voltage from pi.
Read on to know more on this. There are many ways to read many types of
sensors...
Camera Axe Motor Sensor Contest
-
With this competition I’m focusing community attention on getting better
motor controller support into the Camera Axe 5 sooner, while rewarding the
winner ...