sexta-feira, 30 de dezembro de 2011

Barco autônomo: Android, NXT, RF e Algoritmoss

Olá!
Agradeço a todos por estarem divulgando o blog, comentando e assistindo aos vídeos! Isso me faz dar continuidade com as engenhocas que faço.


Pois bem, não ouviram falar do barco a um tempo não é? Para os que não sabem, é basicamente um barco (de 1m) que navega autonomamente dada uma trajetória, guiado por um sensor de GPS e uma bussola.

Vou comentar aqui, as novidades para o projeto, como oque tenho feito desde a ultima postagem.

O algoritmo
Criei meu próprio algoritmo de navegação, baseado em um simples PID, que é auto ajustável.
Ele funciona, para manter o barco no "rumo", já que existe vento, ondas, atrito e resistência do ar, se não houver um controle ideal, ele faria sempre uma parábola, e como a menor distancia entre dois pontos é uma reta, ele não estaria sendo econômico.

O hardware
Adoro ver a junção dos dois melhores controladores que já vi, NXT e Arduíno. Como uso nos campeonatos, também usei no barco pois precisava controlar 2 servo motores, coisa que o nxt nao faz, mas o Arduíno faz rindo. Como também, precisava de bluetooth (já vão entender porque), coisa que o NXT já possui integrado. Além dos sensores de Bussola e GPS, que já possuo para o NXT.
Fiz um teste com um motor de 50A, controlado pelo Arduíno, que era controlado pela bussola do NXT, funcionou perfeitamente!
Quanto ao hardware, ele esta pronto, só faltando mesmo fixar as partes no barco.
Aqui esta o vídeo (bem simples) do funcionamento do hardware




Android e bluetooth
Pois bem, me deparei com um problemão de começo. Se quisesse modificar a rota no lugar que estivesse (Praia, lago, piscina...) eu teria de ter internet, depois pegar a coordenada da latitude e longitude no computador para cada ponto, fazer uma lista destas coordenadas num arquivo de texto, importar para o NXTe fazer uma nova compilação do programa.
Ou seja, nada "simples", muito menos eficiente. A idéia que tive, foi fazer um aplicativo para o Android, que basicamente, possui uma lista de coordenadas onde posso modificar, deletar, adicionar e visualizar isso tudo sobre um mapa da google no próprio celular android.
Adicionar um ponto da rota é basicamente clicar sob o mapa. Enviar isso tudo para o NXT, seria só clicar em "enviar para NXT". Ele transforma aqueles pontos para dados txt, e envia para o NXT via bluetooth.
Fiz um teste de comunicação com o bluetooth do android com o NXT e funcionou perfeitamente, usando o RobotC.
Algumas telas do app para o android (em desenvolvimento...)



Segurança
Como sou ma pessoa que pensa muito no tal do "o que pode acontecer de pior?", ou seja, na infeliz da Lei de Murphy, previ algo como o modo automático "sem querer" virar 180º e se dirigir para china, sem querer.
Para ter controle sobre essas "cagadas", montei um sistema RFSafe, onde o Arduíno, controla os servos, apenas SE o receptor de rádio frequência do controle remoto estiver desligado (quando desligamos de um lado, ele desliga do outro).
Então, se quiser deixar no modo autônomo, desligue o controle. Se quiser colocar no modo manual, é só ligar o controle que o NXT e Arduíno não estarão mais no controle a situação.



Quero montar um vídeo completo do barco, só quando realmente estiver funcionando.

Se tiverem duvidas, dicas, ou qualquer outro comentário que queiram fazer eu aprecio bastante!
Um abraço a todos.

segunda-feira, 28 de novembro de 2011

Algoritmo PID: Básico

A pedido de muitos (por MSN, Facebook, amigos...), publico o vídeo explicativo de "PID".

O vídeo mostra o básico da capacidade do algoritmo, e um modo de implementar no próprio NXT, um algoritmo "P" simples.

Now with English Subtitles! Just enable it on the "YouTube Player" and you will have subtitle in English.


Se tiverem qualquer dúvida, podem mandar via E-mail, comentário neste post, Telefone, Fax, telegrama... que eu respondo!

Obrigado aos 21mil visitantes do blog! Espero que gostem! Comentem se puderem...
Ivan Seidel Gomes

sábado, 26 de novembro de 2011

Próximo vídeo

Olá pessoal!

Estou nervoso querendo fazer um vídeo, mas são tantas as idéias que nem sei qual escolher!
Por enquanto estou entre:

  • PID
  • Sensor de ultra som
Mas queria perguntar a vocês, oque gostariam de ver, se tem outras idéias legais que seja possivel fazer!

Podem postar em forma de comentário a este post, que escolherei o que agrade a mais pessoas.

quinta-feira, 17 de novembro de 2011

Volta as aulas

Olá caros leitores!
Para os que não ficaram sabendo, fiquei 3 meses sem aula devido a greve de professores no IFES.

Resumidamente: Minha escola voltou da infeliz da greve, e agora estamos com um delay de 90 dias.

Possiveis soluções:
  • Fazer um Overclock
  • Dar um Ctrl+Z e mostrar aos professores que não iria adiantar fazer a greve, e nunca começa-la
  • Passar janeiro estudando
  • Sentar e chorar
Vamos ver no que da!
Abraços

segunda-feira, 31 de outubro de 2011

Tempo, e projetos a vir

Como devem ter percebido, ando meio afastado do blog. Não, não cansei de fazer vídeos e escrever sobre as "coisas", pelo contrário, quero fazer mais vídeos e tutoriais, porém, este mês (e o anterior, e o anterior) minha escola esteve de greve, o IFES, e por isso não quis esperar a greve voltar fazendo nada, e aproveitei minha chance para vir para São Paulo, fazer um estágio na LEGO ZOOM, mais na área de torneios (FLL), e na area de desenvolvimento, graças ao Danilo que cuida de toda parte de regras e organização da maioria dos torneios FLL .
Estive com Sacek, um cara muito gente boa, e que é literalmente "O cara" em montagens LEGO. Se entrarem no site dele, verão as coisas que ele faz! você fica bobo.
Como sou aficionado em Programação, dei uma ajudinha na programação da fresa CNC feita de LEGO.

Usamos Java para programar a fresa, e ficou bem legal, mas ainda não 100%
Minhas esperanças de acabar a fresa junto com ele haviam acabado, já que minha escola supostamente iria voltar nesta segunda feira, mas surpreendentemente, não voltou, e é capaz de não voltar mais este ano.
Posto sobre os avanços nos projetos quando voltar para casa!
Abraços a todos

sábado, 8 de outubro de 2011

Guerra de robôs: RoboCore

