存档4月 2021

树莓派之传感器防抖

传感器抖动,比如我们经常会用U型光电传感器计算速度,用轻触开关检测按压,用人体红外检测有无人活动等;通常中间会面临一个问题就是在while的检测周期内如何设定sleep时间,如何界定一次事件的触发以及由于手抖等其他因素导致的单位时间内多次触发事件的问题。这次实验就是通过边缘检测函数更好的解决抖动问题。
这次通过轻触开关传感器实验来验证解决问题。具体实验可参考先前文章:轻触开关传感器实验
其中下图红框内sleep时间设定通常会比较不好把握,设定时间长了容易错过事件的检测,设定时间过小表示检测的更频繁容易出现单次触发的时候 被多次检测,从而出现抖动的现象。
如下图可见单次按压出现多次提示预警:
抖动
接下来我们通过软件方式来解决这个抖动问题(硬件方式暂不讨论):
通过上图可见,首先拉高电压,然后我们使用边缘检测函数,设置一个电压下降检测事件(FALLING),然后在while内检测,当status为1时表示事件检测成功。其中bouncetime为防抖时间(单位毫秒),也可以理解为检测间隔时间,即在设定的时间内只检测一个边缘事件,从而达到单位时间内只有一个事件被触发。
防抖效果如下图,可见单次按压只会有一个检测触发预警:
参考资料:

树莓派设置静态IP

由于用ssh访问树莓派更方便coding和做实验,所以动态IP对于ssh连接不很不方便,所以在局域网内设置静态IP更便于连接和操作。
编辑文件 sudo vim /etc/network/interfaces   由于此文件是只读文件所以需要有sudo权限;如果当前没有vim,需要先执行 sudo apt-get install vim 安装vim。
打开文件后可见下图,然后输入红框内部分(设置ip地址为192.168.0.118),其中address部分是自定义的静态ip地址,需要结合已有的静态ip考虑防止重复和冲突。
设置完成后,执行sudo reboot 重启树莓派。
然后在电脑端执行ssh pi@192.168.0.118 (自己定义的静态IP地址),如果执行发现报错Connection refused,则有可能是树莓派ssh模块没有打开。可通过界面打开 树莓派->首选项 -> Raspberry Pi Configuration -> Interfaces 可见各种选项,其中Enable是打开,很多默认都是Disable关闭的。我们选中打开,系统会提示是否重启,重启即可。
打开ssh支持后,再次执行ssh pi@192.168.0.118  可见登录成功;至此配置成功。

树莓派切换清华镜像源

    由于树莓派系统默认的是官网的镜像源(国外),所以网络访问存在很多不确定性;可能会出现访问慢甚至无法访问的情况,所以镜像烧录成功后,需要切换一下清华的镜像源,因为是国内的地址所以访问会更快和更稳定一些。
由于默认没有安装vim 因此我们使用nano进行文件编辑:

sudo nano /etc/apt/sources.list
然后用#注释掉红框内数据,或者直接删除掉已有三行数据并在下面写入:

deb http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ buster main non-free contrib rpi
deb-src http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ buster main non-free contrib rpi
如上图编辑完成后,执行Ctrl+O,然后提示是否写入当前文件,直接回车即可,然后执行Ctrl+X 退出文件。
其中buster为当前Debian系统的版本,录入的时候需要适配当前系统,Debian系统版本列表如下:
查看当前系统的版本:

lsb_release -a
当前系统为buster
编辑上面文件后继续执行:

sudo nano /etc/apt/sources.list.d/raspi.list
编辑效果
注释掉第一行或者直接删除掉已有数据,然后在最下面输入:

deb http://mirrors.tuna.tsinghua.edu.cn/raspberrypi/ buster main ui
然后重复上面的编辑保存步骤,保存退出文件。
执行 sudo apt update 可见下图请求源已更新为清华源。
切换后效果

树莓派烧录系统

由于最近实验需要,又入手一个树莓派3B+;因此今天开始记录一下烧录系统过程以及所用的资源。
系统镜像我们采用的官网提供的资源,其中见下图可见有三个选择模式:
  • Raspberry Pi OS with desktop and recommended software 版本就是系统自带桌面以及推荐的软件;由于自带软件因此对于后续使用会有帮助,缺点就是系统会比较大,如图可见有将近3G,如果TF卡容量较小则不适合。
  • Raspberry Pi OS with desktop 版本就是系统自带桌面但是不带推荐的软件,如果后续有用到的软件需要自己手工安装;有点在于系统比较精简,大小在1G多。
  • Raspberry Pi OS Lite 版本是轻量版,不带桌面以及推荐软件,比较适合喜欢命令行操作的行家,对桌面操作不是很友好,好处就是体积小不到1G。
  • 此处我们采用的是中间自带桌面版本,点击Download直接下载即可。
系统列表
烧录工具此处采用的是Etcher,网上有很多下载资源,可直接某度搜索。
接下来是将TF插入读卡器,然后将读卡器连接电脑。点击Etcher然后选择已下载的系统镜像,然后可见下图,第一个选项是选择的系统镜像,中间是连接的要烧录的TF卡,此处我们用的是一张32G的卡,然后点击Flash开始烧录。
当出现提示Flash complete!表示烧录成功。见下图:(忽略下面的更新提示 我用的版本比较旧)
烧录成功
接下来将烧录好的TF卡插入树莓派中,然后接上电源,连接上鼠标和键盘;
显示器显示一些启动信息后可见如下界面,表示系统烧录成功;
烧录成功
后续将开始切换清华源以及设置静态IP等操作。