1、对于传感器不听话,很大可能是你的检测阈值设置得不是很好。
2、一般来说你的传感器个数应该比较多,可能6~10个吧,如此多的信号不应该都进入中断,再说单片机也没那么多外部中断可给你用,建议所有信号加或门进入外部中断(可分为左边一组,右边一组,两个中断)。否则在主函数(更好的是,定时器)判断,这个信号最好连接到同一个端口上,如P0端口,通过位判断当前信号值。
3、L298N功率芯片,如果要调速且是直流电机,一般是对其控制使能脚施加占空比变化的信号,以达到不同的驱动效果。如果是步进电机,则控制方式有所不同,请查阅相应文献。
循迹小车的三个灯的红外传感器一般采用模拟信号输出,需要接到模拟输入端口上,建议使用Arduino控制板。以下是三个灯的红外传感器的接法:
1. 将中间灯的传感器SIG引脚连接至Arduino控制板的模拟输入端口A0。
2. 将左侧灯的传感器SIG引脚连接至Arduino控制板的模拟输入端口A1。
3. 将右侧灯的传感器SIG引脚连接至Arduino控制板的模拟输入端口A2。
另外,为了保证传感器的工作稳定和准确,还需将其VCC引脚连接至3.3V/5V电源,GND引脚连接至地线。
注意:具体的接法可能因不同的循迹小车和控制板而有所差异,请在根据自家产品实际情况进行接线。同时,也需注意避免短路和接反引脚等危险 *** 作。
使用digitalRead()函数读取数字引脚的高低电平,循迹模块检测到黑线为高电平HIGH(1),白线为低电平LOW(0),如果循迹模块的指示灯不灵敏或者一闪一闪的,就需要用螺丝刀调节蓝色的电位器,将循迹模块放在黑线上,把灯调亮,然后再回调一些,把灯调灭,这样循迹模块的阈值就刚好在临界点了。Sensor [0] = digitalRead(10)
Sensor [1] = digitalRead(11)
Sensor [2] = digitalRead(12)
Sensor [3] = digitalRead(13
2.打印循迹模块的高低电平
使用Serial.print()函数打印循迹的值,在Arduino的右上角有个放大镜,可以打开串口监视器,电脑连接Arduino就可以看到串口的值了
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)