打开硬件交互世界的新大门,在UXD学设计入门硬件交互真太简单太有趣了!

谈起硬件交互,很多同学可能会认为是一个非常触不可及的知识荒地。但是事实上,硬件交互可以很触手可及,我们耳熟能详的Arduino就是交互小白接触硬件交互的入门好工具。

Arduino是一个用于构建电子项目的开源平台,由一个可编程电路板(通常称为微控制器)和一个运行在您计算机上的软件或IDE(集成开发环境)组成,用于编写计算机代码并将其上传到Arduino板上。

Arduino的官方网站为arduino.cc。

Arduino平台已经很受刚开始接触电子产品的人的欢迎。Arduino集成开发环境使用了C++的简化版本,使编程更容易学习。Arduino的应用场景有很多,UXD在这里用几个案例为大家说明。

Nybble机器猫

Nybble可能是世界上最轻、速度最快的真正会走路的机器猫。它的运动由Arduino兼容的微控制器(Arduino Mini)驱动。它储存本能的“肌肉记忆”来四处活动。

人工智能芯片树莓派可以安装在尼布尔的背部,帮助尼布尔的感知和决策。你可以用自己喜欢的语言编程,简单的发个短命令,比如“走”或者“左转”就可以指挥Nybble到处走动!

跟踪机器人

在这个项目中,设计者使用Arduino Uno来构建一个跟踪机器人。机器人通过蓝牙连接到智能手机,并使用GPS导航。所有的电子设备都装在底座里,这样就可以携带其他物品。

01

关于Arduino Uno板

Arduino Uno板是Arduino家族中最受欢迎的主板之一,也是新手的绝佳选择。我们ren'xin'de

1.数字信号 O/I输出与输入

0-13数字信号引脚pin,引脚pin可以使用导线进行连接,可以输入I与输出O电信号。

2.数字信号 零电位

GND(GROUNGD)为数字信号零电位

3.USB接口

可以通过数据线与电脑相连,把Arduino软件中的程序写入到Arduino Uno开发板中。也可以通过数据线连接充电宝,为Arduino Uno开发板供电。

4.通信信号指示灯

通信信号指示灯RX与TX。Serial.read读的是RX引脚对应寄存器的数据,Serial.read运行在主芯片上;Serial.print 是往TX针脚对应寄存器上写的。

5.电源指示灯

当Arduino接通电源时,电源指示灯亮起。

6.3.3v电源

可使用导线

7.5v电源

8.模拟信号 O/I输出与输入

A0-A5模拟信号引脚pin,引脚pin可以使用导线进行连接,可以输入I与输出O电信号。

9. 寄存器

寄存器(Register)是中央处理器内的组成部分,是有限存贮容量的高速存贮部件,可用来暂存指令、数据和地址。

下图中的13行代码,是在Arduino上闪烁 Blinking LED灯所需要的全部:

下图中的16行代码,是在Arduino上呼吸Breathing LED灯所需要的全部:
在通常情况下,我们会使用点亮led灯对电路、Arduino软件与Arduino Uno、板进行测试。

02

Arduino软件界面介绍

点击左上角的第一个按钮,进行程序的编译-检查Arduino程序是否有语法错误。编译成功下方会有提示信息。

编译成功后,需要在工具-开发板-Arduino Uno 选择Arduino Uno开发板。

之后需要在 工具-端口-COM1 选择COM1端口

完成上述操作后,即可点击左上角的第二个按钮,将Arduino软件程序写入到Arduino Uno板中了。

03

外接传感器

Arduino的一个强大特性就是可以外接各种各样的传感器(sensor),传感器是一种检测装置,能感受到被测量的信息,并能将感受到的信息,按一定规律变换成为电信号或其他所需形式的信息输出,以满足信息的传输、处理、存储、显示、记录和控制等要求。

Arduino可外接的常见的传感器种类繁多,如:

摇杆传感器/继电器模块/高感度麦克风/小麦克风传感器/循迹传感器/避障碍传感器/3色LED传感器/双色LED/小双色LED/3色RGB模块/七彩闪烁LED/红外发射传感器/红外接收传感器/线性霍尔传感器/火焰传感器/人体触摸传感器/数字温度传感器/有源蜂鸣器/无源蜂鸣器/磁簧开关模块/迷你磁簧模块/手指测试心跳/激光头传感器/按键开关模块/震动开关传感器/旋转编码器传感器/魔术光杯传感器/倾斜开关模块/光敏电阻传感器/温湿度传感器/模拟霍尔传感器/霍尔磁力传感器/模拟温度传感器/18B20传感器/敲击传感器/光遮断传感器/水银开关模块

1.超声波传感器

超声波传感器是用来测距的输入设备,它会发射一组高频声波,一般为40-45KHz,当声波遇到物体后,就会被反弹回,并被接受到。通过计算声波从发射到返回的时间,再乘以声波在媒介中的传播速度(344 米/秒,空气中),就可以获得物体相对于传感器的距离值了。

上图为超声波传感器与Arduino Uno板的连接电路图,超声波传感器共有有1-4四个接口。

