quinta-feira, 11 de fevereiro de 2016

Snap4Arduino



Estando a testar um novo componente eletrónico que adquiri recentemente voltei, à semelhança do que já me tinha acontecido com o SR04, a defrontar-me com a lentidão imposta pelo S4A na comunicação com o arduino, cuja atualização dos estados dos atuadores e dos sensores é feita a cada 75 ms.

No próprio site do S4A, encontrei uma plataforma de programação de arduino por blocos alternativa, o Snap4Arduino, que está a ser desenvolvida pela mesma equipa do S4A. Os pontos fortes e fracos do Snap4Arduino são, de acordo com a equipa que o desenvolve:

Pontos fortes:
  • Corre em praticamente todas as placas Arduino (incluindo a Mega e a Nano);
  • Os pinos do arduino podem ser configurados como entradas ou saídas (ao contrário do que acontece no S4A, onde estamos limitados à definição de entradas e saídas imposta pelo firmware);
  • Resposta 7 vezes mais rápida que o S4A;
  • Interage com várias placas ao mesmo tempo;
  • Permite a criação de novos blocos;
  • Usa firmware standard Firmata;
  • Faz a tradução de pequenos programas para C (ainda em versão experimental - eu tentei e não consegui...).

Pontos fracos:

  • Não é compatível com o S4A.

A instalação do Snap4Arduino é feita a partir do respetivo site: http://s4a.cat/snap/

Para que a comunicação entre o Snap4Arduino e a placa de Arduino seja possível, é necessário fazer o upload para a placa arduino do Firmata, pequeno programa que tem a vantagem de estar já incluído nos exemplos do software do próprio Arduino. Assim, há simplesmente que:

  1. Abrir o software do arduino (caso necessário, fazer o download a partir de: https://www.arduino.cc/en/Main/Software);
  2. Selecionar o menu "File -- > Examples -- > Firmata -- > StandardFirmata";
  3. Efetuar o upload do programa para a placa de arduino.
O Snap4Arduino está pronto para comunicar com a placa.

O ambiente do Snap4Arduino é muito parecido com o do S4A e estou convencida que quem trabalha com um, começará a trabalhar com facilidade com outro:


A linguagem de programação é muito idêntica. Um exemplo de um LED ligado à saída 13 a piscar 10 vezes:


Como importante diferença, o facto de podermos escolher as entradas e as saídas:


Com alguma expectativa no uso deste software para controlar componentes mais rápidos. Assim que tiver tempo de o explorar, darei notícias...


1 comentário: