找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
楼主: eagler8
打印 上一主题 下一主题
收起左侧

【Arduino】108种传感器模块系列实验(资料+代码+图形+仿真)

  [复制链接]
1161#
ID:513258 发表于 2019-7-19 14:01 | 只看该作者
应用领域
具有低电压驱动,环保节能,亮度高,散射角度大,一致性好,超低功率,超长寿命等优点。将控制电路集成于LED上面,电路变得更加简单,体积小,安装更加简便。主要应用领域,LED全彩发光字灯串,LED全彩模组, LED全彩软灯条硬灯条,LED护栏管。LED点光源,LED像素屏,LED异形屏,各种电子产品,电器设备跑马灯等。



回复

使用道具 举报

1162#
ID:513258 发表于 2019-7-19 14:13 | 只看该作者
直条8位 WS2812B 5050 RGB LED内置全彩驱动彩灯模块



回复

使用道具 举报

1163#
ID:513258 发表于 2019-7-19 14:17 | 只看该作者
5050高亮LED,内置控制芯片,仅需1个IO口即可控制多个LED
芯片内置整形电路,信号畸变不会累计,稳定显示
三基色256级亮度调剂,16万色真彩显示效果,扫描频率不低于400Hz/S
串行连级接口,能通过一根信号线完成数据的接收与解码
刷新速率30帧/秒时,低速连级模式连级数不小于512点
数据收发速度最高可达800Kbps
高亮LED,光色亮度一致性高
两端有连级接口,可以直接插接




回复

使用道具 举报

1164#
ID:513258 发表于 2019-7-19 14:20 | 只看该作者
模块电原理图



回复

使用道具 举报

1165#
ID:513258 发表于 2019-7-19 16:09 | 只看该作者
  1. /*
  2. 【Arduino】66种传感器模块系列实验(61)
  3. 实验六十一: 直条8位 WS2812B 5050 RGB LED内置全彩驱动彩灯模块
  4. 实验一,点亮ws2812直条LED
  5. */

  6. #include <Adafruit_NeoPixel.h>

  7. #define PIN 6
  8. #define MAX_LED 8

  9. #define ADD true
  10. #define SUB false

  11. int val = 0;
  12. boolean stat = ADD;

  13. Adafruit_NeoPixel strip = Adafruit_NeoPixel( MAX_LED, PIN, NEO_RGB + NEO_KHZ800 );

  14. void setup()
  15. {
  16.   strip.begin();           
  17.   strip.show();           
  18. }

  19. void loop()
  20. {
  21.   uint8_t i,a=0;                                       
  22.   uint32_t color = strip.Color(0, 100, 255);         
  23.   while(a<10)
  24.   {
  25.       for(i=0;i<9;i++)
  26.       {
  27.         if(i==a) strip.setPixelColor(i, color);     
  28.         else strip.setPixelColor(i, 0);            
  29.       }
  30.        strip.show();                                
  31.        delay(20);                                   
  32.        a++;                                         
  33.   }
  34. }
复制代码


回复

使用道具 举报

1166#
ID:513258 发表于 2019-7-19 16:19 | 只看该作者

回复

使用道具 举报

1167#
ID:513258 发表于 2019-7-19 16:47 | 只看该作者
  1. /*
  2. 【Arduino】66种传感器模块系列实验(61)
  3. 实验六十一: 直条8位 WS2812B 5050 RGB LED内置全彩驱动彩灯模块
  4. 实验程序之二,依次点亮不同色彩灯
  5. */

  6. #include <FastLED.h>
  7. #define LED_PIN     6
  8. #define NUM_LEDS    8

  9. CRGB leds[NUM_LEDS];

  10. void setup() {
  11.   FastLED.addLeds<WS2812, LED_PIN, GRB>(leds, NUM_LEDS);
  12.   
  13. }
  14. void loop() {
  15.   
  16.   leds[0] = CRGB(255, 0, 0);
  17.   FastLED.show();
  18.   delay(500);  
  19.   
  20.   leds[1] = CRGB(0, 255, 0);
  21.   FastLED.show();
  22.   delay(500);
  23.   
  24.   leds[2] = CRGB(0, 0, 255);
  25.   FastLED.show();
  26.   delay(500);
  27.   
  28.   leds[3] = CRGB(150, 0, 255);
  29.   FastLED.show();
  30.   delay(500);
  31.   
  32.   leds[4] = CRGB(255, 200, 20);
  33.   FastLED.show();
  34.   delay(500);
  35.   
  36.   leds[5] = CRGB(85, 60, 180);
  37.   FastLED.show();
  38.   delay(500);
  39.   
  40.   leds[6] = CRGB(50, 255, 20);
  41.   FastLED.show();
  42.   delay(500);

  43.   leds[7] = CRGB(150, 50, 60);
  44.   FastLED.show();
  45.   delay(500);
  46. }
