Arquivo da tag: Projectos

Projectos

Arduino Bluetooth Firmware Upload

É possível fazer o upload de um programa para o arduino via bluetooth?Bluetooth Arduino Sketch Upload

Quem utiliza Arduino nos seus projectos, mais dia menos dia irá ter uma duvida que gostaria de ter esclarecida.

É possível fazer o upload de um programa para o arduino via wireless?

R.: Sim, de todo testado, comprovado, e explicado neste post.

Para começar informo que neste caso, o via Wireless trata-se de uma ligação Bluetooth, os testes foram feito utilizando um arduino UNO r3, e um Arduino Nano 328, utilizando o Windows XP, e o Arduino IDE 1.0.5, será ainda necessário outro programa o VSPE (Virtual Serial Port Emulation), estes são alguns dos requisitos que me dará muito gosto explicar, e outros passam por Handshake, Reset, e Watchdog (a serio cão de guarda), Sketch, Bootloader,  entre outros termos estrangeiros que definem algumas operações.

Para começar a resolver este problema resolvi colocar a questão de outra maneira. Como é que o upload se processa e, o que que me impede de fazer o upload de programas para o arduino via wireless.

O upload de software para o Arduino normalmente é feito via cabo FTDI que não é mais que um conversor USB serie, e é através dos pinos 0 e 1  (que são também a porta serie do arduino TX e RX) que a informação circula.

Posto isto e visto que podemos ter uma porta serie com a maioria dos dispositivos bluetooth presentes nos nossos notebook´s fica a questão. O que me impede de ligar um modulo bluetooth na porta serie do arduino emparelhar com o PC e solicitar ao Arduino IDE de enviar o firmware para essa porta?

Bem na verdade o que impede isto ser assim tão simples e linear, são fundamentalmente 3 aspectos.

  1. Primeiro no meu caso utilizo módulos Bluetooth HC-05, que a semelhança de outras possibilidades no mercado parece que não dispõem de linha DTR (digo parece porque ainda não tenho a certeza, se alguém souber mais sobre o DTR nos módulos HC-05 agradeço que me informe). Sem DTR não se consegue fazer o reset ao Arduino de modo o Bootloader iniciar e por conseguinte dar inicio a sequência de upload de firmware para o Arduino.
  2. Qual as características que a ligação serie necessita para comunicar com o arduino na sequência de upload?
  3. O Arduino IDE é capaz de enviar o upload para uma porta serie, até aqui tudo certo, mas há um senão que é, se estabelecer a ligação serie Bluetooth do PC ao arduino via Windows o IDE vai dizer que esta porta está a ser usada e impede o upload.

Se dominarmos estas questões temos o problema resolvido e o upload do firmware a funcionar em pleno.

Ponto 1 Reset do Arduino

Estão relacionadas entre si existem varias hipóteses de solução, sempre em mente que o necessário é fazer um reset ao Arduino de modo o bootloader arrancar.

Isto pode ser conseguido de varias formas.

Por Hardware

  • Carregando no Botão de reset do Arduino resolve as questões no ponto 1 e ponto 2. Para o upload iniciar devera carregar no botão de reset do arduino e um segundo depois de aparecer “Uploading” no IDE largar o botão de reset.

Por Software

  • Brevemente vou dedicar um  post a este assunto mas para já deixo 2 links com informação útil sobre este tema.

Resetting the arduino through software for fun and profit by aRiver’s pad

Arduino tips ticks and techniques Bootloader by Adafruit

Ponto 2 Características da ligação serie estabelecida durante o upload de firmware.

Aqui basicamente o que há a saber é que o upload é feito desde o IDE via porta serie que pode ser seleccionada pelo utilizador e um aspecto fundamentar é que essa comunicação e feita com um Baund Rate 57600bps Stop Bit 1 e Parity None.

Como tal teremos de configurar o modulo BT HC_05 com estas características, e até já fiz um post sobre isso que pode ser lido aqui.

Para modulo diferentes destes o procedimento é algo parecido mas recomendo consultarem o datasheet do respectivo modulo e obter referencias sobre o modo AT e respectivos comandos.

Ponto 3 Configurações do Arduino IDE

Aqui reside o problema do normal funcionamento do IDE, que reside em testar a utilização da porta serie em questão neste caso a porta serie associada ao Bluetooth.

Em Linux não sei ao certo o funcionamento tanto bluetooth como do IDE, mas no windows o que se passa é o seguinte.

Por um lado temos de fazer a ligação da porta serie ao bluetooth do pc ao modulo via windows e por outro quando seleccionamos essa mesma porta para upload o IDE reporta que a porta serie em questão já está a ser utilizada.

A solução

Passa pela utilização do programa que indiquei acima o VSPE (Virtual Serial Port Emulation) e que pode ser descarregado gratuitamente aqui.

O truque aqui agora é o seguinte criar uma porta serie virtual, encaminhar todo o tráfego entre a porta serie do BT e esta porta serie virtual.

Desta maneira o IDE não se queixa do windows estar a utilizar a porta serie do BT e o upload é feito sem problemas.

Exemplo

Criei um Spliter onde utilizei como porta serie virtual a COM16 e redireccionei para a COM13 porta real do BT do PC, fiz o emparelhamento e a ligação pelo windows e “voilá” está pronto a fazer upload de novos sketch para o Arduino via bluetooth.

vspe create spliter

vspe create spliter

vspe config ports

 

Construção RC Extra 300

Construção de de um modelo do conhecido avião de acrobacias Extra300

Neste tópico deixo algumas dicas que aprendi com a construção de um aeromodelo.
Comecei pro imprimir numa plotter os planos do modelo escalando o desenho que originalmente tinha 750mm de envergadura (se os termos técnicos não forem correctamente utilizados peço que me corrijam), para ficar com 1000mm.
Depois de imprimir coloquei os desenho por cima de placa de “depron” poliestireno extrudada (XPS), e recortei as peças.

Com ripas de balsa fiz um espécie de chassi que foi forrado com as placa de depron recortadas dando a forma e ao mesmo tempo estrutura ao modelo.

No fim fiz em chapa de alumínio de 1mm uma bancada para aplicação do motor com o mesmo tipo de chapa e rodas de um carro de brincar um trem de aterragem, para a roda traseira utilizem uma roda de um carrinho de brincar e um pedaço de arame de aço para fazer de amortecedor.

Servos, receptor, variador, bateria instalada e está pronto a voar.

Planos:

[wpdm_file id=4]

Materiais:

  • Madeira de Balsa
  • Depron (Polietileno extrudido)
  • Cola
  • Fita Cola
  • Varetas de Aluminio/Carbono/Inox
  • Serra Cabos
  • Garrafa PET p/Cockpit

Ferramentas:

  • Regua
  • Esquadro
  • Xacto
  • Tesoura

Nesta altura estou no inicio da aprendizagem deste vasto tema que é a construção de aeromodelos, sendo este o o segundo modelo construído por mim a partir de planos com pouquíssima informação, mas constatei ser essa a chave do sucesso pois com poucas instruções a seguir fui improvisando, e confesso que fiquei a conhecer os materiais onde os adquirir etc.
Serviu para o teste de varias colas e tintas ou revestimentos.
E no final de tudo a avião até vou por escassos minutos é certo mas confesso que ficou mais que pago.