Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
尝试在我的ESP8266上使用WS2812在Arduino中制作时钟_Arduino - Fatal编程技术网

尝试在我的ESP8266上使用WS2812在Arduino中制作时钟

尝试在我的ESP8266上使用WS2812在Arduino中制作时钟,arduino,Arduino,我是编程新手,曾尝试用RGB LED环编程时钟,但我有错误,就是不理解。 起初,我尝试使用额外的方法,但我并不真正理解它们是如何工作的,所以我只是在循环中编写代码。 如果有人能帮助写一篇对初学者友好的文章,那就太好了 #include <Adafruit_NeoPixel.h> #ifdef __AVR__ #endif #define PIN 4 #define NUMPIXELS 24 // Popular NeoPixel ring size #defi

我是编程新手,曾尝试用RGB LED环编程时钟,但我有错误,就是不理解。 起初,我尝试使用额外的方法,但我并不真正理解它们是如何工作的,所以我只是在循环中编写代码。 如果有人能帮助写一篇对初学者友好的文章,那就太好了


#include <Adafruit_NeoPixel.h>
#ifdef __AVR__

#endif

#define PIN        4


#define NUMPIXELS 24 // Popular NeoPixel ring size
#define Tag
#define STUNDEN
#define MINUTEN
#define SEKUNDEN
#define MULTIRSEK //Multiplikator für die Sekunden
#define MULTIMIN  //Multiplikator für die Minuten
#define MULTISTU  //Multiplikator für die Stunden
static int TAG = 0;
static int STUNDEN = 0;
static int MINUTEN = 0;
static int SEKUNDEN = 0;
static int MULTISEK = 0;
static int MULTIMIN = 0;
static int MULTISTU = 0;

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

#define DELAYVAL 500 // Time (in milliseconds) to pause between pixels

void setup() {
  pixels.begin(); // INITIALIZE NeoPixel strip object (REQUIRED)
}

void loop() {
  delay(1000);
  SEKUNDEN = SEKUNDEN + 1; //Die Uhr die läuft
  if (SEKUNDEN = 60 * MULTISEK) {
    MINUTEN = MINUTEN++;
    MULTISEK = MULTISEK++;
  }
  if (MINUTEN = 60 * MULTIMIN) {
    STUNDEN = STUNDEN++;
    MULTIMIN = MULTIMIN++;
  }
  if (STUNDEN = 60 * MULTISTU) {
    STUNDEN = STUNDEN++;
    MULTISTU = MULTISTU++;
  }
  if (Stunden = 24) {
    Tag = 0
          STUNDEN = 0;
    MINUTEN = 0;
    SEKUNDEN = 0;
    MULTIRSEK = 1; //Multiplikator für die Sekunden
    MULTIMIN = 1; //Multiplikator für die Minuten
    MULTISTU = 1; //Multiplikator für die Stunden
  }

  pixels.clear(); // Set all pixel colors to 'off'

  // The first NeoPixel in a strand is #0, second is 1, all the way up
  // to the count of pixels minus one.

  // pixels.Color() takes RGB values, from 0,0,0 up to 255,255,255

  pixels.setPixelColor(STUNDEN, pixels.Color(0, 150, 0));

  pixels.show();   // Send the updated pixel colors to the hardware.

  delay(DELAYVAL); // Pause before next pass through loop
}
}

void clock() {
  delay(1000);
  SEKUNDEN = SEKUNDEN + 1 //Die Uhr die läuft
  if (SEKUNDEN = 60 * MULTISEK) {
    MINUTEN ++;
    MULTISEK ++;
  }
  if (MINUTEN = 60 * MULTIMIN) {
    STUNDEN ++;
    MULTIMIN ++;
  }
  if (STUNDEN = 60 * MULTISTU) {
    STUNDEN ++;
    MULTISTU ++;
  }
  if (Stunden = 24) {
    Tag 0
    STUNDEN 0;
    MINUTEN 0;
    SEKUNDEN 0;
    MULTIRSEK 1; //Multiplikator für die Sekunden
    MULTIMIN 1; //Multiplikator für die Minuten
    MULTISTU 1; //Multiplikator für die Stunden
  }
}
void reset() {
  Tag 0
  STUNDEN 0;
  MINUTEN 0;
  SEKUNDEN 0;
  MULTIRSEK 1; //Multiplikator für die Sekunden
  MULTIMIN 1; //Multiplikator für die Minuten
  MULTISTU 1; //Multiplikator für die Stunden
}

}