复制代码


回复

使用道具 举报

1168#
ID:513258 发表于 2019-7-19 17:35 | 只看该作者
  1. /*
  2. 【Arduino】66种传感器模块系列实验(61)
  3. 实验六十一: 直条8位 WS2812B 5050 RGB LED内置全彩驱动彩灯模块
  4. 实验程序之三,简单渐变彩虹色
  5. */

  6. #include <Adafruit_NeoPixel.h>
  7. #ifdef __AVR__
  8.   #include <avr/power.h>
  9. #endif

  10. #define PIN            6

  11. #define NUMPIXELS      8

  12. float  RDE1=0;
  13. float  GRE1=0;
  14. float  BLE1=0;

  15. Adafruit_NeoPixel pixels = Adafruit_NeoPixel(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);

  16. int delayval = 500;

  17. void setup() {

  18. #if defined (__AVR_ATtiny85__)
  19.   if (F_CPU == 16000000) clock_prescale_set(clock_div_1);
  20. #endif

  21.   pixels.begin();
  22. }

  23. void loop() {
  24.     GRE1=0;
  25. for(int o=0;o<255;o++){
  26.     RDE1=255;
  27.     GRE1=GRE1+1;
  28.     BLE1=0;
  29.     for(int l=0;l<NUMPIXELS;l++){
  30.     pixels.setPixelColor(l, pixels.Color(RDE1,GRE1,BLE1));
  31.     pixels.show();
  32.     }
  33.     delay(20);
  34. }
  35.     RDE1=255;
  36. for(int p=0;p<255;p++){
  37.     RDE1=RDE1-1;
  38.     GRE1=255;
  39.     BLE1=0;
  40.     for(int l=0;l<NUMPIXELS;l++){
  41.     pixels.setPixelColor(l, pixels.Color(RDE1,GRE1,BLE1));
  42.     pixels.show();
  43.     }
  44.     delay(20);
  45. }
  46. BLE1=0;
  47. for(int k=0;k<255;k++){
  48.     RDE1=0;
  49.     GRE1=255;
  50.     BLE1=BLE1+1;
  51.     for(int l=0;l<NUMPIXELS;l++){
  52.     pixels.setPixelColor(l, pixels.Color(RDE1,GRE1,BLE1));
  53.     pixels.show();
  54.     }
  55.     delay(20);
  56. }
  57. GRE1=255;
  58. for(int k=0;k<255;k++){
  59.     RDE1=0;
  60.     GRE1=GRE1-1;
  61.     BLE1=255;
  62.     for(int l=0;l<NUMPIXELS;l++){
  63.     pixels.setPixelColor(l, pixels.Color(RDE1,GRE1,BLE1));
  64.     pixels.show();
  65.     }
  66.     delay(20);
  67. }
  68. RDE1=0;
  69. for(int h=0;h<150;h++){
  70.     RDE1=RDE1+1;
  71.     GRE1=0;
  72.     BLE1=255;
  73.     for(int l=0;l<NUMPIXELS;l++){
  74.     pixels.setPixelColor(l, pixels.Color(RDE1,GRE1,BLE1));
  75.     pixels.show();
  76.     }
  77.     delay(20);
  78. }

  79. }
复制代码


回复

使用道具 举报

1169#
ID:513258 发表于 2019-7-19 17:45 | 只看该作者

回复

使用道具 举报

1170#
ID:513258 发表于 2019-7-19 18:50 | 只看该作者

回复

使用道具 举报

1171#
ID:513258 发表于 2019-7-19 19:23 | 只看该作者

回复

使用道具 举报

1172#
ID:513258 发表于 2019-7-19 19:25 | 只看该作者

回复

使用道具 举报

1173#
ID:513258 发表于 2019-7-20 14:58 | 只看该作者
实验六十二:电压检测模块 Voltage Sensor 电压传感器

