- Home /
Question by
Joeman9832 · Jul 05, 2018 at 12:32 AM ·
fpsfps controllerarduinoserialportexternal controller
Arduino Button Input not working
I have the following code in unity and i am trying to make a controller for an fps:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System.IO.Ports;
public class ControllerTest : MonoBehaviour {
SerialPort sp = new SerialPort("COM3", 9600);
// Use this for initialization
void Start () {
sp.Open();
sp.ReadTimeout = 5;
}
// Update is called once per frame
void Update () {
if (sp.IsOpen)
{
try
{
MoveObject(sp.ReadByte());
print(sp.ReadByte());
}
catch(System.Exception)
{
}
}
}
void MoveObject(int Shoot){
if(Shoot == 1){
Debug.Log("shot");
}
}
}
This is the code i have uploaded to my arduino:
const int btn1 = 8;
void setup(){
Serial.begin(9600);
pinMode(btn1, INPUT);
digitalWrite(btn1, HIGH);
}
void loop(){
if(digitalRead(btn1) == LOW){
Serial.write(1);
Serial.flush();
delay(20);
}
}
Unity doesn't seem to respond to my input other than the first time the button is pushed. When i had two buttons wired up unity responded perfectly fine. I just need to be able to execute code by pushing the button
Comment
Your answer
Follow this Question
Related Questions
Using Arduino as controller in Unity is giving me bad framerate 1 Answer
How to add a footstep sound to rigidbody fps controller from standart assets (It has no animations)? 0 Answers
unity to serial ports ( blink LED ) 0 Answers
Increasing Unity Frame Rate? 0 Answers
FPS 3D camera view problem 0 Answers