Olá pessoal!
Como minha escola anda de greve ultimamente, ah mais ou menos 60 dias, cansei de esperar, e vim fazer um estagio em São Paulo, na Lego Zoom, para ajudar nos Torneios FLL.
Vinicius Milani, um amigo meu, que estava montando um robô de sumô para a RoboCore, pediu minha ajuda na programação, e acabei sendo convidado para vir com ele para o evento.
Acontece em Itajubá, MG, de 7 até 10 de outubro, e reune diversos tipos de competiçoes, incluindo: Seguidor de linha, rockey, e a famosa "Luta de robos", que voa pecas, explode, e tudo isso que voce pensou ai...
Ver os robôs na arena, se batendo é além de tenso, muito legal.
Para saberem mais sobre o campeonato, acesse: www.robocore.net.

sexta-feira, 30 de setembro de 2011

Rumo ao México em 2012!


O Evento
No dia 18 de Setembro de 2011 foram iniciadas em São João Del Rei as competições de robótica que ocorrem junto com o X SBAI. São provas da Competição Brasileira de Robótica (CBR) e da Olimpíada Brasileira de Robótica, além da Mostra Nacional de Robótica (MNR).

Muitas equipes, de todo o Brasil, estão participando das competições e da mostra. O evento é bem grande e muito animado, com competições envolvendo alunos de todos os níveis (fundamental, médio e superior) em diversas categorias. São competições de futebol de robôs (várias categorias), resgate, dança, entre outras. Em todas as provas os robôs devem operar de forma totalmente autónoma, tomando decisões com base apenas em seus sensores e em sua programação.

No dia 18 começaram as competições de algumas categorias da CBR. No dia seguinte foram iniciadas as competições da OBR, em que a nossa equipe Emerotecos participou, assim como os trabalhos da Mostra Nacional de Robótica. Tem muita coisa interessante por aqui! Deixo algumas fotos.



O Rescue A

A categoria da OBR, por falta de sorte, e muita lei de Murphy não nos demos muito bem.

O robô, pra falar a verdade, foi o melhor que já montamos. Ficou compacto, simples e muito eficiente.

A programação ficou com 2500 linhas, sem contar includes de movimentação, sensores...

Haviam no NXT:
  • 1 Arduino com:
    • 3 sensores de Ultrasom
    • 1 sensor de toque
    • 4 motores do VEX
  • 1 Sensor de Bússola
  • 1 Sensor Acelerometro
  • 1 Sensor de linha, com 8 sensores de luz

Um das coisas, que fiz e aprovei, foi uma função "getSafe", que multiplexa o timer interno do NXT para 'n' valores, e te retorna se esta ou não estourado. É bem simples, e as vantagens são imensas! Toda tarefa, que envolvia "agarramento" em alguma coisa real como: quinas, quebra molas na faixa, subidas de rampa... Eu colocava esta tal segurança, que se detectasse um limite imposto, continuava o programa. Isso salvou algumas vezes o robô...

Outra coisa que usei também no campeonato passado, e sempre aconselho usar: um programa de inicialização, que faz a checagem de todos os sensores, motores e afins, que podem por erro humano, estar desconectado. Neste programa, o NXT checava:
  • Motores próprios
  • Sensores I²C
  • Motores VEX
E se alguma coisa estiver errada, ele mostra na tela o erro, e a possível solução. Quantas vez, ligava o NXT, e o cabo do sensor estava invertido com outro? muitas! e isso salvou também.

Enfim, são detalhes que de fato não alteram o robô na hora da competição, mas te da uma segurança maior antes do início.

O robô utilizava PID para diversas tarefas:
  • Seguir parede
  • Seguir linha
  • Girar ângulos precisos com a bússola
  • Controle da velocidade angular das rodas
  • Andar em linha reta, com base no erro da bússola
Isso deu ao robô, maior precisão nas tarefas, e com menos oscilações, uma maior precisão nas leituras dos sensores.


O Rescue B

Como foi o primeiro ano em que foi realizado esta categoria no Brasil, foi apenas uma demonstração.
O robô ficou bem pequeno, leve e como todos, utilizava a plataforma NXT-Arduino que fiz. Possuía 3 sensores de ultrasom, 1 bússola e 1 acelerômetro.
As vítimas, por ser apenas demonstração, não foram colocadas, e portanto tiramos os sensores Infra Vermelho de temperatura.
Ficamos em 1º lugar, e garantimos a vaga no mundial em 2012


O Soccer
A principio, iríamos participar em 3 categorias diferentes, mas por falta de tempo, o robô do Soccer não pode ficar pronto a tempo, e tivemos que ir preparados só para o Rescue A e B. Porém no evento nos unimos à equipe de São Paulo e Pernambuco, para melhorar o robô deles. Ajudei com sensores, e a placa do Arduino com conexão com o NXT, Viramos uma noite inteira trabalhando nas actualizações, como: programação, lógica, mecânica e sensores.

Nas finais, conseguimos ficar em 1º lugar, o que nos deu o direito de competir no mundial em 2012, e com os nossos amigos de São Paulo e Pernambuco.

O mundial
O mundial agora vai ser no México! Estamos sem patrocinadores no momento, e pesquisando pessoas que suportem nossa equipe lá fora.
Se o mundo não acabar ano que vem, estaremos lá...

Social
Adoro participar de competições assim, pois conhecemos gente que gosta dessa area também!
Desejo ao pessoal de Pernambuco, São Paulo, Brasilia, Bahia, Minas Gerais e as outras pessoas com quem conversamos, um abraço. Espero encontrar vocês ano que vem novamente!

Fotos e vídeos
Deixo algumas fotos aqui, e o vídeo eu faço mais pra frente.
Um abraço a todos, e até a próxima!




quarta-feira, 24 de agosto de 2011

Sensores: de Luz

Olá pessoal,
Tive um surto ontem de madrugada para fazer um vídeo, e acabei fazendo mesmo... Comecei meia noite e terminei de editar 4h da manhã!

Já havia pensado nessa idéia a algum tempo, e queria compartilhar com vocês!

Este video mostra um jeito muito simples de se fazer um sensor de Luz, e como aplicar no NXT, PIC e Arduino da maneira mais simples possivel. Além disso, explico oque é um LDR, para que serve e como funciona.


Quero fazer outros sobre sensores de temperatura, toque e se possível os próprios sensores da lego em funcionamento com o PIC e o Arduino.

Se tiverem alguma dúvida podem comentar no próprio tópico mesmo.

Além disso queria pedir a vocês para se inscrever no blog, não machuca, e é uma divulgação que faz crescer!

Um abraço a todos e até o próximo post.

sexta-feira, 19 de agosto de 2011

Vídeo explicativo do Rescue B

Como já sabe, ou se não sabem podem saber AQUI sobre os campeonatos que vamos participar este ano.
Um deles é o Rescue B, que fomos para o mundial competir, e agora estamos indo ao brasileiro competir novamente!
O formato para se inscrever é atravéz de um vídeo, e um texto. Como gosto de criar vídeos, resolvi fazer um no estilo dos que sempre faço, fica ai o vídeo para os interessados, e espero que gostem!



