Например TDA7294

Форум РадиоКот • Просмотр темы - Странное поведение adafruit_neopixel
Форум РадиоКот
Здесь можно немножко помяукать :)

Текущее время: Пт фев 06, 2026 19:12:28

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ 1 сообщение ] 
Автор Сообщение
Не в сети
 Заголовок сообщения: Странное поведение adafruit_neopixel
СообщениеДобавлено: Вс дек 22, 2019 00:58:41 
Родился

Зарегистрирован: Ср авг 07, 2019 17:10:02
Сообщений: 8
Рейтинг сообщения: -1
Здравствуйте, делаю часы (arduino+ws2812) по коду получается не понятка, две строчки из-за которых перестает меняться цвет если закомментировать то начинает работать. Что я не так сделал?
Спойлер
Код:
#include <Wire.h>
#include <DS3231.h>
#include "Adafruit_NeoPixel.h"
#include "DHT.h"

#define LED_COUNT 78 //количество светодиодов
#define LED_PIN 6 //ws2812
#define DHT_PIN 11 //датчик DHT11
#define T_PERIOD 1000 //период

Adafruit_NeoPixel strip = Adafruit_NeoPixel(LED_COUNT, LED_PIN,
                          NEO_RGB + NEO_KHZ800);
DS3231 Clock;
DHT dht(DHT_PIN, DHT11);

bool h12;
bool dot;
unsigned long my_timer;
byte count;

byte digits[13][19] = {
 //1,1,1,2,2,2 3,3,3 4,4 5,5 6,6,6 7,7,7
  {0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}, //0
  {0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1}, //1 
  {1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,0,0,0}, //2 
  {1,1,1,1,1,1,1,1,1,0,0,0,0,1,1,1,1,1,1}, //3 
  {1,1,1,1,1,1,0,0,0,1,1,0,0,0,0,0,1,1,1}, //4 
  {1,1,1,0,0,0,1,1,1,1,1,0,0,1,1,1,1,1,1}, //5 
  {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}, //6 
  {0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1}, //7 
  {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}, //8 
  {1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1}, //9   
  {0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0}, //C 
  {1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0}, //* 
  {0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,1,1,1}  //% 
};

int GetTime(){
  byte hours = Clock.getHour(h12, h12);
  byte minutes = Clock.getMinute();
  byte seconds = Clock.getSecond();
  dot = seconds % 2;
  return (hours * 100 + minutes);
}

void TimeToDislpay(){
  byte digit;
  int tTime = GetTime();
  byte index=78;
//  uint_32 color;

//точки
  if(dot){strip.setPixelColor(38, 0xFF0000);
          strip.setPixelColor(39, 0xFF0000);}
  else{strip.setPixelColor(38, 0x000000);
       strip.setPixelColor(39, 0x000000);};

  for(byte i=1;i<=4;i++){
    digit = tTime % 10;
    tTime /= 10;
    switch(i){
      case 1:
;        index = 59;
        break;
      case 2:
        index = 40;
        break;
      case 3:
        index = 19;
        break;
      case 4:
        index = 0;
        break;
    }
    for(byte k=0;k<=18;k++){
      if(digits[digit][k]==1){
//        strip.setPixelColor(index, 0xFF0000);//Если Раскомментировать то светотодиоды перестают менять Цвет
      }else{
//        strip.setPixelColor(index, 0x000000);//Если Раскомментировать то светотодиоды перестают менять Цвет
      }
      index++;(
    }
  }       
  strip.show();
}



void setup() {
  Serial.begin(9600);
  Wire.begin();
  dht.begin();
  pinMode(LED_BUILTIN, OUTPUT);
  strip.setBrightness(25);
  strip.begin();
  count = 0;
  my_timer = 0;
}

void loop() {
  TimeToDislpay();
  digitalWrite(LED_BUILTIN, dot);
  delay(1000);
 
}


]


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ 1 сообщение ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 28


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y