Programa en Scilab
h=openserial("/dev/ttyACM0","9600,n,8,1"); // *
xpause(1e06); // retardo (aprox. 1 sec)
writeserial(h,char(1)) // envía 1(uint8)
xpause(1e06) // retardo (aprox. 1 sec)
writeserial(h,char(0)) // envía 0 (uint8)
closeserial(h);
* En Windows se debe sustituir "/dev/ttyACM0" por el número (sin comillas) de COM. Por ejemplo, para el COM5 quedaría: h=openserial(5,"9600,n,8,1");
Probamos la comunicación con un programa simple en Arduino dónde el led del puerto 13 encienda enviando un 1 y apagándolo con un 0.
Programa de prueba en Arduino
void setup() { Serial.begin(9600); pinMode(13, OUTPUT); digitalWrite(13,LOW); } void loop() { while (Serial.available() > 0) { int lectura = Serial.read(); if (lectura == 1){digitalWrite(13,HIGH);} else if(lectura == 0){digitalWrite(13,LOW);} } }Como ejercicio, se puede escribir un programa dónde se envíe un valor PWM (0-255) desde Scilab hacía un led conectado a la tarjeta.
No hay comentarios:
Publicar un comentario