CONEXÃO DE ARDUINO AO UNITY

O mundo da tecnologia é motivado e “limitado” pela imaginação de cada um. Desta feita o artigo desta edição prende-se com a ligação de um micro-controlador Arduino ao conhecido Game Engine Unity.

O objetivo deste artigo é explicar como proceder à ligação de um micro-controlador Arduino ao Unity e usar este como uma espécie de “comando” para o jogo criado no Unity. Será um exemplo extremamente simples que resultará no controlo de um simples sprite no eixo do X sem qualquer animação especial.

Para este pequeno tutorial necessitamos dos seguintes elementos:

  • Arduino Uno
  • 2 x Push Buttons
  • Cabos de Conexão
  • Arduino IDE
  • Unity

Uma vez cumpridos os requisitos vamos dar inicio à assemblagem do pequeno circuito eletrónico que será o nosso “comando” de controlo do personagem do exemplo em Unity.

Depois de implementado o seguinte esquema eletrónico iremos passar à programação do micro-controlador Arduino.

Aqui fica o código necessário:

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
//Definição dos pin's responsáveis pelos respectivos Push Buttons
const int botaoEsquerdo = 3;
const int botaoDireito = 4;
 
void setup()
{
   Serial.begin(9600);
   pinMode(botaoEsquerdo, INPUT);
   digitalWrite(botaoEsquerdo, HIGH);
   pinMode(botaoDireito, INPUT);
   digitalWrite(botaoDireito, HIGH);
}
 
//Método de Leitura Constante do Estado dos Push Butons
void loop()
{
   if(digitalRead(botaoEsquerdo) == LOW)
   {
      Serial.write(1);
      Serial.flush();
      delay(20);
   }
   if(digitalRead(botaoDireito) == LOW)
   {
      Serial.write(2);
      Serial.flush();
      delay(20);
   }
}

Feito o upload do código acima mostrado para o Arduino vamos passar ao Unity.

Para isso necessitamos de criar um novo projeto, assim como uma nova “scene” onde poderemos colocar um background ao nosso gosto e um “personagem” que será controlado pelo “comando” acionado pelo Arduino.

No exemplo mostrado usei ainda um elemento para o solo ao qual adicionei um “BoxCollider” assim como o personagem tem também adicionado um “BoxCollider” para que não caia no infinito. Mas estes pormenores podem ser personalizados ao gosto de cada um.


Arduino: Unity

A imagem acima mostra o exemplo que criei para ilustrar este tutorial.

Após a criação do cenário propriamente dito temos de então de criar um script em C# que será o coração do movimento e ligação com o Arduino.

Aqui está o código que deverá ser incluído no script C# para que possamos então conectar o nosso “comando” Arduino ao Personagem implementado no Unity.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
using UnityEngine;
using System.Collections;
using System.IO.Ports;
 
public class Arduino : MonoBehaviour {
   //Definiçao da variavel velocidade
   public float velocidade;
   //Definiçao da Porta COM que sera utilizada
   SerialPort porta = new SerialPort("COM3", 9600);
 
   // Use this for initialization
   void Start () {
      //Abertura da Porta COM para conexao com o Arduino
      porta.Open ();
      porta.ReadTimeout = 1;
   }
 
   // Update is called once per frame
   void Update () 
   {
      //Caso a porta COM responda positivamente estao executaremos o metodo Mover()
      if(porta.IsOpen)
      {
         try
         {
            Mover (porta.ReadByte());
         }
         catch(System.Exception)
         {
         }
      }
   }
 
   //Metodo Mover que sera chamado a cada clique no Push Button
   void Mover(int direcao)
   {
      //Para a Direita
      if (direcao == 1) 
      {
         transform.Translate(-Vector2.right * velocidade * Time.deltaTime, Space.World);
      }
      //Para a Esquerda
      if (direcao == 2) 
      {
         transform.Translate(Vector2.right * velocidade * Time.deltaTime, Space.World);
      }
   }
}

Após criar o script C# apenas é necessário arrastá-lo para para o “Inspector” referente ao personagem e se tudo correu bem ao colocar a cena em execução o Arduino será capaz de enviar para o Unity as nossas ações e reproduzi-las em tempo real.

