【Arduino】十秒挑战
生活随笔
收集整理的這篇文章主要介紹了
【Arduino】十秒挑战
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
十秒挑戰
#include <Adafruit_NeoPixel.h>#include <Arduino.h> #include <TM1637Display.h>#include <Wire.h> #include <LiquidCrystal_I2C.h>#define PIN 12 #define MAX_LED 32 #define ADD true #define SUB false#define CLK 8 #define DIO 9 #define TEST_DELAY 2000int val = 0; boolean stat = ADD; Adafruit_NeoPixel strip = Adafruit_NeoPixel( MAX_LED, PIN, NEO_RGB + NEO_KHZ800 );int Pin_Val; uint8_t data[] = { 0xff, 0xff, 0xff, 0xff }; uint8_t dataaa[] = { 0xff, 0xff, 0xff, 0xff }; TM1637Display display(CLK, DIO);LiquidCrystal_I2C mylcd(0x27,16,2);void setup() {// put your setup code here, to run once:strip.begin(); //初始化Adafruit_NeoPixel;strip.show(); //顯示所有LED為關狀態;Serial.begin(9600);pinMode(2,INPUT);pinMode(3,INPUT);attachInterrupt(0, Button_2, RISING);//按鈕2按下attachInterrupt(1, Button_3, RISING);//按鈕3按下mylcd.init();mylcd.backlight();mylcd.clear(); }void(* resetFunc) (void) = 0;void loop() {uint8_t i,a=0;uint32_t color = strip.Color(0, 110, 119); //選擇所顯示的顏色while(a<33){for(i=0;i<33;i++){if(i==a){strip.setPixelColor(i, color); //第幾個LED點亮;unsigned int shijian = millis();data[0] = display.encodeDigit(shijian / 10000);data[1] = display.encodeDigit(shijian / 1000 % 10);data[2] = display.encodeDigit(shijian / 100 % 10);data[3] = display.encodeDigit(shijian / 10 % 10);display.setSegments(data);display.setBrightness(0x0f);mylcd.setCursor(0,0);mylcd.print("Time:");mylcd.setCursor(5,1);mylcd.print(shijian);}else{strip.setPixelColor(i, 0); //使其他LED全滅;}}strip.show(); //是LED顯示所選的顏色;delay(50); //延時20ms;a++;} }void Button_2(){Serial.print("run");resetFunc();} void Button_3(){while(Pin_Val != 1){ Pin_Val = digitalRead(2);//resetFunc();} }總結
以上是生活随笔為你收集整理的【Arduino】十秒挑战的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【控制】《最优控制理论与系统》-胡寿松老
- 下一篇: 【Arduino】HX711驱动程序