eagler8 发表于 2019-7-19 16:11:19

/*
【Arduino】66种传感器模块系列实验(61)
实验六十一: 直条8位 WS2812B 5050 RGB LED内置全彩驱动彩灯模块
实验一,点亮ws2812直条LED
*/

#include <Adafruit_NeoPixel.h>

#define PIN 6
#define MAX_LED 8

#define ADD true
#define SUB false

int val = 0;
boolean stat = ADD;

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

void setup()
{
strip.begin();         
strip.show();         
}

void loop()
{
uint8_t i,a=0;                                       
uint32_t color = strip.Color(0, 100, 255);         
while(a<10)
{
      for(i=0;i<9;i++)
      {
      if(i==a) strip.setPixelColor(i, color);   
      else strip.setPixelColor(i, 0);            
      }
       strip.show();                              
       delay(20);                                 
       a++;                                       
}
}

eagler8 发表于 2019-7-19 16:17:12

本帖最后由 eagler8 于 2019-7-19 16:18 编辑

eagler8 发表于 2019-7-19 16:47:49

/*
【Arduino】66种传感器模块系列实验(61)
实验六十一: 直条8位 WS2812B 5050 RGB LED内置全彩驱动彩灯模块
实验程序之二,依次点亮不同色彩灯
*/

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

CRGB leds;

void setup() {
FastLED.addLeds<WS2812, LED_PIN, GRB>(leds, NUM_LEDS);

}
void loop() {

leds = CRGB(255, 0, 0);
FastLED.show();
delay(500);

leds = CRGB(0, 255, 0);
FastLED.show();
delay(500);

leds = CRGB(0, 0, 255);
FastLED.show();
delay(500);

leds = CRGB(150, 0, 255);
FastLED.show();
delay(500);

leds = CRGB(255, 200, 20);
FastLED.show();
delay(500);

leds = CRGB(85, 60, 180);
FastLED.show();
delay(500);

leds = CRGB(50, 255, 20);
FastLED.show();
delay(500);

leds = CRGB(150, 50, 60);
FastLED.show();
delay(500);
}

eagler8 发表于 2019-7-19 17:36:05

/*
【Arduino】66种传感器模块系列实验(61)
实验六十一: 直条8位 WS2812B 5050 RGB LED内置全彩驱动彩灯模块
实验程序之三,简单渐变彩虹色
*/

#include <Adafruit_NeoPixel.h>
#ifdef __AVR__
#include <avr/power.h>
#endif

#define PIN            6

#define NUMPIXELS      8

floatRDE1=0;
floatGRE1=0;
floatBLE1=0;

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

int delayval = 500;

void setup() {

#if defined (__AVR_ATtiny85__)
if (F_CPU == 16000000) clock_prescale_set(clock_div_1);
#endif

pixels.begin();
}

void loop() {
    GRE1=0;
for(int o=0;o<255;o++){
    RDE1=255;
    GRE1=GRE1+1;
    BLE1=0;
    for(int l=0;l<NUMPIXELS;l++){
    pixels.setPixelColor(l, pixels.Color(RDE1,GRE1,BLE1));
    pixels.show();
    }
    delay(20);
}
    RDE1=255;
for(int p=0;p<255;p++){
    RDE1=RDE1-1;
    GRE1=255;
    BLE1=0;
    for(int l=0;l<NUMPIXELS;l++){
    pixels.setPixelColor(l, pixels.Color(RDE1,GRE1,BLE1));
    pixels.show();
    }
    delay(20);
}
BLE1=0;
for(int k=0;k<255;k++){
    RDE1=0;
    GRE1=255;
    BLE1=BLE1+1;
    for(int l=0;l<NUMPIXELS;l++){
    pixels.setPixelColor(l, pixels.Color(RDE1,GRE1,BLE1));
    pixels.show();
    }
    delay(20);
}
GRE1=255;
for(int k=0;k<255;k++){
    RDE1=0;
    GRE1=GRE1-1;
    BLE1=255;
    for(int l=0;l<NUMPIXELS;l++){
    pixels.setPixelColor(l, pixels.Color(RDE1,GRE1,BLE1));
    pixels.show();
    }
    delay(20);
}
RDE1=0;
for(int h=0;h<150;h++){
    RDE1=RDE1+1;
    GRE1=0;
    BLE1=255;
    for(int l=0;l<NUMPIXELS;l++){
    pixels.setPixelColor(l, pixels.Color(RDE1,GRE1,BLE1));
    pixels.show();
    }
    delay(20);
}

}

eagler8 发表于 2019-7-19 17:46:16

eagler8 发表于 2019-7-19 18:52:02

zhangfuhg 发表于 2019-7-19 19:12:47

讲的很好:):)

eagler8 发表于 2019-7-19 19:24:23

eagler8 发表于 2019-7-19 19:27:49

zhangfuhg 发表于 2019-7-19 19:12
讲的很好

:handshake谢谢鼓励啊,准备开始做第62号实验......

eagler8 发表于 2019-7-19 19:28:11

eagler8 发表于 2019-7-20 14:59:48

实验六十二:电压检测模块 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液晶模块显示电压制作电压监测器。

eagler8 发表于 2019-7-20 15:11:13

为配合实验,找了一块DC-DC升压模块

eagler8 发表于 2019-7-20 15:18:58

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

eagler8 发表于 2019-7-20 15:49:40

模块特性
1)大输出电流:2A(建议在1A内使用)
2)输入电压:2 v--24 v
3)大输出电压:> 28 v(建议在26V内使用)
4)效率:> 93%(效率与输入和输出的压差有关)
5)尺寸:30mm* 17mm* 14mm(长*宽*高)

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

eagler8 发表于 2019-7-20 15:52:16

页: 65 66 67 68 69 70 71 72 73 74 [75] 76 77 78 79 80 81 82 83 84
查看完整版本: 【Arduino】108种传感器模块系列实验(资料+代码+图形+仿真)