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
Christmas Soundboard with NeoTrellis M4
-
This guide shows you how to build your own soundboard. Soundboards are
commonly used for sound effects or to select various pieces of dialog on
command, th...
Pololu High-Power Stepper Motor Driver 36v8
-
This discrete MOSFET stepper motor driver enables control of one bipolar
stepper motor. It supports a wide 8 V to 50 V operating voltage range and
can de...
Active-Tech November Sale!
-
We've been busy cataloging stuff we'd love to blow out, and we're offering
great discounts. 3D printing, tools, kits - take a look and come on in!
It's i...
Introducing the Bantam Tools ArtFrame™
-
The plotter adventure continues at Bantam Tools! Bantam Tools proudly
announces the launch of the new Bantam Tools ArtFrame™ Art Machine
System—designed fo...
Bus Pirate 5 is here!
-
Bus Pirate 5 is the latest version of the multi-tool hackers trust since
2018. RP2040-based, color LCD, 1-5volt power supply and IO buffers, and
more! Firm...
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
Free Downloads!
-
Looking for an easy way to remember what's safe for your parrot to eat or
what plants are toxic?
Our new quick guides are here!
These guides are free do...
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...
MIPI-DSI lcd PMIC
-
I am designing a MIPI-DSI lcd board. There are AVDD, ELVDD and ELVSS power
inputs and the required voltages are AVDD = 7V, ELVDD = 4.6V and ELVSS =
-3.0V...
Training a Self-Driving Kart
-
There are certain tasks that humans perform every day that are notoriously
difficult for computers to figure out. Identifying objects in pictures, for
exa...
3 Tips for Making a Small Home Feel Bigger
-
There are many advantages to living in a smaller home. For one, there’s a
lot less housework to do, not to mention it probably costs a lot less to
heat and...
Commencing Fundraising to Purchase our Building
-
We are in discussions with our landlord hashing out the details about
selling the building (to us) at the end of our lease in 18 months, so we
need to get ...
Exporting KiCad PCB w/ silkscreen to Fusion 360
-
Here’s the process I’ve been using to add a silkscreen image to the
exported STEP model from KiCad to Fusion 360. The steps are: In KiCad PCB:
In Fusion 360:
Snowflake Light Up Lithosphere Snow Globe
-
Snowflake Light Up Lithosphere Snow Globe
- No support print
- 2 printable parts
Light up Function requires the following:
- 5v LED strip
- ...
What is ‘Right to Repair’ & Should You Care?
-
The Right to Repair movement and the associated proposed legislation center
around a fairly clear-cut debate with very little gray area. On the one
side ...
Inspecteur Inspection Construire Blainville
-
Oui, en plus d’uneformation universitaire en génie civil,
notreinspecteurdétient aussi lediplôme«Techniques d’inspection en bâtiment»
de l’Institut Grass...
Gootloader infection cleaned up
-
Dear blog owner and visitors, This blog had been infected to serve up
Gootloader malware to Google search victims, via a common tactic known as
SEO (Search...
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...
Iridium Satellite Signal Monitoring
-
Project source code at GitHub: iridium-signal-strength-monitor In a
previous article, I wrote all about Iridium satellite communication for IoT
projects us...
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): h...
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...
4 step sequencer
-
Messing with the Axoloti board made me want to bang constantly notes while
I am fiddling with sliders, values and parameters. First I started to bang
MIDI ...
And The Void Mooned Back…
-
I was once sitting in the cafe/bar thing in Brighton, on my own… pretending
not to be an alcoholic, drinking coffee or wine… watching the people go by,
and...
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,...
Presto Burger 1974 revisited
-
Lets go back to 1974 and revisit my childhood making my first home cooked
meal. My mother had gotten a Presto Burger single-patty hamburger cooker
for Chri...
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...