我想改变亮度与Matlab Arduino的领导

7视图(30天)
你好,
我想发送一个数据(数字)从matlab arduino和arduino将读取这些数据。之后,Arduino将与此数据设置亮度。我怎么能这样做呢?
这是我的arduino代码:
intledPin = 13;
无效设置(){
/ *初始化串行* /
Serial.begin (9600);
}
无效循环(){
如果(Serial.available ()) {
intabb = Serial.read ();
intacc = abb + 5;
Serial.write (acc);
}
}
这是我的MATLAB代码:
删除(instrfindall);
清晰的年代
arduinoCom =系列(“COM6”,“波特率”,9600);%插入序列
sendData = 100;
fopen (arduinoCom);
流(arduinoCom' %我,sendData);%这将派遣100名arduino
fscanf (arduinoCom)%这将读取响应
%或使用BytesAvailableFcn系列的属性
谢谢你!

答案(3)


软件Kati
软件Kati 2016年1月28日
谢谢你的回答,但我应该做的 串行通信
1评论
沃尔特·罗伯森
沃尔特·罗伯森 2016年1月28日
衰落是Arduino的问题而不是MATLAB。
https://www.arduino.cc/en/Tutorial/Fade
如果你的问题不是如何消失那么你需要澄清你的问题是什么,您似乎已经实现了基本的MATLAB和Arduino之间的通信。

登录置评。


本科学生
本科学生 2016年9月20日
你好,你的程序有问题双方;arduino方面,不应该使用Serial.write(),它只能发送一个字节和你想要发送一个整数是4个字节,使用串行。println,它使发送到一个句子符合目的,例如,如果它是一个短的数据,直到发送2字节,然后等待新行,matlab一边你应该执行一个循环,你不能有一个循环arduino一边但没有循环在一边是matlab。祝你好运,
希望它的工作原理
1评论
沃尔特·罗伯森
沃尔特·罗伯森 2016年9月20日
您可以使用串行。写与未成年人的努力:
无效write_int (int val) {
系列。写((uint8_t *) val, sizeof (int) / sizeof (uint8_t));
}
系列。println是 同样的事情:它作为文本格式的数字,而不是发送二进制。
在MATLAB方面,
从文件中读(arduinoCom 1‘* int32‘)%如果Arduino int是4字节
您可能需要使用swapbytes()的值。

登录置评。

类别

找到更多的在MATLAB为万博1manbetxArduino硬件支持包帮助中心文件交换

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!