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

模拟式 LED POV 时钟

组件和用品

Arduino Nano R3
× 1
LED(通用)
× 17
霍尔效应传感器
× 1
电阻 100 ohm
× 17
直流电机(通用)
× 1
升压(升压)开关稳压器,固定
× 1

必要的工具和机器

烙铁(通用)

应用和在线服务

Arduino IDE

关于这个项目

视觉暂留 (POV) 显示器通常是 LED 显示器,它通过在给定时间快速连续显示图像的一部分来“显示”图像。人脑将此视为连续图像的显示。

在“爱好项目”网站上展示了这种相对简单但视觉上有效的模拟风格面钟。电子部分包含 Arduino Nano 17 LED 二极管和霍尔效应传感器。 LED二极管组d1-d11、d12-d16、d17颜色不同,视觉效果更佳。该装置由锂离子电池通过升压转换器供电。

对我来说,项目中最困难的部分是机械稳定性。在第一次尝试中,电池偏心放置,并且在更高的旋转速度下会产生巨大的振动。然后我做了个修改,把电池放在旋转的中心。

对于旋转,我使用连接到可变电源的 12V 电动机,因此可以轻松控制设备的旋转速度。根据设备的旋转速度,在代码中需要将“delayMicroseconds”的值设置为一个确定的值。

呈现的视频不够清晰,因为为此我需要一个每秒帧数更好的相机。

代码

  • 代码
代码Arduino
// hobbyprojects// ArduinoNanoPropellerLEDAnalogClock20190403Aint LED1 =2;int LED2 =3;int LED3 =4;int LED4 =5;int LED5 =6;int LED6 =7;int LED7 =8;int LED8 =9;int LED9 =10;int LED10 =11;int LED11 =12;int LED12 =A1;int LED13 =A2;int LED14 =A3;int LED15 =A4;int LED16 =A5;int sensorPin =A0;unsigned int n,ADCvalue,propeller_posn;unsigned long previousTime =0;byte hours =12; // 设置 hoursbyte 分钟 =15; // 设置分字节秒 =00; // set secondsint val;void setup() { pinMode(LED1,OUTPUT); pinMode(LED2,输出); pinMode(LED3,输出); pinMode(LED4,输出); pinMode(LED5,输出); pinMode(LED6,输出); pinMode(LED7,输出); pinMode(LED8,输出); pinMode(LED9,输出); pinMode(LED10,输出); pinMode(LED11,输出); pinMode(LED12,输出); pinMode(LED13,输出); pinMode(LED14,输出); pinMode(LED15,输出); pinMode(LED16,输出); pinMode(sensorPin,INPUT_PULLUP); if(hours ==12) hours =0;}void loop() { val =digitalRead(sensorPin); while (val ==LOW) { val =digitalRead(sensorPin); } if (millis()>=(previousTime)) { previousTime =previousTime + 1000;秒 =秒+1;如果(秒 ==60){ 秒 =0;分钟=分钟+1; } 如果(分钟 ==60){ 分钟 =0;小时=小时+1; } 如果(小时 ==12){ 小时 =0; } } propeller_posn=30; n=0; while(n <60) { drawMinuteMarker(); if ((propeller_posn==0) || (propeller_posn==5) || (propeller_posn==10) || (propeller_posn==15) || (propeller_posn==20) || (propeller_posn==25) || (propeller_posn==30) || (propeller_posn==35) || (propeller_posn==40) || (propeller_posn==45) || (propeller_posn==50) || (propeller_posn==55)) drawHourMarker(); if ((propeller_posn==0) || (propeller_posn==15) || (propeller_posn==30) || (propeller_posn==45)) drawQuarterMarker(); if((propeller_posn ==hours*5) || (( propeller_posn ==0 ) &&(hours ==0))) drawHoursHand(); if(propeller_posn ==分钟) drawMinutesHand(); if(propeller_posn ==seconds) drawSecondsHand();延迟微秒(140); // LED像素宽度(根据电机速度改变值。低速增加,高速电机减少) displayClear(); drawInner_Circle();延迟微秒(600); // LED像素/分钟标记之间的间隙(根据电机速度改变值。低速增加,高速电机减少)n++; propeller_posn++; if(propeller_posn ==60) propeller_posn=0; val =digitalRead(sensorPin); while (val ==HIGH) { val =digitalRead(sensorPin); }//==========================void displayClear() { digitalWrite(LED1,LOW);数字写入(LED2,低);数字写入(LED3,低);数字写入(LED4,低);数字写入(LED5,低);数字写入(LED6,低);数字写入(LED7,低);数字写入(LED8,低);数字写入(LED9,低);数字写入(LED10,低);数字写入(LED11,低);数字写入(LED12,低);数字写入(LED13,低);数字写入(LED14,低);数字写入(LED15,低);数字写入(LED16,低); } void drawMinuteMarker() { digitalWrite(LED16,HIGH); } void drawHourMarker() { digitalWrite(LED15,HIGH);数字写入(LED14,高); } void drawQuarterMarker() { digitalWrite(LED13,HIGH);数字写入(LED12,高); } void drawHoursHand() { digitalWrite(LED1,HIGH);数字写入(LED2,高);数字写入(LED3,高);数字写入(LED4,高);数字写入(LED5,高);数字写入(LED6,高);数字写入(LED7,高); } void drawMinutesHand() { digitalWrite(LED1,HIGH);数字写入(LED2,高);数字写入(LED3,高);数字写入(LED4,高);数字写入(LED5,高);数字写入(LED6,高);数字写入(LED7,高);数字写入(LED8,高);数字写入(LED9,高); } void drawSecondsHand() { digitalWrite(LED1,HIGH);数字写入(LED2,高);数字写入(LED3,高);数字写入(LED4,高);数字写入(LED5,高);数字写入(LED6,高);数字写入(LED7,高);数字写入(LED8,高);数字写入(LED9,高);数字写入(LED10,高);数字写入(LED11,高); } void drawInner_Circle() { digitalWrite(LED1,HIGH);延迟微秒(30);数字写入(LED1,低); } 

示意图


制造工艺

  1. LED 定序器
  2. 布谷鸟钟
  3. DIY LUMAZOID Arduino 音乐可视化器
  4. Arduino pov 视觉时钟
  5. 带模拟传感器的压力气流测量设备
  6. DIY 37 LED 轮盘游戏
  7. 主时钟
  8. 3D RGB Arduclock
  9. FlightGear 模拟微调标签轮
  10. LED Matrix + Motion Sensor Door Display [Arduino Holiday]
  11. 使用 Cortana 控制 LED
  12. 单 LED 矩阵 Arduino 翻转时钟