由于目前电子产品各式各样,供电电源的电压也各不相同,要想检测就需要一款合适的电压检测模块和控制器。控制器模拟接口检测输入电压上限为5V,也就是说大于5V的电压将无法检测。2011 年新推出的这款电压检测模块能够解决此问题,实现检测大于5V的电压,此模块基于电阻分压原理所设计,能使红色端子接口输入的电压缩小5倍,模拟输入电压上限为5V,那么电压检测模块的输入电压则不能大于5V×5=25V(如果用到3.3V系统,输入电压不能大于3.3Vx5=16.5V)。因为Arduino所用AVR 芯片为10位AD,所以此模块的模拟分辨率为0.00489V(5V/1023),故电压检测模块检测输入下限电压为 0.00489V×5=0.02445V。通过3P传感器连接线插接到传感器扩展板,不仅可以轻松实现对电压电量大小的检测,监控互动媒体作品或机器人电池供电的电量,也可以通过IICLCD1602液晶模块显示电压制作电压监测器。

回复

使用道具 举报

1174#
ID:513258 发表于 2019-7-20 15:05 | 只看该作者
为配合实验,找了一块DC-DC升压模块



回复

使用道具 举报

1175#
ID:513258 发表于 2019-7-20 15:18 | 只看该作者
升压模块
1、体积小可调升压模块,可轻松安装于各种小型设备里面。
2、可采用MicroUSB输入,用USB充电器或者移动电源通过手机数据线即3、可轻松得到9V,12V,15V,18V,24V的常用电压,使用非常方便。
4、宽的输入和输出电压,高的转换效率。



回复

使用道具 举报

1176#
ID:513258 发表于 2019-7-20 15:48 | 只看该作者
模块特性
1)大输出电流:2A(建议在1A内使用)
2)输入电压:2 v--24 v
3)大输出电压:> 28 v(建议在26V内使用)
4)效率:> 93%(效率与输入和输出的压差有关)
5)尺寸:30mm* 17mm* 14mm(长*宽*高)

注意事项
1)此模块是升压模块,输出电压要大于输入电压
2)  峰值电流输出电流不过2A




回复

使用道具 举报

1177#
ID:513258 发表于 2019-7-20 15:51 | 只看该作者

回复

使用道具 举报

1178#
ID:513258 发表于 2019-7-20 16:15 | 只看该作者
电压检测传感器模块
此模块基于电阻分压原理所设计,能使端子接口输入的电压缩小5倍,Arduino模拟输入电压最大为5V,那么电压检测模块的输入电压则不能大于5V×5=25V(如果用到3.3V系统,输入电压不能大于3.3Vx5=16.5V)。因为Arduino所用AVR芯片为10位AD,所以此模块的模拟分辨率为0.00489V(5V/1023),故电压检测模块检测输入最小电压为0.00489V×5=0.02445V。




回复

使用道具 举报

1179#
ID:513258 发表于 2019-7-20 16:22 | 只看该作者
模块参数
电压输入范围:DC0-25V
电压工作范围:DC0-25V
电压检测范围:DC0.02445V-25V
数据类型:模拟输入
电压模拟分辨率:0.00489V
DC输入接口:红色端子正极接VCC,负极接GND
尺寸:30mm x 25mm
接口类型:KF2510-3P
输出接口:
"-"接GND,
"+"接5/3.3V,
"S"接Arduino的AD引脚(A0)



回复

使用道具 举报

1180#
ID:513258 发表于 2019-7-20 17:14 | 只看该作者

回复

使用道具 举报

1181#
ID:513258 发表于 2019-7-20 17:18 | 只看该作者
  1. /*
  2. 【Arduino】66种传感器模块系列实验(62)
  3. 实验六十二:电压检测模块 Voltage Sensor 电压传感器
  4. 试试看波形如何
  5. */

  6. void setup()
  7. {
  8.   Serial.begin(9600);
  9. }
  10. void loop()
  11. {
  12.       int val;
  13.       float temp;
  14.       val=analogRead(0);
  15.       temp=val/40.92;  
  16.       val=(int)temp;
  17.       Serial.println(val);
  18.       delay(1000);
  19. }
复制代码


回复

使用道具 举报

1182#
ID:513258 发表于 2019-7-20 17:20 | 只看该作者