1. VCC需要连接Arduino电源的5v;

2. Trig需要连接Arduino程序中数字信号输出接口pinMode(trig,OUTPUT);

3. Echo需要连接Arduino程序中数字信号输入接口pinMode(echo,INPUT);

4. GND需要连接Arduino电源的GND。

·案例

上图为自动追随机器人,通过超声波距离传感器可以探知物体与其的距离,在一个距离范围内,通过Arduino程序控制四个马达的发动与暂停。

上图为自动感应垃圾桶。通过超声波距离传感器可以探知物体与其的距离,在一个距离范围内,可以控制伺服电机将垃圾桶桶盖打开。

2.电阻式压敏传感器-FSR

Force Sensing Resistor是著名Interlink Electronics 公司生产的一款重量轻,体积小,感测精度高,超薄型电阻式压力传感器。这款压力传感器是将施加在FSR传感器薄膜区域的压力转换成电阻值的变化,从而获得压力信息。

同时,压力越大电阻越低,允许用在压力100g-10kg的场合。同时可用于机械手末端夹持器感测夹持物品有无,仿生机器人足下行走地面感测,哺乳类动物咬力测试生物实验,应用范围及其广泛。

电阻式压敏传感器-FSR(Force Sensing Resistor)的两个引脚中,一个引脚接正极,一个引脚接负极与模拟电路即可

·案例

该案例为通过压敏传感器感测杯垫上是否有物体,当杯垫上没有物体时,开始计时,当杯垫上有物体时,计时停止。通过计时器上时间的长短来评比大家的干杯时间。

3.DHT22 温湿度传感器

DHT22温湿度传感器也被称为AM2302,具有标准的单总线接口。它相比DHT11,拥有更高的精度和更大的量程。它是一款含有已校准数字信号输出的温湿度复合传感器。它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性与卓越的长期稳定性。

·案例

这个物体测量湿度和温度,以帮助你避免不健康的空气质量和问题,如非常潮湿或干燥的空气和霉菌生长。物体相应地改变它的颜色:从蓝色表示空气质量好,到黄色、橙色和红色表示空气质量差。

这是一个有趣且易于构建的项目。它有助于提醒你定期打开窗户,让你的家成为一个更健康的地方。你还可以添加更多传感器来测量灰尘、CO2和其他东西。

4.LDR-光敏电阻

LDR-光敏电阻是一种随着外界光线强弱变化而变化的电阻。入射光强,电阻减小,入射光弱,电阻增大。常用材料为硫化镉,另外还有硒、硫化铝、硫化铅和硫化铋等半导体材料。一般用于光的测量、光的控制和光电转换(将光的变化转换为电的变化);如路灯,走廊光控灯,烟雾警报器等;

·案例

该案例中,当手指接触到光敏传感器附近时,即光敏传感器周围光线较少,led灯亮起。当手指远离到光敏传感器时,即光敏传感器周围光线较多,led灯熄灭。

5.脉搏传感器

PulseSensor 是一款用于脉搏心率测量的光电反射式模拟传感器。将其佩戴于手指、耳垂等处,利用人体组织在血管搏动时造成透光率不同来进行脉搏测量。传感器对光电信号进行滤波、放大,最终输出模拟电压值。单片机通过将采集到的模拟信号值转换为数字信号,再通过简单计算就可以得到心率数值。

新冠肺炎病是由SARS-CoV-2病毒引起的疾病,主要攻击人的呼吸系统。一些较轻的症状可能包括发烧、疼痛和寒战,但也可能导致更严重的情况,如肺炎。一个患有肺炎甚至轻微呼吸急促的人可能不知道什么时候去医院,尤其是当他们开始变得更加不知所措的时候。这就是为什么创建开源脉搏血氧计,它可以帮助人们获得他们需要的帮助,并获得关于他们当前状况的准确信息。

6.HC-06蓝牙模块

HC-06蓝牙模块与Arduino电路连接成功后,指示灯会不断闪缩,等待安卓手机SPP蓝牙助手与HC-06蓝牙之间的连接。连接成功后指示灯常亮。

该图为HC-06蓝牙模块与Arduino Uno板的连接电路图。HC-06蓝牙模块有1-4四个接口:

① HC-06蓝牙模块的RXD需要连接Arduino Uno板的TXD

② HC-06蓝牙模块的TXD需要连接Arduino Uno板的RXD

③ GND需要连接Arduino Uno板电源的GND

④ VCC需要连接Arduino Uno板电源的5v

·案例

将电路连接完整,再将Arduino程序上传至Arduino Uno板中,就可实现使用手机蓝牙与arduino的交互。

上图为手机与Arduino蓝牙模块连接后,可以在手机界面端来控制折纸机器人的行进方向。

随着物联网与数字化时代的到来,智能硬件的设计与开发已经成为一项前沿趋势,想要更进一步了解Arduino的同学,可扫描下方二维码获取《Arduino基础讲解与案例实践》课程。

视频时长1小时01分29秒

扫码获取讲座回顾
(0)

相关推荐