Arduino智能垃圾桶代码
作者:野牛程序员:2023-07-06 06:14:11Arduino阅读 2671
下面是一个简单的Arduino智能垃圾桶的代码示例:
#include <Servo.h> const int servoPin = 9; // 伺服电机控制引脚 const int ultrasonicTrigPin = 10; // 超声波传感器触发引脚 const int ultrasonicEchoPin = 11; // 超声波传感器回响引脚 Servo servo; int isOpen = false; void setup() { servo.attach(servoPin); pinMode(ultrasonicTrigPin, OUTPUT); pinMode(ultrasonicEchoPin, INPUT); Serial.begin(9600); } void loop() { long duration, distance; // 触发超声波传感器 digitalWrite(ultrasonicTrigPin, LOW); delayMicroseconds(2); digitalWrite(ultrasonicTrigPin, HIGH); delayMicroseconds(10); digitalWrite(ultrasonicTrigPin, LOW); // 读取回响时间 duration = pulseIn(ultrasonicEchoPin, HIGH); // 计算距离(单位:厘米) distance = duration * 0.034 / 2; Serial.print("距离: "); Serial.print(distance); Serial.println(" cm"); // 如果距离小于等于10厘米,则打开垃圾桶盖子 if (distance <= 10 && !isOpen) { servo.write(90); // 打开盖子 isOpen = true; delay(2000); // 延迟2秒,让垃圾掉入桶内 } // 如果距离大于10厘米,并且盖子是打开状态,则关闭垃圾桶盖子 if (distance > 10 && isOpen) { servo.write(0); // 关闭盖子 isOpen = false; delay(2000); // 延迟2秒,确保盖子完全关闭 } delay(1000); // 延迟1秒后进行下一次测量 }
这段代码使用了一个伺服电机控制垃圾桶的盖子。它还使用了一个超声波传感器来检测垃圾桶顶部的物体距离。当距离小于等于10厘米时,伺服电机会打开垃圾桶盖子,以允许物体掉入桶内。当距离大于10厘米时,伺服电机会关闭垃圾桶盖子。
请注意,这只是一个简单的示例代码,具体的实现可能因使用的硬件和传感器而有所不同。可能需要根据您的实际情况进行适当的修改和调整。
野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892

- 上一篇:arduino蜂鸣器简易闹钟
- 下一篇:Arduino超声波垃圾桶程序