Unity communiquer avec un Arduino (Port série) pour créer une interface graphique

Comment piloter son installation domotique gérer par un arduino ou tout simplement son une LED ?

Il suffit d’utiliser la liaison série de l’arduino, si on y ajoute un module bluetooth, Ethernet, ou Wifi, le principe reste le même.

L’ arduino reçoit des informations par le biais de son interface série.

Je vous propose dans cette vidéo de créer une interface permettant d’allumer et éteindre une LED gérer par un Arduino Nano.

Script Arduino.cs (Unity C#

 

Script Unity C# (Arduino.cs)

using UnityEngine;
using System.IO.Ports;

public class Arduino : MonoBehaviour
{
    SerialPort serial1;

    void Start()
    {
        serial1 = new SerialPort();
    }

    public void LedOn()
    {
        serial1.PortName = "COM5";
        serial1.Parity = Parity.None;
        serial1.BaudRate = 9600;
        serial1.DataBits = 8;
        serial1.StopBits = StopBits.One;
        serial1.Open();
        serial1.Write("2");
        serial1.Close();
    }

    public void LedOff()
    {
        serial1.PortName = "COM5";
        serial1.Parity = Parity.None;
        serial1.BaudRate = 9600;
        serial1.DataBits = 8;
        serial1.StopBits = StopBits.One;
        serial1.Open();
        serial1.Write("1");
        serial1.Close();
    }
}

Script Arduino IDE (C++)

const int maLed=2;
int etat = 0;         

void setup() {
 pinMode(maLed, OUTPUT);
 Serial.begin(9600);  
}

void loop() {
  
if (Serial.available() > 0) {    
    etat = Serial.read();
      if(etat=='1')
      {
        digitalWrite(maLed,LOW);
      }
      else if(etat=='2')
      {
        digitalWrite(maLed,HIGH);
      }
  }
}

 

Vous voulez découvrir l’arduino, je vous conseil cette playlist :

2 commentaires

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur la façon dont les données de vos commentaires sont traitées.