Thank you so much! This solved the issue I was having, I just needed to delete the state_off row and the fourth else-if, and change all of the states that were in $Self to % Ignore% and the program ran flawlessly.
Help with State Transition Table
2 次查看(过去 30 天)
显示 更早的评论
Greetings, I am diong a project where I am creating an air piano inside simulink with my arduino uno board. The table is for lighting three LED lights based on different distance inputs from an ultrasound sensor. The output I am currently getting is that only my green LED lights up despite inputting several different distances. any help or tips would be greatly appreciated. I have also included a picture of my blocks diagram in simulink.
0 个评论
采纳的回答
Joaquin
2023-11-18
2 个评论
madhan ravi
2023-11-18
But did you see @Fangjuns answer? The condition that you are using is still wrong.
Fangjun Jiang
2023-11-18
The below example explains why you got the "correct" result after making the "wrong" changes.
After making the changes your described, please run a simulation where "distance" is fed with a Constant block with value 35. You will see the state stays at Green, which is obviously wrong.
You could attach your model for others to try.
distance=35;
[0<distance<10]
更多回答(1 个)
Fangjun Jiang
2023-11-17
编辑:Fangjun Jiang
2023-11-17
[0<distance<10] is not the correct syntax. Your state stays at the default.
changing all to style [0<distance && distance<10] should resolve the issue.
2 个评论
Fangjun Jiang
2023-11-17
编辑:Fangjun Jiang
2023-11-17
distance=35;
[0<distance<10]
This is equivalant to
(0<distance) < 10
madhan ravi
2023-11-17
编辑:madhan ravi
2023-11-17
yes, proper logical and should be used for stateflow conditions in the similar way done in MATLAB
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 MATLAB Support Package for Arduino Hardware 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!