Help us understand the problem. What is going on with this article?

Unityをmicro:bitとのシリアル通信でコントロール(mac)

More than 1 year has passed since last update.

micro:bitからUnityで作ったコンテンツを操作する手順です。
通信はシリアルになりますがmicro:bitを2台使って無線での操作にします。
bluetoothはよくわからなかったのでこの方法にしました。
↓完成形


micro:bit(操作側)

micro:bitのエディターにアクセスして、
下記スクリーンショットの様にグループの指定(なんでもいいです)と通信の際のトリガーを指定します。
アイコン表示は無くてもいいです。
送信する文字列も、文字じゃ無くてもなんでもいいです。

FireShot Capture 490 - Microsoft MakeCode for micro_bit - https___makecode.microbit.org__lang=ja.png

micro:bit(受信側)

受信側も最初にグループの指定をします。
グループ番号は送信側と合わせます。
送信側からのデータを受信したら、今度はシリアル通信で文字列を書き出す様にします。
FireShot Capture 491 - Microsoft MakeCode for micro_bit - https___makecode.microbit.org__lang=ja.png

Unity

今回はParticle SystemをPlayしてるので下記の様になります。
SerialPortの引数はmicro:bitを接続しているポート名とボーレート(115200)を指定します。
ボーレートは他の記事を参考にこの値を入れています。
※以下のコードではシリアル通信の文字列の判定はしていません。

using UnityEngine;
using System.Collections;
using System.IO.Ports;
using UnityEngine;
using System.Collections;
using System.IO.Ports;

public class Serial : MonoBehaviour
{
    SerialPort stream = new SerialPort("/dev/cu.usbmodem1422", 115200);
    public ParticleSystem p;
    // Use this for initialization
    void Start()
    {
        stream.ReadTimeout = 10;
        stream.Open();
        stream.DiscardInBuffer();

    }

    // Update is called once per frame
    void Update()
    {
        try
        {
            p.Play();
        }
        catch (System.Exception)
        {
        }
    }
}
atsonic
株式会社 たき工房 テックラボ所属 ディレクター。 https://www.instagram.com/takagimao/ https://twitter.com/atsonic
https://atsonic.jp
taki-mex
株式会社たき工房の開発部署、TechLabです。
https://lab.taki.co.jp
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away