How can I read values from an ultrasonic sensor connected to an Arduino in Matlab app designer?
24 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
The problem is mainly getting the measured distance and display as I want. I do not get any errors when ruuning the app but no distance is shown on the editable field. Below is some of the code I have used for the button as well as the editable numeric field. I believe there is something I am missing and I cannot figure it out, please let me know of any suggestion I can try out to get this right.
properties (Access = private)
a
u
dist
end
I have declared the above properties which I will be using in the code to further try and attain the measured distance and display it in an editable numeric field
function startupFcn(app)
app.a = arduino;
app.u = ultrasonic(app.a,'d50','d51');
end
Above is the start up function whereby I have assignedd values to the variables I declared earlier on. Where app.a= arduino gets all the required properties and makes the neccessary connections and settings to allow me to communicate with the arduino board. app.u = .... lets me define the pins on the arduino board which will be used as triger and echo pins.
function ButtonPushed(app, event)
% app.u = ultrasonic(app.a,'D50','D51');
app.dist = readDistance(app.u); % determing the initial distance
while (app.dist > 0.050) % this loop ensures that the sensor continues to
% "measure" distance for as long as the object is further than 5cm
app.dist = readDistance(app.u);
end
end
Below is the last piece of code which I am using to try and display the measured distance
function EditFieldValueChanged(app, event)
app.EditField.Value = app.dist;
end
0 Commenti
Risposte (3)
Walter Roberson
il 28 Set 2022
EditFieldValueChanged is only invoked when the user edits the field. You need to update the field as you store new app.distance values. You might need a
drawnow limitrate
to allow the display to update
xochitl berenice
il 29 Mag 2024
Hello, I have the same problem right now. Could you solve it?
0 Commenti
MathWorks MATLAB Hardware Team
il 30 Mag 2024
Hi
Thanks for reaching out to us.
Based on your description, it seems like you want to display the distance measurement in an edit field upon clicking a push button. If that's the case, I suggest trying out the following code snippet within your ButtonPushed callback function:
function ButtonPushed(app, event)
% app.u = ultrasonic(app.a,'D50','D51');
app.dist = readDistance(app.u); % Determine the initial distance
app.EditField.Value = app.dist; % Update the Edit field
while (app.dist > 0.050) % Continue measuring distance as long as the object is more than 5cm away
app.dist = readDistance(app.u);
end
end
Please feel free to contact us if you need any further assistance,
https://in.mathworks.com/support/contact_us.html
Best Regards,
MATLAB Hardware Team
MathWorks
0 Commenti
Vedere anche
Categorie
Scopri di più su MATLAB Support Package for Arduino Hardware in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!