Hello, I am trying to send data from simulink to matlab using instrumentation toolbox. I have a 'constant block' connected to a 'to instrument block '. I want to turn a couple of lights on and off. (In reality i want to do something more complex but i need arduino to receive numbers from simulink(0-180)) As of now the arduino receives a signal but the arduino is not able to understand the received signal(I know this cause the receive light turns on when i run the simulation). The arduino code i am using is shown below
/************************* Private Variables(serial reading)*****************/ unsigned long loopTime, currentTime; const int serStrLen = 30; char serInStr[ serStrLen ]; // array that will hold the serial input string /*************************************************************/ const int ledPin = 13; const int ledPin2 = 12;
int ch; // Values to send on channels (duration of pulse minus start, in microseconds)
void setup() {
pinMode(ledPin, OUTPUT); pinMode(ledPin2, OUTPUT); // Set servo pin as an output pin Serial.begin(9600); // connect to the serial port Serial.flush();}
void loop() {
if( readSerialString() ) { Serial.println(serInStr); } ch = abs(atoi( serInStr )); if (ch==5 ) {digitalWrite(ledPin,HIGH); digitalWrite(ledPin2, LOW);} else {digitalWrite(ledPin2, HIGH); digitalWrite(ledPin, LOW);}}
/************* Serial Reading ************************************/
uint8_t readSerialString() { if(!Serial.available()) { return 0; } delay(10); // wait a little for serial data
memset( serInStr, 0, sizeof(serInStr) ); // set it all to zeroint i = 0;while(Serial.available() && i<serStrLen ) { serInStr[i] = Serial.read(); // FIXME: doesn't check buffer overrun i++;}return i; // return number of chars read}
The know the above code works because when I send numbers via serial monitor, it works how it is supposed to.But when i try to send number 5 via simulink, the arduino does no respond the same way.
I am guessing i have to set a particular datatype in the 'to instrument' box or the ascii format string section in the 'to instrument' box settings.
Pls Help, any help would be appreciated.
Best Answer