Este tutorial é apenas um pequeno exemplo de como controlar um personagem usando o Arduino, no entanto pode ser aprofundado e explorado ao gosto de cada um, sendo possível implementar uma ação “saltar”, “disparar”, basicamente tudo o que a nossa imaginação disser.

Artigo publicado na Edição 49 da Revista Programar

Share

Marmalade Game Studio Em Lisboa

android_engine_03

Marmalade Game Studio é propriedade da Marmalade Technologies Ltd. sediada em Londres e conhecida pelo Marmalade SDK que é uma ferramenta de desenvolvimento de jogos para dispositivos móveis, tais como iOS, Android, Windows Phone, Windows Store, Blackberry e Tizen.

A abertura do Marmalade Game Studio em Lisboa espera “ajudar a acomodar a procura dos clientes e as suas próprias propriedades intelectuais em desenvolvimento,” disse Harvey Elliott, o CEO da Marmalade ao Games Industry.

Poderá obter mais informações no site oficial:

Share

Desabafo: App Android “Bombeiros.pt”

bomb
Praticamente 7 meses passaram desde o lançamento da primeira versão da app Android “Bombeiros.pt” e agora passado pouco mais de 10000 download’s efectivos e cerca de 4500 instalações ainda activas faço uma pequena retrospectiva deste projecto que acabou por se tornar mais significativo do que o inicialmente pensado.

Em parte pensado em conjunto com o portal “Bombeiros.pt” mas executado e implementado inteiramente pela minha pessoa a app tornou-se bastante apetecida tendo uma aceitação bastante boa para as minhas expectativas iniciais.

Apesar de alguns problemas que foram aparecendo na app, tal como o caso da secção “Ocorrências Activas” que não está a funcionar em pleno neste momento devido a alterações feitas no Website da Autoridade Nacional de Protecção Civil e claro está da opinião de alguns críticos para os quais tudo está mal a classificação é muito positiva obtendo uma pontuação de 4.42 em 5 num total de 342 classificações.

O projecto está neste momento um pouco mais parado, mas não totalmente morto pois tenciono lançar nos próximos meses uma nova versão com mais funcionalidades e informação, para que a app possa ser ainda mais útil.

Bem, mas nem era bem sobre isto que eu queria mesmo falar, mas sim sobre o facto de todos nós termos ideias fantásticas mas que acabamos por deixar esquecidas na gaveta sem que tenhamos medo de arriscar e as concretizar. Se correr bem e for bem aceite, serão excelentes ideias. Mas se correr mal, fica a tentativa e nunca nos arrependeremos de não termos tentado.

Arriscar faz parte, assim como cair e levantar é um passo integrante do caminho que temos de seguir. Este é um apelo a todos aqueles que tem ideias fenomenais na gaveta que as lancem aos Leões e aceitem de peito aberto a realidade.

Pois uma ideia fantástica nasce no meio de um monte enorme de ideias de merda.

A app poderá ser descarregada na Play Store: Bombeiros.pt

PS: Esperem por novidades na App “Bombeiros.pt” no final do ano…. =P

Share

images

A Google anunciou que vai terminar o desenvolvimento e o suporte do Android Dveloper Tools (ADT) para o ambiente de desenvolvimento Eclipse, focando-se apenas no desenvolvimento com recurso ao Android Studio.

Pessoalmente ainda tenho uma preferência e maior facilidade em usar o Eclipse para desenvolver aplicações para Android, mas a verdade é que o Android Studio está a tornar-se numa ferramenta cada vez mais poderosa.

No entanto o ADT para Eclipse continuará vivo dentro da comunidade open-source:

“We are focused on Android Studio so that our team can deliver a great experience on a unified development environment. Android tools inside Eclipse will continue to live on in the open source community via the Eclipse Foundation. Check out the latest Eclipse Andmore project if you are interested in contributing or learning more.”

O suporte oficial terminará o final do ano.

Share


< Já está disponível a nova edição da Revista Programar, esta edição traz como destaque um artigo sobre “ASP.NET 5”, contendo também um também um artigo sobre “Conexão de Arduino ao Unity” (pag.41) elaborado por mim, entre muitos outros artigos. É uma revista redigida por um grupo de voluntários que tem por gosto a programação, e apresenta artigos de grande qualidade e utilidade para qualquer interessado em programação… O Download Pode Ser Feito Aqui:

Related Posts Plugin for WordPress, Blogger...Share