回复

使用道具 举报

1183#
ID:513258 发表于 2019-7-20 17:25 | 只看该作者

回复

使用道具 举报

1184#
ID:513258 发表于 2019-7-20 17:54 | 只看该作者
  1. /*
  2. 【Arduino】66种传感器模块系列实验(62)
  3. 实验六十二:电压检测模块 Voltage Sensor 电压传感器
  4. 程序之二
  5. */

  6. int analogpin=0;                           
  7. int val,val5;                     
  8. int val2=0;                     
  9. int val3=0;                     
  10. int val4=0;                     
  11. void setup()
  12. {
  13.     Serial.begin(9600);     
  14. }
  15. void loop()
  16. {
  17.     int val,val5;
  18.     float val1;
  19.     val=analogRead(analogpin);            
  20.     val1=val/3.9;
  21.     val5=(int)val1;
  22.     val3=val5/100;
  23.     val2=(val5%100)/10;
  24.     val4=val5%10;
  25.     Serial.print("$CLEAR\r\n");                 
  26.     Serial.print("$GO 1 1\r\n");                 
  27.     Serial.print("$PRINT Voltage:\r\n");         
  28.     Serial.print("$GO 1 9\r\n");
  29.     Serial.print("$PRINT ");         
  30.     Serial.print(val3);                              
  31.     Serial.print(val2);                              
  32.     Serial.print(".");                              
  33.     Serial.print(val4);                              
  34.     Serial.println("V");                             
  35.     delay(1000);                                      
  36. }
复制代码


回复

使用道具 举报

1185#
ID:513258 发表于 2019-7-20 17:56 | 只看该作者

回复

使用道具 举报

1186#
ID:513258 发表于 2019-7-20 18:18 | 只看该作者

回复

使用道具 举报

1187#
ID:513258 发表于 2019-7-20 18:20 | 只看该作者

回复

使用道具 举报

1188#
ID:513258 发表于 2019-7-20 18:22 | 只看该作者

回复

使用道具 举报

1189#
ID:513258 发表于 2019-7-20 18:23 | 只看该作者

回复

使用道具 举报

1190#
ID:513258 发表于 2019-7-20 18:35 | 只看该作者
设定12V为监控电压阙值,当电压小于12V时自动报警(板载LED亮),十分精准



回复

使用道具 举报

1191#
ID:513258 发表于 2019-7-20 22:45 | 只看该作者
实验六十三: 1排4键薄膜开关 Arduino扩展键盘模块(控制面板)

薄膜开关
又称轻触式键盘,采用平面多层组合而成的整体密封结构,是将按键开关、面板、标记、符号显示及衬板密封在一起的集光、机、电一体化的一种新型电子元器件,是电子产品外观结构根本性的变革,它可取代常规分立元件的按键,更可靠地执行操作系统的任务。薄膜开关具有良好的防水、防尘、防油、防有害气体侵蚀、性能稳定可靠、重量轻、体积小、寿命长、装联方便,面板可洗涤而字符不受损伤,色彩丰富,美观大方等优点。使用薄膜开关令您的产品更具时代特色。薄膜开关主要类型薄膜开关面板是一种由刚性或柔性印制电路板为基体,安装上有手感或无手感按键,再覆以印刷有彩色装饰性图案的塑料(聚碳酸酯PC、聚酯PET等)薄膜面板构成的、集开关功能和装饰性功能为一体的电子部件,是一种新型的人机对话界面。其开关电路与整机的连接方式可采用焊接或插接的方式来完成。




回复

使用道具 举报

1192#
ID:513258 发表于 2019-7-21 10:29 | 只看该作者
柔性薄膜
柔性薄膜开关是薄膜开关的典型形式。这类薄膜开关之所以称为柔性,是因为该薄膜开关的面膜层、隔离层、电路层全部由各种不同性质的柔性薄膜所组成。柔性薄膜开关的电路层,均采用电器性能良好的聚酯薄膜(PET)作为开关电路图形的载体,此层也分装手感弹片、上下电路。由于聚酯薄膜所具有性质的影响,使得该薄膜开关具有良好的绝缘性、耐热性、抗折性和较高的回弹性。开关电路的图形,包括开关的联机及其引出线均采用低电阻,低温条件下固化的导电性涂料印刷而成。因此,整个薄膜开关的组成,具有一定的柔软性,不仅适合于平面体上使用,还能与曲面体配合。柔性薄膜开关引出线与开关体的本身是一体的,在制作群体开关的联机时,将其汇集于薄膜的某一处,并按设计指定的位置和标准的线距向外延伸,作为柔软的、可任意弯曲的、密封的引出导线与整机的后置电路相连。




