如何打开GPIO/输出一秒钟

4次观看(最近30天)
再会,
I am building a project for my degree. I have created a simple neural netowrk to classify images taken from my Pi Cam for an autonomous car.
我在Piont上拥有训练有素的模型,并根据输入图像向前,左右。这似乎很简单,但我无法打开1秒的GPIO。由于某种原因,当读取图像时,它会继续打开各自的GPIO OUT命令。
如果这很有意义,我已经附上了代码。我是一个早点。
%%连接Raspberry Pi 4B和摄像机板在命令窗口中
%mypi = raspi;
%mypi = raspi('192.168.43.157','pi','pi')
%cam = cameraboard(mypi,'分辨率','320x240');
%%算法Rev2
for i = 1:1
img =快照(cam);
%预读``````````````''
imgnew = imresize(img,[227 227]);%调整图像大小
[YPred,probs] = classify(trainedNetwork_1,imgNew);
图1);
imshow(imgnew)
标签= ypred;
title(字符串(标签) +“,” + num2str(100*max(probs),3) +“%”);
结尾
如果字符串(label)==“正向”%fwd
w = 1:1
Writedigitalpin(Mypi,5,1);
Writedigitalpin(Mypi,6,0);
Writedigitalpin(Mypi,27,1);
Writedigitalpin(Mypi,22,0);
暂停(0.5);
结尾
elseif string(label) == "Left"%pivotleft
y = 1:1
Writedigitalpin(mypi,5,0);
Writedigitalpin(Mypi,6,1);
Writedigitalpin(Mypi,27,1);
Writedigitalpin(Mypi,22,0);
暂停(0.5);
结尾
elseif string(label)==“ right”%pivotleft
对Z = 1:1
Writedigitalpin(mypi,5,0);
Writedigitalpin(Mypi,6,1);
Writedigitalpin(Mypi,27,1);
Writedigitalpin(Mypi,22,0);
暂停(0.5);
结尾
结尾

接受的答案

Prasanth Sunkara
Prasanth Sunkara 2020年11月26日
嗨Nitesh,
由于您希望您的数字别针(或一组数字引脚)处于特定状态(例如高1秒),因此您需要确保通过将PIN固定为低(例如,例如:WritedIgitalpin(mypi,5,0))。请注意,当您执行任何Wirtedigitalpin命令时,PIN状态将被重新遗忘(或锁定),直到您再次使用WritedIgitalpin命令明确修改PIN态。
您可以使用“暂停”命令给出1秒的延迟并进行状态重置。
Hope this helps!
谢谢,
Prasanth
1条评论
沃尔特·罗伯森(Walter Roberson)
注意:停顿不是很准确。您需要让时间与设备进行通信。
My test with MATLAB Online showed a mean of 1.0003 seconds for pause(1), which does not take into account time to talk to the device.

登录发表评论。

更多答案(0)

下载188bet金宝搏


Release

R2020B

社区寻宝

在Matlab Central中找到宝藏,发现社区如何为您提供帮助!

Start Hunting!