Scratch4Arduino

De Garoa Hacker Clube
Revisão de 18h28min de 17 de outubro de 2013 por Haoji (discussão | contribs)
Ir para navegação Ir para pesquisar

Scratch é um ambiente de aprendizagem desenvolvido pelo Lifelong Kindergarten Group do MIT Media Lab. É um software completamente livre e auxilia a introduzir programação de forma natural para todos, desde crianças com 8 anos.

A linguagem de programação do Scratch é uma linguagem natural imperativa com construções básicas (variáveis, atribuições, laços, condicionais e chamadas para funções e ações) alimentada com grupos de instruções para trabalhar com projetos multimídia. Um projeto de Scratch tipicamente é um jogo ou uma animação com design, ícones, som e vídeo sofisticados. Há uma metáfora por traz do Scratch de jogo de blocos, como Lego ou similares. Todas instruções são encaixadas uma a uma, formando cadeias de comandos que comandam o que acontece com os objetos na tela.

S4A

Scratch 4 Arduino (S4A) é uma adaptação que permite programação simples do Arduino. Ele possui blocos para interagir com sensores e atuadores conectados ao Arduino.

O objetivo do Scratch é atrair a todos para o mundo da programação, sejam crianças ou pessoas sem contato prévio com alguma linguagem de programação. Fornece uma opção extremamente amigável para criar experimentos com Arduino.

Página oficial do projeto (inglês): http://s4a.cat/
Página oficial do projeto (Português): http://s4a.cat/index_pt.html

Funcionalidades

Scratch 4 Arduino (S4A) oferece blocos para as funcionalidades básicas do microcontrolador, leituras e escritas analógicas e digitais e outros mais avançados. Há um bloco para controle de servos de rotação contínua, por exemplo.

Criar objetos do Arduino é possível de 3 formas diferentes no ambiente do S4A. É possível escolher entre criar uma nova conexão ou utilizar uma já existente. Este recurso permite que objetos virtuais do Arduino trabalhem colaborativamente utilizando a mesma conexão (o objeto físico). O objeto Arduino irá encontrar a porta USB onde a placa Arduino está conectada.

S4A interage com o Arduino enviando estados de atuadores e recebendo estados de sensores a cada 75ms, portanto a largura de pulso deve ser maior que este período de tempo. Esta troca de informações é realizada utilizando o protocolo PicoBoard e deve haver um programa específico para Arduino (firmware) na placa controladora. Este programa é enviado através da IDE do Arduino.

Há compatibilidade (confirmada) com o Arduino Diecimila, Duemilanove e Uno, mas também é possível que funcione com outras versões. Também é possível gerenciar uma placa wireless se um módulo RF como um Xbee for adicionado. Uma funcionalidade importante é ser possível adicionar no seu projeto quantas placas controladoras suas portas USB permitirem.

Xbee

É possível conectar múltiplas placas Arduino utilizando módulos Xbee.

Limitações conhecidas: Precisam estar configuradas com 38400 bauds para serem reconhecidas automaticamente pelo S4A.

Limitações

Projetos do Scratch e PicoBoard são compatíveis com o S4A, porém o S4A não pode compartilhar projetos porque seria contra os termos de uso do Scratch.

A configuração das entradas e saídas está em desenvolvimento, portanto por enquanto os componentes devem ser conectados de uma determinada forma. A configuração permite 6 entradas analógicas (pinos analógicos), 2 entradas digitais (pinos digitais 2 e 3), 3 saídas analógicas (pinos digitais 5, 6 e 9), 3 saídas digitais (pinos digitais 10, 11 e 13) e 4 saídas especiais para conectar um servo de rotação contínua (pinos digitais 4, 7, 8 e 12).

Há um patch que modifica dois pinos do servo para funcionar como 2 saídas digitais. No arquivo há instruções de uso.

Clique aqui para baixar o patch

Criadores

S4A foi desenvolvido por Marina Conde, Victor Casado, Joan Güell, Jose García e Jordi Delgado com a ajuda do Citilab Smalltalk Programming Group e de colaboradores como Jorge Gómez, instrutor no Training Center Padre Piquer de Madrid. Bugs e sugestões devem ser enviados para: scratch@citilab.eu.

Passo-a-passo

Instalar tudo necessário para controlar o Arduino através do S4A é muito fácil. Siga as instruções abaixo e não deverá ter problemas.

  1. Baixe a IDE do Arduino, firmware e software do S4A.
  2. Instale a IDE do Arduino e o software do S4A.
  3. Plugue a placa Arduino no computador, abra a IDE do Arduino e abra nele o firmware (.ino) do S4A.
  4. Envie para a placa o firmware como se fosse um sketch qualquer de Arduino.
  5. Feche a IDE do Arduino para liberar a placa para uso
  6. Abra o S4A e a placa deverá ser automaticamente reconhecida.
  7. Divirta-se!

Instalação

Certifique-se que possui a versão mais recente da IDE do Arduino:

Clique aqui para ir à página de download da IDE do Arduino

Firmware

O firmware nada mais é que um sketch do Arduino como um outro qualquer. Realize o download do arquivo .ino e o envie-o para o Arduino através da IDE lembrando de selecionar o tipo de placa e porta adequados.

Clique aqui para baixar o firmware 1.5

Software

A versão mais atual do software é a 1.5. Realize o download do software do S4A de acordo com seu sistema operacional:

Windows
Mac (Mountain Lion e Lion: desative Gatekeeper se tiver problema ao abrir S4A.app)
Linux (Debian)

Exemplos

O arquivo abaixo possui alguns exemplos que utiliza botões, resistores e LEDs. Todas fotos de montagem necessárias estão inclusas.

Clique aqui para baixar o arquivo de exemplos básicos

Código Fonte

Apesar do código fonte do programa ser encontrado no próprio programa (shift + clique esquerdo no menu "Arquivo" e selecione 'Exit User Mode') ele está disponível no arquivo abaixo (versão 1.4):

Download do código fonte

Shield S4A

Foi criado um shield para facilitar o uso das entradas e saídas do Scratch 4 Arduino. Mais detalhes em: https://scratch-io.wikispaces.com/

Referências

Página oficial Scratch 4 Arduino: http://s4a.cat

Labduino: http://www.labduino.blogspot.com.br/p/gedutec.html