回复

使用道具 举报

1193#
ID:513258 发表于 2019-7-21 10:44 | 只看该作者

回复

使用道具 举报

1194#
ID:513258 发表于 2019-7-21 10:51 | 只看该作者

回复

使用道具 举报

1195#
ID:513258 发表于 2019-7-21 10:55 | 只看该作者
面板层
面板层一般在低于0.25MM的PET、PC等无色透光片材丝印上精美图案和文字制作而成,因面板层最主要的作用在于起标识和按键作用,所以选用材料必须具有高透明度、高油墨附着力、高弹性、高韧性等特点。

面胶层
面胶最主要的作用是将面板层与电路层紧密相连,以达到密封和连接的效果,此层一般要求厚度在0.05---0.15MM之间,具有高强的粘性和防老化性;在生产中,一般选用专用的薄膜开关双面胶,有些薄膜开关要求能防水防高温,因此面胶也必须根据需要而使用不同性质的材料。

控制电路上层和下层
此层均采用性能良好的聚酯薄膜(PET)作为开关电路图形的载体并在其上用特殊的工艺丝印上导电银浆和导电碳浆,使其具有导电性能,其厚度一般在0.05--0.175MM以内,最常见的是用0.125MM PET。

夹胶层
它是处于上电路与下电路层之间并起密封和连接的作用,一般采用PET双面胶,其厚度有0.05--0.2MM不等; 在选择此层材质的时候应充分考虑产品的整体厚度,绝缘性,电路按键包手感和密封性。

背面胶层
背胶的采用与薄膜开关与何种材质相粘贴紧密相关,比较常采用的有普通双面胶、3M胶、防水胶等。




回复

使用道具 举报

1196#
ID:513258 发表于 2019-7-21 10:58 | 只看该作者
凸起薄膜
通常,薄膜开关上的按键只是用色彩来表达键体的位置、形状和大小。这样,只能凭操作者的视觉来识别操作的准确性,由于没有适当的反馈信息,因而影响了对机子监控的自信和操作的速度。所以在面板的设计阶段就要作好安排,备有工艺孔,以便在模具压制时有精确的定位, 其立体凸起的高度一般不宜超过基材厚度的两倍。为美观产品的外观,凸起薄膜开关的凸起可有多种变化制作。




回复

使用道具 举报

1197#
ID:513258 发表于 2019-7-21 11:07 | 只看该作者
1排4键薄膜开关 Arduino扩展键盘模块(控制面板)



回复

使用道具 举报

1198#
ID:513258 发表于 2019-7-21 12:52 | 只看该作者
实验接脚
1x4薄膜开关     Arduio
1                     6
2                     4
3                     5
4                     2
5                     3



回复

使用道具 举报

1199#
ID:513258 发表于 2019-7-21 12:59 | 只看该作者

回复

使用道具 举报

1200#
ID:513258 发表于 2019-7-21 13:06 | 只看该作者
  1. /*
  2. 【Arduino】66种传感器模块系列实验(63)
  3. 实验六十三:1排4键薄膜开关 Arduino扩展键盘模块(控制面板)
  4. */

  5. #include <Keypad.h>

  6. const byte ROWS = 1; //矩阵键盘行数
  7. const byte COLS = 4; //矩阵键盘列数

  8. //按键定义
  9. char hexaKeys[ROWS][COLS] = {
  10.   {'1','2','3','4'},
  11. };
  12. byte rowPins[ROWS] = {6}; //行的针脚连接的接口
  13. byte colPins[COLS] = {5,4,3,2}; //列的针脚连接的接口

  14. Keypad customKeypad = Keypad( makeKeymap(hexaKeys), rowPins, colPins, ROWS, COLS);

  15. void setup(){
  16.   Serial.begin(9600);
  17. }
  18.   
  19. void loop(){
  20.   char customKey = customKeypad.getKey();
  21.   
  22.   if (customKey){
  23.     Serial.println(customKey);
  24.   }
  25. }
复制代码


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表