O explicativo do robô enviado junto foi:

"Nosso robô foi construído com base no sistema Lego Mindstorms NXT, utilizando motores, e muitas peças presentes no kit. Além de lego, utilizamos também placas com Arduino Nano, que se comunicam com o NXT pelo protocolo I²C, além de sensores ultrasônicos e infravermelhos de distancia, e do sensor TIR, que é usado para identificar as vitimas (que aquecidas, emitem infravermelho, captável pelo TIR).

O bloco NXT foi programado em linguagem C, utilizando o compilador ROBOT C. Preferimos utilizar linhas de código em vez de linguagem gráfica (NXT-G) por ocupar menos espaço no controlador, e pelo compilador ser um software mais simples, fácil de ser executado em qualquer microcomputador. Os arduinos são responsáveis por realizar as leituras dos sensores ultrasônicos e do sensor TIR (sensor de temperatura por infravermelho).

No inicio, tivemos problemas para subir a rampa da arena com nosso robô, dificuldade que foi contornada mudando o sistema de tração que utilizávamos, em vez de duas rodas de borracha tracionando, uma de cada lado, adicionamos uma roda omnidirecional tracionando em cada lado para facilitar as curvas, e manter contato das rodas constantemente com o chão, mesmo subindo a rampa."

Um abraço a todos, e até o próximo post!

quinta-feira, 4 de agosto de 2011

Fora de casa nunca mais!

O problema
Não sei se vocês já passaram por uma situação como esta, de chegar em casa e notar que esqueceu a chave em algum lugar (muitas vezes dentro de casa mesmo), e tem que chamar algum chaveiro, ou ligar para sua mãe desesperadamente pedindo para ela trazer a chave e abrir para você. Ou talvez, por sua sorte tenha alguém em casa, que com certeza deve te encher o saco para você lembrar de sair com chave! (como minha irmã...)
De qualquer forma, você sempre sai prejudicado (eu pelo menos saio).

A solução
Foi pensando nisso, e nas horas acumuladas esperando lá fora, que tive a ideia de usar meus neurônios para alguma coisa útil. De um projeto no papel, para um esquematico no proteus, para uma placa de circuito impresso, e uma centena de linhas de programação.

Juntando tudo isso deu algo assim:


Pois é, fiz um porteiro eletrônico. Seu papel principal é não me deixar para fora de casa, e impedir que outras pessoas entrem na minha casa.
É só eu não esquecer a senha, que tudo fica bem.

Como funciona


Você digita o * para digitar a senha, digita a senha, e se a senha bater com a que esta na memória dele, ele aciona um relé e abre o portão.
O circuito é feito de modo que você possa deixar o "cérebro" dele dentro de casa, e somente os fios que ligam o teclado e os leds para fora, não deixando exposto o circuito que controla o portão (por segurança).

