用于水族箱的自动喂鱼器——Atman AR-380型。
这种自动喂鱼器每天会给鱼喂食一次。
若想实现这一目标,你需要做到以下几点:
- 阿尔杜伊诺(Nano)
- 伺服电机(TowerPro SG90)
- 电源供应器
- 几根电缆线
以下是本项目所使用的代码:
#include <Servo.h>
伺服器 mojServo;
无符号长整型变量 'vrijemeZadnjegPokretanja' 的值被初始化为 0。
常量 unsigned long danUMilisekundama 的值为 86400000,即 24 小时等于 86,400,000 毫秒。
void setup() {
mojServo.attach(9); // 伺服电机连接到 D9 引脚
mojServo.write(0); // 初始位置
最后一次启动的时间 = millis(); // 设置开始时间
』
void loop() {
无符号长整型变量 trenutnoVrijeme 的当前值为 millis() 函数返回的毫秒数。
// 如果24小时已经过去了
if (当前时间 - 上次启动时间 >= 以天为单位的毫秒数) {
// 舵机从0°开始旋转至180°
for (int kut = 0; kut <= 180; kut++) {
mojServo.write(kut);
延迟15秒; // 等待旋转完成
}
// 如果你想让他保持这个姿势一会儿,可以稍作停顿。
delay(2000); // 暂停2秒钟
// 从180°回退到0°
for (int kut = 180; kut >= 0; kut--) {
mojServo.write(kut);
延迟15秒; // 延迟返回结果
}
// 更新上次启动时间
最后一次启动的时间 = 当前时间;
}
』
以下代码的作用是:
- 舵机在 0° 时处于静止状态。
-每24小时:
-它的范围从0度到180度不等。
- 暂停2秒(可调整时间)
- 它从 180° 旋转回 0° 的位置
- 他等待接下来的 24 小时。
Tags
Model Source
