亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Manufacturing Technology >> 制造工艺

具有自动和手动模式的双轴太阳能跟踪器面板

组件和用品

Arduino UNO
× 1
旋转电位器(通用)
× 2
LED(通用)
× 2
SparkFun 按钮开关 12mm
× 1
舵机(Tower Pro MG996R)
× 2
光敏电阻
× 4
电阻 10k ohm
× 5
电阻 221 ohm
× 2

必要的工具和机器

烙铁(通用)

应用和在线服务

Autodesk Tinkercad
Arduino IDE

关于这个项目

这是我的学生在 2017-2018 年夜总会青年黑客期间实施的一个项目。这对小学生来说是一个要求很高的项目,我们需要多次会议才能完成。它包含一个可以沿两个轴旋转的小型 5V 太阳能电池板,以便从太阳中获得最大的能量。该项目基于 OpenSourceClassroom 的双轴太阳能跟踪器项目。

我们希望在最终产品中实现两种模式。

  • 手动模式 - 由两个锅控制。
  • 自动模式 - 由四个光传感器控制。

为了实现这一点,我们对设备进行了编程,以在按钮和两个 LED 指示灯的帮助下在模式之间切换。当设备处于手动模式时,红灯亮,我们可以借助两个电位器控制面板在两个轴上的旋转。当设备处于自动模式时,蓝灯亮起,面板的旋转由从四个 LDR 收集的光决定。编程是在 tinkercad 中完成的。

学生以生产线的形式分组工作以完成任务。 (焊线、线绝缘、零件拧紧等)。

代码

  • 旋转太阳能电池板代码
旋转太阳能电池板代码Arduino
双轴太阳能板最终代码
#include //初始化变量int mode =0; int buttonState =0; int prevButtonState =0; int topLeftLight =0; int topRightLight =0;int bottomLeftLight =0;int bottomRightLight =0;int LeftLight =0;int RightLight =0;int TopLight =0;int BottomLight =0;//声明两个舵机Servoservo_9;Servoservo_10;void setup(){ pinMode(7, 输入); //模式按钮 pinMode(12, OUTPUT); //手动模式的指示灯 pinMode(11, OUTPUT); //自动模式的指示灯 pinMode(A0, INPUT); //左右移动电位器 pinMode(A1, INPUT); //上下运动电位器 pinMode(A2, INPUT); //光传感器向上 - 左 pinMode(A3, INPUT); //光传感器向上 - 右 pinMode(A4, INPUT); //光传感器底部 - 左 pinMode(A5, INPUT); //光传感器底部-右侧servo_9.attach(9); //伺服电机右-左运动servo_10.attach(10); //伺服电机上下运动}void loop(){ buttonState =digitalRead(7); if (buttonState !=prevButtonState) { if (buttonState ==HIGH) { //改变模式并点亮正确的指示器 if (mode ==1) { mode =0;数字写入(12,高);数字写入(11,低); }其他{模式=1;数字写入(11,高);数字写入(12,低); } } } prevButtonState =buttonState;延迟(50); // 等待 50 毫秒 if (mode ==0) { //如果模式是手动将锅值映射到旋转度数伺服_9.write(map(analogRead(A0), 0, 1023, 0, 180) );伺服_10.write(map(analogRead(A1), 0, 1023, 0, 180)); } else { //如果模式是自动将传感器值映射到 0-100 光强度。 //每个光传感器都有不同的灵敏度,必须首先测试 //它的高低值 topLeftLight =map(analogRead(A2),50,980,0,100); topRightLight =map(analogRead(A3),200,990,0,100); bottomLeftLight =map(analogRead(A4),170,970,0,100); bottomRightLight =map(analogRead(A5),250,1000,0,100); //计算平均光照条件 TopLight =((topRightLight + topLeftLight) / 2);底光 =((bottomRightLight + bottomLeftLight) / 2); LeftLight =((topLeftLight + bottomLeftLight) / 2); RightLight =((topRightLight + bottomRightLight) / 2); //如果需要,旋转舵机 if (abs((RightLight - LeftLight))> 4) { //仅当光差大于 4% 时才改变位置 if (RightLight  LeftLight) { if (servo_9.read()> 0) {servo_9.write((servo_9.read() - 1)); } } } if (abs((TopLight - BottomLight))> 4) { //仅当光差大于4%时才改变位置 if (TopLight  BottomLight) { if (servo_10.read()> 0) {servo_10.write((servo_10.read() + 1)); } } } }}

示意图

接线示意图

制造工艺

  1. 带 LED 和压电扬声器的 DHT11 传感器
  2. 带有 Arduino 的简单障碍物传感器
  3. 太阳能追踪器 V2.0
  4. 基于物联网 (IoT) 的太阳能跟踪器
  5. 4x4x4 LED 立方体,带有 Arduino Uno 和 1sheeld
  6. 基于 Arduino 的 RPM 计数器,采用更快的新算法
  7. 铜电镀
  8. 使用 Arduino 测量太阳辐射
  9. 数字逻辑板
  10. AI LCD 朋友!
  11. 伺服控制的光跟踪太阳能电池板平台
  12. 太阳能电池板:质量问题和关键控制点