O que foi preciso



  • 2 leds para ficar mais bonito, já que um circuito sem led não é um circuito.
  • Teclado matricial 4x3 para entrada de dados (1-9, * e #)
  • Relé 5v para acionar o portão e abrir a porta
  • PIC 16F877a para controlar todo o circuito e sistema
  • Regulador de tensão 5v para permitir entrada de diferentes tensões
  • Resistores, capacitores, cristais e terminais T-Block e SIL, e um botão para resetar o PIC
  • Placa de fonolite ou fibra virgem, material para corroer a placa e perfurar. Ou uma CNC que já faça tudo isso para você
Além disso, foi preciso algumas horas para criação do esquemático da placa, programação e claro soldagem.
O circuito já tem a saida para gravação na própria placa (ICSP) oque facilita muito a vida.
Soquetes para a tensão, e para o portão, bem como os pinos para ligar no teclado (7 pinos) e nos leds (2 pinos cada).

Quero fazer também, como faz?
Estou deixando aqui, todo material necessário para vocês fazerem caso tenham o mesmo problema que eu, incluido Esquemático no ISIS, layout no ARES e programação no CCS.
É necessário já ter um conhecimento sobre corrosão de placas, soldagem e montagem.
O teclado matricial, pode ser feito também se você não encontrar algum como o mostrado na foto, ou não tiver paciência para esperar o seu chegar da china depois de 2 meses de espera.
Vai ser preciso também, fazer alguma alteração no circuito do portão da sua casa, isso ai não é tão difícil, mas também não é simples.
E claro, só funciona com portões eletrônicos né...


E agora?
Ainda não instalei o circuito no portão, mas devo fazer isso em algumas semanas, quando fizer posto novamente sobre a dificuldade pra instalar, e se resolveu um dos problemas da minha vida...
Mas por enquanto eu tenho que levar a chave. Droga.

quinta-feira, 14 de julho de 2011

Equipe Emerotecos em 7º lugar!

Eu, Yan, Carmen Faria, Felipe Martins e Matheus em Istambul
Viajamos dia 3 de Julho para o campeonato mundial de robótica, organizado pela RoboCup. Este ano o evento foi realizado em Istambul na Turquia onde também ocorreu outras diversas categorias da liga Júnior, e Major onde muitas das categorias envolvem o resgate de vítimas, e o futebol de robôs.

A equipe
A nossa equipe é composta por 3 estudantes, e 2 orientadores. Quem viajou para o campeonato foram: Ivan Seidel (Eu), Matheus Canejo, Yan Marim e o nosso orientador Felipe Martins.

O Campeonato
O campeonato no qual participamos foi o Rescue B, onde um robô totalmente autônomo deve detectar vítimas aquecidas nas paredes de um labirinto. O labirinto é composto por 3 salas e 1 rampa que conecta a 2ª sala com a 3ª. Todo robô deve ser projetado, montado e programado pela equipe.

Arena da competição
O robô
O robô foi construído utilizando peças do kit Lego Mindstorms NXT, placas com Arduino Nano, além de sensores ultrassônicos, infravermelhos de distância e de temperatura. Todos os circuitos eletrônicos, programas e a estrutura física do robô foram montados pela nossa equipe.
Ele começou no dia 5 de Julho sendo aberto somente para treinos onde tivemos tempo para ajustar nosso programa e adequá-lo à arena do campeonato.

O robô utilizado no campeonato
No dia seguinte já começou com rodadas valendo. Fizemos uma pontuação abaixo do que esperávamos mas isso foi para todas as equipes, parece que Murphy costuma agir nessas primeiras vezes, só foi no 3º round que conseguimos elevar a pontuação e passar na frente de algumas equipes. Não desanimamos com a pontuação, e acertamos tudo para o outro dia ficando em 7º lugar.


Fotos!
Se quiser ver mais fotos do evento, inclusive de outras modalidades entre AQUI (Tiradas pelo Felipe) e AQUI (Tiradas pelo Paulo, da equipe de Pernambuco).

Na mídia
Reportagem no jornal A Gazeta

Vem ai...
Tenho certeza, que este campeonato me despertou um maior interesse em melhorar, vendo equipes construírem robôs de formas totalmente diferentes das que já havia visto. Conversei com a equipe da SuéciaAlemanha que participou do Soccer Jr., e com equipes também brasileiras que participaram de outras modalidades, isso inclui os estados de Brasília, Pernambuco e São Paulo! Foi ótimo ter alguém com quem falar português também.

Nossa equipe e a equipe de Pernambuco
Para o próximo ano, faremos um robô muito melhor que o deste ano, aprenderemos mais sobre eletrônica, programação e tentaremos ganhar novamente. Posso dizer que este campeonato foi um "treino", pois foi o primeiro ano em que foi mesmo um campeonato e não uma demonstração, trocar ideias com equipes foi ótimo para despertar interesses por outras áreas que nem conhecíamos.
Em Setembro ainda tem o campeonato do Rescue A e o Soccer!

Agradecimentos
Em nome da equipe, gostaria de agradecer a todos que nos patrocinaram e apoiaram, possibilitando nossa participação neste mundial. Agradeço aos nossos patrocinadores Granel Química e MTS Engenharia, e às empresas que doaram peças e serviços como a Proesi Componentes Eletrônicos, a InTechno Desenvolvimento e Capacitação e a Automatica Tecnologia. Agradeço, também, pelo apoio oferecido pela professora Carmen Faria e sua equipe do Laboratório de Robótica Educacional da UFES, pelo IFES e por sua fundação de amparo (FACTO).

domingo, 3 de julho de 2011

Rumo a Turquia


No aeroporto de Congonhas

A viagem para a Turquia iniciou esta manha, as 10h no aeroporto de vitoria.
Estamos indo ao campeonato mundial de robótica que ocorrera em Istambul de 5 a 11 de Julho.
Chegamos em são Paulo agora pouco, e estamos trocando de aeroporto, onde esperaremos 11 horas para pegar o voo direto para Istambul.
O robô esta parcialmente completo, faltando apenas alguns ajustes, e acertar o sensor de temperatura.
O campeonato no qual iremos participar e o Rescue B, se quiser saber mais entre aqui.
Estamos em 4 na viagem, Eu, Yan, Matheus e nosso orientador Felipe Martins.
O Felipe possui um twitter e esta postando sobre nossa viagem em cada etapa e postando fotos também. Se quiser receber as atualizacoes pelo twitter clique AQUI.
Chegaremos dia 4 a tarde na Turquia, e no outro dia já começa o campeonato, então fique ligado!
Um abraço a todos.
Equipe Emerotecos

terça-feira, 21 de junho de 2011

Regional da OBR no Espírito Santo

A garra do Hulk, com 4 servo motores do VEX
A OBR

As 6 equipes que participaram do campeonato
Como devem ter percebido, estive ausente este mês devido ao campeonato da OBR (Olimpíada Brasileira de Robótica) que ocorreu sábado passado, no IFES vitória e que me tomou muito tempo.
O desafio é construir e programar um robô autônomo, capaz de seguir uma faixa preta aleatória, contendo obstáculos e gaps (falhas). E no final do trajeto, resgatar uma vítima que é uma lata de refrigerante. Este campeonato é também chamado de RoboCup Junior RESCUE A.
Participaram do campeonato 1 equipe do nível 1 e 6 equipes do nível 2, sendo uma delas a nossa equipe: EMEROTECOS.
Nosso robô, contava com diversos sensores, inclusive uma placa Multiplexadora de sensores e motores utilizando o ARDUINO, que eu produzi para conectar ao NXT.
Ela neste evento, serviu apenas para comandar os quatro motores do VEX, de acordo com os comandos do NXT, mas poderia ser adicionado até 20 servos, ou 20 sensores digitais sendo 8 analógicos. Ele se comunica com o NXT via I²C. Fiz basicamente o mesmo que AQUI, porém utilizando o Arduino nano como micro controlador.


Sensores

Placa Multiplexadora com Arduino
Utilizamos 10 sensores de luz, para seguir a linha e conseguir aplicar algoritmos do tipo PID para se acertar com precisão na linha, e minimizar o erro dele ao longo do percurso.
Um sensor de bussola, fundamental para fazer curvas bem-feitas, e saber sua direção relativa a locais do qual o robô tinha conhecimento de sua direção (como uma borda).
Um sensor de distância Infravermelho, capaz de diferenciar 1mm de distância, responsável por gerar um gráfico no qual usamos para saber a posição da vítima na última sala.


Algoritimos de navegação

O Hulk, robô da OBR regional 2011
Para facilitar a programação, passei algumas horas criando uma máquina de estados para o RobotC, o que me ajudou muito posteriormente. Esta tal "máquina de estados", é um simples diagrama, no qual posso passar de um estado para outro, de qualquer parte do meu programa.
Um exemplo: O robô esta seguindo linha, e uma multi-tarefa, detecta que o sensor de toque foi pressionado. O estado principal, que segue linha, não precisa se preocupar com isso, e apenas deixará de executar este estado, e passará para o de desvio de obstáculo. Isso, sendo feito de qualquer parte do programa!
Agora vem a parte pratico-teórica de verdade.
O robô inicia checando todos os sensores, e motores. Se qualquer um deles estiver desligado/desconectado/quebrado/sumido/derretido/qualquer outra coisa, o NXT joga uma mensagem de erro na tela, dizendo qual sensor esta com erro, e oque deve ser feito.
Feito isso, entra a tela inicial, e escolhemos portanto, seguir linha com um clique no NXT.
Ele começa a seguir linha, e se algum desses 3 eventos ocorrer, ele entra em um novo estado:

  • O robô não esta mais enxergando linha, salva a posição da bússola e vai para a tarefa de gap.
    • Se andou por mais de uma distância, e não detectou linha nenhuma, sabe que esta na ultima sala (pois não há linha) e vai para a tarefa de pegar a lata.
    • Se detectou novamente a linha, volta para a tarefa de seguir linha.
  • O robô detecta que a velocidade angular da roda (derivada do encoder) esta baixa, então vai para a tarefa de obstáculo.
    • Na tarefa de obstáculo, ele desvia e volta para a tarefa de seguir linha.
  • O robô detecta que ao tentar se acertar na linha, seu ângulo de reentrada na linha foi maior que 130º, então sabe que fez alguma cagada (como ir na direção oposta) e reverte seu sentido.

Como não havia paredes na última sala, o sensor de infravermelho detectava sempre seu valor máximo quando não estava vendo a lata, e seu valor mínimo quando na lata. Para achar a posição dela, ele varria a sala com 90º, e gravava 200 amostras de distância. Logo após, varria essas 200 amostras, e descobria qual delas, teve o menor ponto, e que estava ao lado de menores pontos também (para filtrar amostras erradas).
Logo depois, andava um pouco mais a frente, e repetia este processo até estar próximo suficiente, para evitar erros, e conseguir pegar com as garras do Hulk.
Feito isso, o robô se posicionava nas 2 bordas da sala, para resetar sua posição XY e seguia para o final.
Isso tudo em 1300 linhas (com comentários) para conseguir fazer as missões.
Um vídeo mostrando ele na hora do campeonato (o filme não ficou muito bom, pois foi filmado de longe).

O que vem agora?

Se tiver um tempo, edito um vídeo para postar com algumas filmagens do robô em ação.
Como ganhamos o campeonato, iremos para o brasileiro em Setembro que ocorrera em São João Del Rei onde também participaremos do RoboCup Soccer, que são outros 500...
Dia 3 de Julho, viajaremos para Istambul na Turquia, para competir no campeonato mundial, RoboCup RESCUE B e voltaremos dia 14. Vou levar o Xoom, e se der faço um webcasting ao vivo de lá! Só preciso ter Internet.

No mais é isso.
Podem perguntar a vontade quanto ao robô, espero que tenham gostado e que tenha ajudado!

terça-feira, 7 de junho de 2011

Sorteio, anunciando o ganhador!

O vídeo fala por si só...

Parabéns ao ganhador!
O PIC será enviado pelo Francisco pelos correios. Faça bom uso!
Fiquem ligados, que tem mais novidades por vir...
Agradeço a todos que participaram, apoiaram, e elogiaram!
Um abraço,
Ivan Seidel

sábado, 28 de maio de 2011

Novidades para o blog

Robô do Soccer Junior (desenho do solidworks)


Como sabem, participo de campeonatos de robótica a um longo tempo, e nossa equipe quer divulgar o que estamos fazendo de novidade para os campeonatos, para ajudar e mostrar nosso trabalho.
A partir de hoje, sempre que algum passo for dado nos robôs irei postar aqui o que foi feito.

Os integrantes da equipe são: Ivan Seidel Gomes (Eu), Matheus Canejo e Yan Marim.
Também fazem parte: Prof. Felipe Nascimento Martins e Prof. Hudson Cassio.

Vamos participar de 3 campeonatos este ano:


  • Robocup Junior Soccer
    2 robôs autônomos jogam com outros 2 uma partida de futebol dentro de um campo medindo 1,80 x 2,40 m.
    O objetivo é fazer mais gols até o final dos 2 rouds.
    O tamanho máximo dos robôs é de 22x22x22 cm e seu peso máximo é de 2,5kg.
    REGRAS
    Até o momento, temos o robô desenhado no solidworks, algumas peças de acrílico prontas, as peças de alumínio serão cortadas brevemente. O robô será controlado por 1 NXT e 1 Arduino Nano v3.0.
    O robô irá se locomover na forma OMNI-DIRECIONAL para ter fácil e rápida mobilidade no campo.
    Postarei sobre os robôs separadamente e detalhada mente depois.
    O CAMPEONATO brasileiro ocorrerá em São João del Rei em MG no final do mês de setembro, no qual também participaremos.
  • Robocup Junior Rescue A
    1 robô autônomo que deve seguir uma faixa preta colocada aleatória mente ao longo de 3 salas, representando "um caminho seguro". O robô deve desviar de obstáculos sobre a faixa, e "gaps" que são pedaços sem faixa. No final da 2ª sala, há uma rampa onde o robô deve subir para chegar na 3ª sala que não haverá faixa, onde o robô deverá pegar uma vítima feita de lata de refrigerante posta em qualquer lugar e coloca-la em cima de um "patamar" em forma triangular que estará em alguns dos cantos.
    O robô terá 5 minutos para realizar as tarefas, e há perda de pontos por erros.
    REGRAS
    As peças para montar o robô chegaram esta semana, e agora é botar a mão na massa e no teclado. Ano passado participamos deste campeonato, e conseguimos pontuação máxima e o menor tempo no campeonato brasileiro (posto um vídeo depois).
    O campeonato ocorrera no próximo mês (Junho) no dia 18 em vitória - ES e é mais conhecido como OBR.
  • Robocup Junior Rescue B
    1 robô autônomo que deve achar o final de um labirinto feito com paredes aleatórias e detectar vítimas termicamente aquecidas (para isso AQUELE sensor térmico).
    O robô tera 5 minutos para realizar as tarefas, e há perda de pontos por erros.
    REGRAS
    Ainda não começamos a montar este robô, estamos na fase do "brainstorm", existe a possibilidade de usarmos o próprio robô do soccer pois já terá sensores ultrasonicos, câmera, e sistema omni-direcional.
    O CAMPEONATO será na Turquia - Istambul em julho e iremos representar o Brasil.
Um abraço a todos, e se tiverem duvidas sobre qualquer parte podem perguntar, estaremos a disposição para responder.

sexta-feira, 20 de maio de 2011

Meu outro novo brinquedo, Osciloscópio de bolso...

Oi pessoal!

Esta semana, chegou meu brinquedinho novo, DSO Nano que é um osciloscópio digital de bolso!

Para quem não sabe oque é um osciloscópio, a definição dada pela wikipédia é:
'O osciloscópio é um instrumento de medida eletrônico que cria um gráfico bi-dimensional visível de uma ou mais diferenças de potencial.[...]'.

Muito útil para medir essas tensões que variam centenas de vezes por segundo, e você não é capaz de ver com apenas um multimetro...

Fiz um pequeno vídeo para mostrar ele em "ação", é bem curtinho porque meu tempo esta bem curtinho nesses dias...



É incrível, o que ele faz, pelo preço que custou. Pesa 60g, tem uma velocidade de 2M sample e uma conversão AD de 12bits (4096 possíveis valores), uma tela lcd de 320x240, de 0 à 80V para medição, e algumas funcionalidades muito interessantes, como:

Tensão máxima, mínima, média, frequência, ciclo,duty cicle. Pode ser acionado por uma interrupção configurável de borda tanto positiva quanto negativa, pause em tempo real e algumas outras que ainda não sei mexer...

Ah sim, se você não gosta de ver na tela, pode gravar os dados no cartão SD e depois baixar para o computador sem problema algum.

Ele te permite: escolher dois pontos para medir a variação da tensão, e do tempo também, alterar o offset, e ver os dados após gravados.

A bateria, dura cerca de 2h, carreguei ontem o bixim, e tá aguentando bastante!

E o que me fez ficar apaixonado, foi seu microcontrolador! adivinhem...
Um ARM Cortex M3! isso mesmo, o mesmo do qual fiz o curso...

Para os interessados, estou fazendo pedidos dele sob encomenda em meu SITE.

E não se esqueçam de se inscrever no sorteio do PIC aqui.

Até a próxima!

terça-feira, 10 de maio de 2011

Brinquedo novo! LaunchPad MSP430

Eba! mais um brinquedinho para me divertir...


Agora, é o LaunchPad,MSP430 da Texas Instruments, um micro controlador bastante conhecido e usado a milênios...
Por incríveis U$4.30, incluindo frete comprei uma belezura dessa, e chegou hoje, após 1 semana de compra!

É uma placa que já vem com Mini USB para gravação, e com 2 micro controladores, bastante parecidos, mas um possui I²C, outro não.

Especificações:
2kB Flash
128B RAM
10GPIO
1x 16 bit timer
WDT
BOR
1x USI (I²C/SPI)
8ch 10 bit ADC



Achei o preço muito bom, e estou pensando em sortear um desse, oque acham?

Posto mais depois, com alguns testes realizados com ele.

sábado, 7 de maio de 2011

Sorteio! Concorra à um PIC16F877a

Olá leitores,
Para divulgar meu blog, e a loja de um amigo meu, sortearei um PIC16F877A.


O sorteio ocorrerá dia (1 de Junho) 7 de Junho, e para participar você precisa:

- Seguir o blog (aqui no lado direito estará o botão "seguir")
- Comentar neste post, dizendo qualquer coisa, que tenha a palavra "Tech", qualquer coisa mesmo... pode não ter sentido, e INCLUIR SEU E-MAIL PARA ENTRARMOS EM CONTATO!

O PIC foi doado pelo meu amigo Francisco, que esta montando sua loja virtual, de peças eletrônicas, o diferencial, é que são peças bem difíceis de se achar, e bem singulares.
Aqui esta a loja dele: VALLE SOLUÇÕES

Só sortearei o PIC, se existir mais de 32 pessoas para concorrer no dia 1º. O sorteio será realizado, só dentre aqueles que POSTAREM neste tópico e SEGUIREM o blog.

Divulguem por favor pessoal! Se isso der certo, todo mês posso fazer um...

Boa sorte a todos!

--
Atualização:

sexta-feira, 6 de maio de 2011

Sensor Termico Infra Vermelho

Olá leitores!
Quero mostrar a vocês, o sensor térmico infra-vermelho (TIR) que será usado no campeonato na Turquia, agora em Julho de 2011, na categoria Rescue B da Robocup Júnior.
O objetivo é achar a saída de um labirinto aleatório, e detectar "vítimas" aquecidas eletricamente. O sensor responsável por detectar estas vítimas será o da foto a baixo:

Sensor Térmico Infra Vermelho (3 na foto)
Ele é bem pequeno, e possui 3 modos de uso: Trigger, I²C, e PWM.
Com 4 pinos, 2 sendo alimentação e outro terra, restam 2 para comunicação.
O modo Trigger, é usado quando você quer apenas saber quando atingiu uma certa temperatura, usado em aparelhos eletrônicos para controle de temperatura e etc.
O modo PWM, gera um pulso PWM referente a leitura térmica do sensor.
Já o Modo I²C, através de registradores você pode acessar o valor absoluto da temperatura, vale lembrar que existem alguns sensores dentro de um único sensor, e que a leitura é a média deles.
A precisão dele, é de 0,01ºC quando em condições isotérmicas com o ambiente.
Vou fazer ele comunicar com o Arduino, e depois com o NXT.
Abraços, e até a próxima!

domingo, 24 de abril de 2011

Conectando o NXT com PIC 16F877

Este final de semana inteiro, trabalhei em 2 bibliotecas para conectar o PIC com NXT.
Vejam o vídeo para ter uma idéia do que é que estou falando...



Precisei muito disso, e nunca encontrei nada parecido pela internet, oque me motivou a fazer mais ainda.
O porque de usar o PIC? é um microcontrolador, é bastante conhecido e de fácil acesso. O que usei, é um 16F877, mas pode ser usado qualquer outro com hardware para I²C.
I²C é um protocolo de comunicação, que o NXT usa para ler sensores especiais, como o de ultrasom, giro, aceleração... O PIC 16F877 possui o hardware para leitura do mesmo.


A parte mais complicada, foi tudo. Não tinha um osciloscópio para realizar medições, portanto foi tudo na tentativa e erro.

Afinal, qual a vantagem de se comunicar com o PIC? Vamos lá. O NXT só possui 4 portas de sensores, o que nos limita a 4 sensores correto? O microcontrolador, nesse caso, servira como um expansor de sensores, e também, como uma plataforma para integrar quaisquer tipos de sensores e atuadores como servo motor, motores de passo, sensores analógicos e digitais... E a quantidade de sensores que pode ser ligadas a ele, é limitada a quantidade de pinos que possui, nesse caso, cerca de 30 e poucos...

O compilador usado para programar o NXT foi o RobotC (em C) e para o pic foi o CCS, portanto aconselho a usar esses para não ocorrer nenhuma incompatibilidade.

BAIXE AQUI OS ARQUIVOS!

Configurar um sensor no PIC, é bastante simples. Você precisa configurar 4 coisas:
- Um registrador unico, que esteja entre 0 e 127 (em hexadecimal)
- Um valor default, que sera carregado junto com o PIC (uma constante, ou um dado do eeprom)
- Uma função a ser executada quando esse registrador for chamado
- Uma função a ser executada quando esse registrador for alterado (opcional)

No NXT, para configurar é bem simples:
- Use a função 'PIC877_init(PORTA);' para iniciar o PIC;
- Use a função 'PIC877_sendCmd(PORTA,REGISTRADOR,DADO);' para enviar um comando ao PIC;
- Use a função 'PIC877_getData(PORTA,REGISTRADOR);' para receber um dado do PIC

Se tiverem duvidas quanto ao seu uso, não fique com vergonha, poste um comentário que serei muito grato em responder.
É capaz de melhorar o código? ótimo! melhore e só não esqueça de enviar para mim, afinal, divulgar faz parte
Sigam meu blog e o twitter (twitter.com/techlego) para dar uma força!

quinta-feira, 21 de abril de 2011

Barco "Finalmente" - 5

Agora sim da para brincar com ele...
Com controle remoto e receptor, servo e motor!
Aqui vai um vídeo com ele em ação!



Usei 30% de força, se não eu não conseguiria manobrar na piscina... Ele na verdade é bem veloz!

Não sabe do que se trata este projeto? Veja AQUI

Rodas Omni, a verção 2.0 da roda!

Muitos de vocês já se depararam com problemas ligados ao atrito, ou até mesmo de "comer" a roda após um longo tempo de uso. Uma roda omni é usada normalmente em sistemas omni-direcionais, que são capazes de ir em qualquer direção e girar em torno de qualquer eixo (inclusive de seu próprio eixo).
Rodas Omni são encontradas em grande quantidade em robos industriais, em linhas de produção (esteiras), e inclusive, no próprio NXT!
Você deve ter olhado a imagem antes de começar a ler, então não sera nenhuma "surpresa" apresenta-la agora...
Esta, e as outras de tráz foram as que chegaram ontem para mim! O eixo central é o da lego, embora a roda em si seja feita pela Rotacaster.
Para se fazer um sistema omni direcional, o arranjamento das rodas deve ter um centro, e a escolha da quantidade de motores deve ser superior a 3.
Fiz uma imagem representativa disso ao lado.

Com as rodas dispostas deste geito, precisamos de um pouco de fisica para entender como irá se movimentar, somando vetores.
Mas isso fica para um próximo post-turorial...
Um abraço a todos!
Sigam-me quem puder...

segunda-feira, 18 de abril de 2011

Finalmente as peças chegaram!

Até que enfim, após semanas de tortura as peças eletronicas para o barco e também para outras idéias malucas chegaram!


As destinadas ao barco Finalmente são:
- ESC
- Servo
- Receptor
- Controle
- e claro...
O GPS!
Vai uma foto posada para vocês:
Se der tempo posto ainda hoje um vídeo com ele me dizendo a posição!
Gastei um dinheirinho com isso, mas faz parte não é...
Começarei a programar o algoritmo de navegação do barco, que por sinal não é tão simples. Se der, posto uma imagem do esquema da programação.

domingo, 3 de abril de 2011

Projeto Barco "Finalmente" - 4

Finalmente ele andou!
Assistam o vídeo do barco em sua primeira "jornada" na água.



As atualizações até o momento:
Compramos a parte eletrônica:
-bateria
-motor
-receptor
-controle
-servo
-ESC (regulador de velocidade do motor)

Os itens necessários para faze-lo andar por radio controle estão para chegar, e os para deixa-lo autônomo também (GPS).
No vídeos, já instalamos o servo e o motor que dará a propulsão.
No entanto, uma unica bateria 6V é pouco para o motor, embora já esteja bastante forte e rápido.
Comprarei outra bateria de 6V e ligarei em série, portanto terei 12V, o dobro de potência no motor.
Obs.: queimei meus dedos no motor algumas vezes, estou pensando em colocar um cooler nele.

Não sabe do que se trata este projeto? Veja AQUI

quarta-feira, 30 de março de 2011

Alarme com ARM - Aviso via SMS

Olá caros leitores!

Mês passado, comentei com vocês sobre um projeto com o kit que ganhei do ARM Cortex M3, e que estava trabalhando em um projeto de um alarme que avisa por SMS uma invasão.
O sistema que fiz, era bem simples, e tinha algumas "gambs", mas o que importa é que funcionou né...
Comecei fazendo um cabo conversor do sensor do NXT para a placa do ARM, grinpei um plug RJ11 e um cabo de 6 vias. Do outro lado dele, desencapei os fios 2 e 3 (GND e 5V+ que também é o digital)  e na protoboard, coloquei um resistor de pull-up para o ARM poder ler.
O programa no ARM, depende de rodar em um computador para atualizar o servidor. O arm, possuía um simples JS que atualizava a cada meio segundo, e se estivesse verdadeira a posição do sensor, ele redirecionava para uma pagina em localhost do computador feita em PHP responsável por enviar o SMS.
uma empresa tercerizada para isso. Eles disponibilizam um WebService para o envio, então não foi tão complicado esta parte.



Demorei para postar porque meu computador antigo não estava dando conta das edições em HD mais...
Mas Felizmente, ontem, meu computador novinho chegou, e fiquei editando (sem travar) até terminar.
Espero que gostem, e me mandem ideias se tiverem!

terça-feira, 15 de março de 2011

Projeto Barco "Finalmente" - 3

Enfim, agora sim parece um barco!


Pintamos a parte de baixo de preto, e em cima de laranja. Ainda esta em aberto as cores do convés, se tiverem idéias, fiquem a vontade para compartilhar.
Fizemos a cabine, respirador, torre, alçapões e todo o convés em papel parana, cola quente e super-bonder, ainda falta impermeabilizar e pintar, mas antes disso temos que resinar o convés ao barco pois até então tudo se desmonta...
Mais algumas fotos:


Até breve pessoal!

quinta-feira, 10 de março de 2011

Projeto Barco "Finalmente" - 2

Pessoas,
Terminamos o leme como dito antes, e peguei as fotos com Vitor agora, já esta tudo no Flickr (AQUI), junto com as fotos do acabamento do casco, que esta lisinho agora!
Já encomendei o sensor GPS, e preciso da ajuda de vocês agora!
O que aprendemos, foi na base de tentativa e erro, e "googleando", queria saber se alguém tem experiência com Nautimodelismo de rádio controle, e poderia dar umas dicas sobre a eletrônica, motores... achei fraco os sites que encontrei por ai, se alguém souber de algum bom, mande mensagem por comentário que ficaremos agradecidos.
Algumas fotos do barco para finalizar o post...
Agrupando o leme na haste de aluminio
O Leme com 8 camadas de manta e resinado
Pronto para lixar e pintar
Leme pronto (com fita para proteger a haste)

Barco com massa plástica preparado para acabamento
Até breve pessoas!

quarta-feira, 9 de março de 2011

Novidades e atualizações de Março

Olá pessoas! Farei um breve post sobre a situação dos projetos, futuros projetos e projetos que terminei.

- ARM Cortex: fiz um esquema muito legal, com envio de SMS e outras coisas... posto o vídeo logo após que meu PC novo chegar e editar o vídeo...

- O Relógio: Estou a 95% dele! dei uma grande adiantada nele esse feriado, devido a chuva e a falta do que fazer.

- Quanto ao barco: O leme esta prontinho, pintado (ficou muito foda, posto fotos no flicker quando Vitor me enviar). Além disso, comprei anteontem o Sensor GPS para o NXT, deve chegar em 3 semanas. O casco do barco esta na fase de acabamento, passamos massa plástica, e estamos lixando, creio que pintaremos ainda essa semana se tudo der certo (as cores serão: preto, branco e vermelho brilhante).

- Estou trabalhando em um tipo de multiplex de sensores analógicos, digitais e I²C para o NXT com PIC, no dia em que fiz alguns testes, consegui enviar uma mensagem ao PIC e ele piscar um led! já é um grande começo...

- Quanto aos campeonatos deste ano, vamos participar de 2: Rescue A e o Soccer Junior da Robocup.

- Uma coisa que é chata mas muito útil, que fiz também em um dia chuvoso: Arrumar as minhas milhões de peças de lego... dentre elas, minhas queridas peças anguladas (cerca de 500 peças novas chegaram) e agora tenho 60 bolas de futebol da lego (e uma de basquete). Aceito doações de caixas para guardar!

- Para os que não conhecem ainda, também tenho uma loja de peças avulças de lego: www.ivanpecas.com.

- Finalizei um sistema feito em PHP e MySql, que avisa quando uma encomenda que você cadastrou no sistema saiu para entrega via SMS (isso já me salvou muitas vezes) o site é www.chegex.com.

- Post pequeno acabou virando grandinho... é a falta do que fazer mesmo.

Inté o próximo post pessoal, e peço que sigam o blog, eu ganho confiança para fazer doideras e gastar dinheiro com lego com vocês!

sábado, 5 de março de 2011

Projeto Barco "Finalmente"

Olá caros leitores!
Até o momento, tenho 3 projetos em andamento:
- Relógio (postado anteriormente, que estou quase terminando)
- Um pequeno projeto com ARM Cortex M3 (que já terminei, e estou editando o vídeo dele)
- O projeto "Finalmente"

Bom, vocês devem estar se perguntando: "WTF is Finalmente?"
Diretamente: É o nome do barco autônomo, guiado por uma bússola, e um GPS a bordo.
A plataforma escolhida para processar toda informação, foi o NXT, por já ter uma conexão fácil de se adaptar aos projetos, e além de já ter sensores ditos acima feitos para ele, sem a necessidade de desenvolvimento de um próprio hardware (o que é um outro projeto que ando escondendo de vocês também [ quantos projetos!]).
Já iniciei junto ao meu irão Vitor, a construção do barco a cerca de 1 meses, mas o andamento das coisas não é constante, sendo acelerado e freando repetidamente por falta de tempo, e por excesso de projetos...
Um breve estado das coisas como elas estão:

Forma em gesso

A forma do barco, feita de gesso já estava pronta, pois o Vitor quando mais jovem resolveu iniciar a construção de um barco, mas deixou de lado e só a 1 meses atrás que resolvemos reiniciar esse projeto, com algumas muitas modificações.


Passamos resina por fora da forma, e fizemos o casco do barco, que ficou muito resistente, reforçamos as quinas, e colocamos peso para testar na agua, ele boiou!
Barco já em resina bordas aparadas

Após feito o casco e aparamos as pontas resolvemos começar a fazer o leme que custou a nós um bom tempo de planejamento devido a dificuldade de se pensar em algo que fosse simples e que fosse eficaz porque sair furando o barco para se fazer as coisas não é uma boa técnica, a não ser que seja um submarino que não volte a superfície novamente...

Até então, temos o casco, um leme que falta fazer o acabamento (mais fotos brevemente) e o casco, que precisa ser reforçado por dentro.

Posto mais depois que andarmos mais um pouco no projeto.
Clique AQUI para visualizar mais fotos da construção do barco
Até a próxima pessoal!

sexta-feira, 25 de fevereiro de 2011

Curso de ARM Cortex M3

Olá pessoal, essa semana toda participei no IFES da Serra, do curso de ARM Cortex M3, do dia 20 até o dia 25 (hoje), onde estudamos o microprocessador ARM Cortex M3.
Fiquei encantado com essa "coisinha", e com o que ele é capaz de fazer! Talvez muitos de vocês, inclusive eu, já trabalharam ou brincaram com PIC, e devem pensar "deve ser a mesma coisa, com um nome diferente...". Não é bem assim! Durante o curso, descobrimos grandes vantagens de usa-lo, e praticamos com uma placa da Stellaris, que possui LCD, leds, botões, uma porta para cabo de rede, entrada para micro SD, e muitos pinos I/O e Analógicos.
Tirei uma foto dele para vocês verem como é...


O micro processador é de 32bits, possui 6 geradores PWM, 2 I²C (que estou tentando brincar neste momento). Aprendemos muita coisa mesmo em tão pouco tempo, graças ao nosso professor Alessandro Ferreira que trabalha na TECHtrainning e explicou muito bem o conteúdo (claro que tivemos que suar muito para fazer um led piscar por interrupção no começo, mas depois foi ficando cada vez mais fácil, e também divertido!).
No curso vimos o que é a ARM, os detalhes do microprocessador, fomos introduzidos ao ambiente de programação IAR (que suporta os processadores ARM, e evaluation kits), entendemos as portas GPIO, interrupções (que suamos um bocado), Low power modes para economizar energia, mexemos com o display 128x96, usamos timers, controlamos a memoria flash e claro, o bom e velho "Watch dog timer" para nunca entrar em um loop infinito indesejável, que leva ao limbo do mundo... (não queira estar lá!).


No ultimo dia, para nossa surpresa, foi o dia em que seria sorteado o tal "evaluation kit" da Stellaris (usado no curso, que apresentei a foto acima). Adivinhem quem ganhou o tal kit?
Sim, eu! Fiquei super feliz ao ganhar, já pensando no que fazer!
São infinitas as possibilidades do que se pode fazer com isso, 2 NXT, alguns PIC's, uma CNC (que esta a caminho, posto sobre ela depois).

Quem me apresentou essa oportunidade, foi o Felipe, meu "consultor" da area de robótica, e também um grande amigo, que é dono do blog http://nossosrobos.blogspot.com/ .

Pretendo usar esse kit para muitas coisas, quero conecta-lo com o NXT via I²C, fazer um webserver, datalogger... Enfim, quero fazer esse microprocessador suar, pois suei muito com ele esta semana.
Um abraço a todos, e até o próximo post.

segunda-feira, 24 de janeiro de 2011

Montagem de robô da NASA ao vivo

Estive pesquisando por alguns robôs na internet, e acabei encontrando o youtube da NASA, onde postam muitas coisas legais, como o que irá acontecer cada mês no céu, como cometas, alinhamentos estrelares e muito mais.
Em um desses vídeos, descobri que o robô Rover estava sendo construído ao vivo no USTREAM.
Aqui você pode ver a montagem em andamento: http://www.ustream.tv/nasajpl
Neste momento não há ninguém lá, acho que eles também são gente e dormem né...
mas amanhã será mais um dia de trabalho!

Vocês podem ver por aqui mesmo tabém:

Observação: O relógio esta mais difícil nas partes que achei ser mais fáceis... Já estou terminando!

quarta-feira, 19 de janeiro de 2011

Vídeos antigos: 400 pontos na FLL


Eu já participei da FLL (First Lego League) que é um campeonato de robótica utilizando Peças Lego, e o NXT apenas durante alguns anos, com a equipe "Emerotecos".
Todo ano, o tema da chamada "mesa" que é o conjunto do tapete mais as missões muda, e o ano em que fiz este vídeo foi o tema "Power Puzzle" que tem haver com energia.
A maior pontuação que se pode obter nas missões do robô, é de 400 pontos, e este vídeo mostra o robô que fizemos fazendo a pontuação máxima.

Nós conquistamos 1º lugar no brasileiro, o que nos garantiu a vaga para o mundial em Atlanta em 2009, e novamente em Atlanta, conquistamos os prêmios de 1º lugar nas missões, e 3º lugar em programação.
Ao todo mais de 200 mil pessoas competiram!
Hoje, não participo mais devido a minha idade, que já passou dos 15 anos, mas atuo como técnico em uma equipe de minha ex-escola, e como voluntário sendo juiz de mesa, e traduzo as regras.