• aduino 联动ULN2003驱动板营造夏日炫酷小风扇


    一、前言

    作为目前市面上较为方便arduino来讲,所涉及到的都是比较基础的编程构造。

    整个试验过程相比起keil的专业排布格式来讲是更为直观,c语言的掌握范围也不算高。相信你也可以动动手,那么现在就快和我一起参与进来吧!

    二、硬件要求

    一块包含ULN2003芯片的驱动板,设计简约而不简单,适合每个想熟悉与了解的新手,认识电路知识,了解电路分析。
    在这里插入图片描述

    主角担当——扇叶和电动机,作为小风扇的主要组成,它离可实现成品化的区别只有一个华丽的外壳。
    请添加图片描述

    点击图片购买

    三、参数基础

    ULN2003试验板
    逻辑电平:5v TTL CMOS
    基极输入MAX电流:25mA
    输出外接MAX电压:50V
    集电极最大灌电流:500mA
    尺寸:35mmX32mm

    260型的马达
    电压供电:4.5v
    转速:16000rpm

    四叶螺旋桨(试验使用)
    长:60mm
    孔径:2.0mm

    四、原理剖析

    ULN2003是高耐压、大电流复合晶体管阵列,由七个硅NPN 复合晶体管组成,每一对达林顿都串联一个2.7K 的基极电阻,在5V 的工作电压下它能与TTL 和CMOS 电路直接相连,可以直接处理原先需要标准逻辑缓冲器来处理的数据。
    原理图可见该模块的输入输出一一对应,不仅是实现高低电平的输出,做到对电机的运转启停可控,还有定时的功能。而且led灯的辅助亮灭控制,延伸出来也有了跑马灯等等构思。
    请添加图片描述
    这里选用到的是260型的马达,因为本身具备的电压驱动高,而且精选优质铜丝,缠绕制作。以极其亲民的设计和价格,方便每一位有电磁感应原理希望深入了解的人,可以尝试拆卸查看内部构造,研究机动原理。
    Alt
    螺旋桨以其多叶的造型,成为了本次试验首选。不仅风速连续性保证,而且实际的风吹的效果比较明显。两叶回味竹蜻蜓,三叶三角稳定美感,四叶幸运草yyds。
    请添加图片描述

    五、思路分析

    有了这样三个硬件基础,就该有个试验的思路流程

    Created with Raphaël 2.3.0 开始 arduino编程 驱动板运行 电机转动 扇叶旋转 结束

    如图,首先是作为开发板arduino进行程序编写,然后控制驱动板进行电平输出到电机,电机转动带动扇叶,实现小风扇的原理。当然里面也有了开发板具备LED的一个拓展操作思路,利用arduino实现控制LED跑马灯效果。

    六、程序概要

    下面展示本次所需要的程序代码:

    #include <SPI.h>  //调用省去很多麻烦的头文件库
    #define run1 2
    #define led1 4
    #define led2 6
    #define led3 8   //引脚的定义 arduino上2、4、6、8作为使用脚
    int i;
    void setup() {
      // put your setup code here, to run once:
       pinMode(run1, OUTPUT);  
       pinMode(led1, OUTPUT);
       pinMode(led2, OUTPUT);
       pinMode(led3, OUTPUT);  //将几个脚,定义为输出
    }
    
    void loop() {
      // put your main code here, to run repeatedly:
      for(i==0;i<8;i++){
       digitalWrite(run1,1);
      delay(1000);
       digitalWrite(run1,0);
      delay(1000);
      }                           //自己定义的一个循环,每次小车隔一秒启停,总共循环8次
      digitalWrite(led1,1);
      digitalWrite(led2,0);
      digitalWrite(led3,0);
      delay(1000);
      digitalWrite(led1,0);
      digitalWrite(led2,1);
      digitalWrite(led3,0);
      delay(1000);
      digitalWrite(led1,0);
      digitalWrite(led2,0);
      digitalWrite(led3,1);
      delay(1000);
      digitalWrite(led1,1);
      digitalWrite(led2,0);
      digitalWrite(led3,1);
      delay(1000);
      digitalWrite(led1,1);
      digitalWrite(led2,1);
      digitalWrite(led3,0);
      delay(1000);
      digitalWrite(led1,1);
      digitalWrite(led2,1);
      digitalWrite(led3,1);                 //跑马灯的亮灭
      delay(1000);
      digitalWrite(run1,1);                 //这个跑马灯完成一个周期后,小风扇将在之后一直转动。
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48

    接线展示

    请添加图片描述
    图中使用了洞洞板进行较为清晰的接线展示
    供电:从arduino取电源,给驱动板供电,又由驱动板给电机供电使扇叶转动。驱动板还有一路供电给上面自带的LED灯。

    控制线:2、4、6、8。四个输出点分别供给到驱动板上的in1、in2、in3、in4,其中本试验中仅使用out1这个口进行高电平输出,其余各引脚用来充当控制LED辅助灯的一个亮灭。

    成果展示

    请添加图片描述
    请添加图片描述
    请添加图片描述

    总结

    1、供电5v为准,usb电源就可满足
    2、仍有待开发性,例如外壳固定,更改灯色增加夜间效果,四路风扇转动
    3、如有什么奇思妙想,也可下方留言。

    (电子进步亿点点,便捷生活每一天)

  • 相关阅读:
    高效调度新篇章:详解DolphinScheduler 3.2.0生产级集群搭建
    Vue3像Vue2一样在prototype(原型)上挂载数据
    Netty是什么,Netty为什么速度这么快,线程模型分析
    深信服C++ 三面(技术面、30min、offer)
    CSS3提高: CSS3 3D转换
    windows解决ModuleNotFoundError: No module named ‘cython_bbox‘问题,亲测可用
    【ECMAScript6】Promise
    Alibaba 架构师纯手工打造神仙级“2022 版 Java 面试手册”
    改进YOLOv7系列:最新结合DO-DConv卷积、Slim范式提高性能涨点,打造高性能检测器
    【教3妹学编程-算法题】区分黑球与白球
  • 原文地址:https://blog.csdn.net/qq_42250136/article/details/126290581