Desarrollé una aplicación que envía datos para un Arduino por el puerto serie, pero no puedo entender cómo puedo recibirlo en el Arduino. Envío una cadena por el puerto serie para el Arduino y el Arduino lo recibe, pero no funciona en mi código (en el Arduino, recibo un byte a la vez).¿Cómo puedo recibir datos de una PC en un Arduino?
Actualización: que está funcionando;)
El código en C# que envía datos:
using System;
using System.Windows.Forms;
using System.Threading;
using System.IO;
using System.IO.Ports;
pulic class senddata() {
private void Form1_Load(object sender, System.EventArgs e)
{
//Define a serial port.
serialPort1.PortName = textBox2.Text;
serialPort1.BaudRate = 9600;
serialPort1.Open();
}
private void button1_Click(object sender, System.EventArgs e)
{
serialPort1.Write("10"); //This is a string. The 1 is a command. 0 is interpeter.
}
}
El código de Arduino:
Tengo actualizar el código
#include <Servo.h>
Servo servo;
String incomingString;
int pos;
void setup()
{
servo.attach(9);
Serial.begin(9600);
incomingString = "";
}
void loop()
{
if(Serial.available())
{
// Read a byte from the serial buffer.
char incomingByte = (char)Serial.read();
incomingString += incomingByte;
// Checks for null termination of the string.
if (incomingByte == '0') { //When 0 execute the code, the last byte is 0.
if (incomingString == "10") { //The string is 1 and the last byte 0... because incomingString += incomingByte.
servo.write(90);
}
incomingString = "";
}
}
}
tal vez un mejor lugar para preguntar: http: //electronics.stackexchange.com/ – vikingosegundo