#包括
#ifdef__AVR__
#恩迪夫
#定义引脚4
#定义像素24//常用的NeoPixel环尺寸
#定义标记
#定义眩晕
#定义分钟数
#定义SEKUNDEN
#定义MULTIRSEK//Multipicator für die Sekunden
#定义MULTIMIN//multilikator für die Minuten
#定义MULTISTU//multilikator für die Stunden
静态int标记=0;
静态int STUNDEN=0;
静态整数分钟=0;
静态int-SEKUNDEN=0;
静态int MULTISEK=0;
静态int MULTIMIN=0;
静态int MULTISTU=0;
Adafruit_NeoPixel像素(像素、PIN、NEO_GRB+NEO_KHZ800);
#定义DELAYVAL 500//像素之间暂停的时间(以毫秒为单位)
无效设置(){
pixels.begin();//初始化新像素条对象(必需)
}
void循环(){
延迟(1000);
SEKUNDEN=SEKUNDEN+1;//Die Uhr Die läuft
如果(SEKUNDEN=60*MULTISEK){
分钟=分钟++;
MULTISEK=MULTISEK++;
}
如果(分钟=60*MULTIMIN){
STUNDEN=STUNDEN++;
MULTIMIN=MULTIMIN++;
}
如果(STUNDEN=60*MULTISTU){
STUNDEN=STUNDEN++;
MULTISTU=MULTISTU++;
}
如果(Stunden=24){
标记=0
STUNDEN=0;
分钟=0;
SEKUNDEN=0;
MULTIRSEK=1;//多重传声器für die Sekunden
MULTIMIN=1;//多路复用器für die Minuten
MULTISTU=1;//多传声器für die Stunden
}
像素。清除();//将所有像素颜色设置为“关闭”
//链中的第一个新像素是#0,第二个是1,一直向上
//到像素数减一。
//Color()接受RGB值,从0,0,0到255255
像素.setPixelColor(STUNDEN,pixels.Color(0,150,0));
pixels.show();//将更新的像素颜色发送到硬件。
delay(DELAYVAL);//在下一个通过循环之前暂停
}
}
无效时钟(){
延迟(1000);
SEKUNDEN=SEKUNDEN+1//Die Uhr Die läuft
如果(SEKUNDEN=60*MULTISEK){
分钟++;
MULTISEK++;
}
如果(分钟=60*MULTIMIN){
STUNDEN++;
MULTIMIN++;
}
如果(STUNDEN=60*MULTISTU){
STUNDEN++;
MULTISTU++;
}
如果(Stunden=24){
标记0
眩晕0;
分钟0;
SEKUNDEN 0;
MULTIRSEK 1;//多重传声器für die Sekunden
MULTIMIN 1;//多功能für die Minuten
MULTISTU 1;//多传声器für die Stunden
}
}
无效重置(){
标记0
眩晕0;
分钟0;
SEKUNDEN 0;
MULTIRSEK 1;//多重传声器für die Sekunden
MULTIMIN 1;//多功能für die Minuten
MULTISTU 1;//多传声器für die Stunden
}
}

提前谢谢

这里我不想谈太多细节。请做一个C++初学者的教程,让你继续学习。您还不需要进入诸如模板或多态性之类的高级主题,但至少您应该知道基本语法

你的代码没有任何意义

#定义MULTISEK
应该做什么

特别是紧随其后的是
static int MULTISEK=0

如果不知道预处理器指令的作用,为什么要使用它们

if (Stunden = 24)
=
是赋值运算符。您希望在此处使用
==
相等运算符

void reset() {
  Tag 0
  STUNDEN 0;
  MINUTEN 0;
  SEKUNDEN 0;
  MULTIRSEK 1; //Multiplikator für die Sekunden
  MULTIMIN 1; //Multiplikator für die Minuten
  MULTISTU 1; //Multiplikator für die Stunden
这里,您在每一行中都缺少赋值运算符
=


请理解,您的代码存在太多问题,无法在此处提供更好的答案。我建议你读一本C++书,或者至少做一些教程,直到你理解你要使用的每一个关键词。我过去是安防和维也纳的一员,现在我的工作和生活都很艰难,因为我的工作和生活都很艰难。Danke和schönen Tag.lern过去的名字是Grundragen。Datentypen、Operatoren、KontrollStructuren usw。这是一个由Mikrocontrollern umzusetzen公司负责的项目。这是施奈尔·贝扎尔和杰德·科普夫施梅尔泽诺的部分作品,我有多个作品,多个作品,每一分钟都有。60塞昆登,120塞昆登,。。。。我在60分钟内就已经完成了多个目标的任务,而在最短的一分钟内完成了所有的任务。我有一分钟的时间(我在一个现实的世界里),但我没有时间。