Autor: Claudio Miklos | Publicado: 2013-08-22T12:45:00-03:00









Physical Computing &amp; Electronic Sketching"Physical (or embedded) computing, in the broadest sense, means building interactive physical systems by the use of software and hardware that can sense and respond to the analog world... a creative framework for understanding human beings' relationship to the digital world. In practical use, the term most often describes handmade art, design or DIY hobby projects that use sensors and microcontrollers to translate analog input to a software system, and/or control electro-mechanical devices such as motors, servos, lighting or other hardware." Wikipedia


Este blog trata de&nbsp; um novo conceito de computação que permite sair da frente do computador e interagir com o mundo real e que tem me proporcionado muitas horas de diversão e descobertas. Criar objetos eletrônicos que&nbsp;&nbsp;percebam o mundo ao redor, o movimento, as luzes, as cores&nbsp;&nbsp;e&nbsp;criar interações e reações com e para tudo isso. Este conceito é chamado de Physical Computing. Estou documentando estas experiências e estudos como uma forma de criar um arquivo de&nbsp; referência, espero que este arquivo seja útil para você também. (ao lado meu robô La*Ta)


PLATAFORMA ARDUÍNO
"Arduino can sense the environment by receiving input from a variety of sensors and can affect its surroundings by controlling lights, motors, and other actuators. The microcontroller on the board is programmed using the Arduino programming language (based on Wiring) and the Arduino development environment (based on Processing). Arduino projects can be stand-alone or they can communicate with software on running on a computer" &nbsp;(e.g. Flash, Processing, Max/MSP). 

&nbsp;









A&nbsp; plataforma microprocessada&nbsp;que estou utilizando é&nbsp;chamada de Arduíno, é uma concepção de designers Italianos e inclui a parte física (placa de circuito) a a parte lógica (softwares) utilizando uma versão simplificada da linguagem&nbsp;C chamada de Wiring, desenvolvida específicamente para utilização em eletronic sketching (mais ou menos - rabiscar com eletrônica).

Este conjunto de hardware e software foi criado para tirar o uso dos microprocessadores dos corredores das indústrias&nbsp;e universidades e colocá-lo a disposição de pessoas como eu e você, designers , artistas, curiosos, hobistas e muitos outros com vontade de aprender criar e se divertir.

Com esta plataforma e muitas outras você pode criar desde um conjunto de luzes de natal que acendem e apagam como você desejar até um robot&nbsp; que evite paredes e objetos, só depende da sua vontade e de um pouco de dinheiro, lógicamente.

Você deve estar pensando agora, ok mas e dai? o que é esse tal microprocessador e o que ele faz e como eu posso fazer tudo isso?

Um microprocessador é um computador dentro de um chip, todos (todos mesmo) os produtos que você tem em casa, desde sua televisão até sua máquina de lavar roupa, usam microprocessadores para executar as funções a que se destinam. Por exemplo, todas as vezes que você muda o canal de sua televisão um sinal infravermelho (IR) é emitido pelo controle remoto e transmitido para um receptor na tv. Este receptor passa o sinal para o microcontrolador dentro da tv e este envia os comando necessários para que a parte eletrônica ( transistores, switches, e mil outras coisas) mudem seus estados de tensão elétrica e a mudança de canal aconteça.

Dentro do microprocessador existe um software (assim como no hd do seu pc) que roda em um pequeno espaço de memória (chip especial chamado eprom - memória permanente) e que controla tudo isso.

A idéia aqui é que você possa fazer a mesma coisa (não uma TV!) controlando com seu próprio software e hardware os equipemntos que quizer e conseguindo que eles façam o que vc desejar. Divertido não é?

Veja alguns exemplos:

SITE INSTRUCTABLES&nbsp;- Criações de pessoas de todo o mundo

A plataforma arduíno tem muitos modelos diferentes de placas e microprocessadores e é uma plataforma aberta que pode ser montada e vendida por qualquer um (existem mil tipos e nomes: freeduino, robotduino...) , atualmente o microprocessador utilizado é o ATMEGA328 (arduino duemilenove).

Veja um esquema da placa da arduino duemilenove&nbsp;:























O microprocessador é montado em uma placa de circuito que dá acesso a suas portas (como as portas de um PC , usb, serial...) mas, com funções bem mais simples como enviar pulsos elétricos aos motores ou receber estes pulsos e sinais de sensores para ler o mundo a volta. 

Vamos ver mais de perto:




























Para conseguir usar estas plataformas não é necessário conhecer a fundo como funciona o microprocessador (apesar de que você certamente vai querer saber), tudo é pensado para que os conceitos mais complexos fiquem atrás da linguagem Wiring. Porém não se trata de uma interface gráfica bonitinha (apesar de existirem ) , é uma linguagem de programação que tem que ser aprendida.



Um exemplo da linguagem Wiring aonde se lê sinais de sensores de luz para fazer um robot ir atrás da luz ou evitá-la:

---------------------------------------------------------------

void loop() 

{ 

digitalWrite(ledPin, HIGH); // sets the LED on

sensor_left = analogRead(0); // reads the value of the left photoresistor (value between 0 and 1023)

sensor_right = analogRead(1); // reads the value of the right photoresistor (value between 0 and 1023) 

-----------------------------------------------------------------


O mais importante é aprender os conceitos de utilização dos equipamentos que podem ser ligados a ela e como utiliza-los e controlar a linguagem para conseguir realizar as idéias que você tem.

Como existem centenas de tipos de sensores, motores e outros tipos de equipamentos que é possível utilizar, o caminho é longo e a cada passo um novo desafio aparece.

É isto mesmo que eu estou fazendo agora, experimentando, aprendendo e me divertindo. Espero que as informações do meu blog ajudem um pouco&nbsp;e que você também participe.

claudio@miklos.com.br