Hola:
Teniendo este código hecho en Visual C# 2013 (Los que quieran lo paso a Visual Basic 2013 también).
Tengo el código hecho, o que hace es encender y apagar el Led 13 del Arduino UNO r3 con la interfaz hecha bajo C# como indiqué ariba.
Código Visual C# 2013:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.IO.Ports; // No olvidar.
namespace Encender_Led_Arduino
{
public partial class Form1 : Form
{
string Recibidos;
public Form1()
{
InitializeComponent();
// Abrir puerto mientras se ejecute la aplicación.
if (!serialPort1.IsOpen)
{
try
{
serialPort1.Open();
}
catch (System.Exception ex)
{
MessageBox.Show(ex.ToString());
}
}
serialPort1.DataReceived += new SerialDataReceivedEventHandler(Recepcion);
}
private void Recepcion(object sender, SerialDataReceivedEventArgs e)
{
Recibidos += serialPort1.ReadExisting();
Invoke(new EventHandler(Actualizar));
}
private void Actualizar(object sender, EventArgs e)
{
richTextBox1.Text = Recibidos;
}
private void button_Encender_Led_1_Click(object sender, EventArgs e)
{
byte[] mBuffer = Encoding.ASCII.GetBytes("Led13_ON");
serialPort1.Write(mBuffer, 0, mBuffer.Length);
}
private void button_Apagar_Led_1_Click(object sender, EventArgs e)
{
byte[] mBuffer = Encoding.ASCII.GetBytes("Led13_OFF");
serialPort1.Write(mBuffer, 0, mBuffer.Length);
}
}
}
Código de Arduino UNO r3:
char caracter;
String comando;
int pinLed = 13; // Declaramos la variable pin del Led.
void setup(){
// Inicializa el pin del LED como salida:
pinMode(pinLed, OUTPUT);
Serial.begin(9600);
}
void loop(){
while (Serial.available()>0){
caracter= Serial.read();
comando.concat(caracter);
delay(10);
}
if (comando.equals("Led13_ON") == true){
digitalWrite(pinLed, HIGH);
Serial.println("El comando es Led13_ON");
}
if (comando.equals("Led13_OFF")== true){
digitalWrite(pinLed, LOW);
Serial.println("El comando es Led13_OFF");
}
comando="";
}
La pregunta es:
¿Cómo puedo hacer, que el Led 13 de Arduino se grave en la EEPROM?
Me refiero cuando está apagado o encendido.
Un cordial saludo.