Skocz do zawartości

Pomocna odpowiedź

Napisano
#include <Adafruit_NeoPixel.h>
 
#define PIN D0
#define LICZBADIOD 86
 
Adafruit_NeoPixel pixels = Adafruit_NeoPixel(LICZBADIOD, PIN, NEO_GRB + NEO_KHZ800);
 
void setup()
{
  Serial.begin(9600);
  pixels.begin(); // Inicjalizacja biblioteki
}
 
void loop()
{
  for(int i=0; i<LICZBADIOD; i++)
  {
    pixels.setPixelColor(i, 0, 255, 0); // Dioda "i" oraz skladowe R=255 G=0 B=0
    pixels.show(); // Wysylamy dane do lancucha
    delay(500); // Opoznienie 500ms przed zaswieceniem kolejnej diody
    Serial.println(i);
  }
}

Prosty kod zapalający kolejno diody ... niestety u mnie szajbuja nie dość ze kolory to jeszcze idzie gdzieś do polowy a potem świeca już losowo  jak  sobie chcą.

Zasilanie 5V , kondensator na zasilaniu 100uF, rezystor przed 1 dioda 300 ohm, do tego drugie zasilanie w polowie diodek.

NodemCu v3 ... zapala diody losowo w róznych kolorach i migocza wszystkie . Juz mi ręce opadaja co jest nie tak ;/

ile takich diodek pod jeden pin można podłączyć ? 

Może masz problem z biblioteką? Tutaj GreatScott miał taki problem (co prawda z esp32 i z inną biblioteką ale podał rozwiązanie) i zmienił ją na inną, wskazaną z filmie i wszystko działało bez problemu. Może to jest problem?

 

 

Do esp8266 jest inna lepsza biblioteka - NeoPixelBus (steruje diody sprzętowo poprzez DMA lub UART).

Ile diod można podłączyć... tyle na ile wystarczy pamięci. Pamiętaj tylko, że to szeregowa transmisja i przy 1000 diod może okazać się za wolna 🙂

Może być tak, że pierwsza dioda nie jest prawidłowo wysterowana (napięcie z pinu ESP jest poza dopuszczalnym minimalnym napięciem sterującym i diody mogą świrować). Ja stosuję prosty trick - zasilam pierwszą diodę przez zwykłą diodę prostowniczą. Napięcie 4.3V jest wystarczające do jej działania, napięcie na pinie względem napięcia zasilania już jest wystarczające a następna dioda dostaje na wejściu już prawidłowe napięcie (powyżej 4V). Może to ten przypadek?

  • Lubię! 1

Wszystko już ogarnięte śmiga ładnie , okazało się zasilanie zasilanie 🙂 Zegarek sigma 🙂 robię teraz dodatkowe klawisze z kolorem itp i niestety w

#include <DHT.h>
#include <EepromAT24C32.h>
#include <RtcDateTime.h>
#include <RtcDS1307.h>
#include <RtcTemperature.h>
#include <RtcUtility.h>
#include <Adafruit_NeoPixel.h> 
 #include <Wire.h>
#include "DHT.h"          // biblioteka DHT
#define DHTPIN 2          // numer pinu sygnałowego
#define DHTTYPE DHT11 

RtcDS1307<TwoWire> Rtc(Wire);
Adafruit_NeoPixel linijka = Adafruit_NeoPixel(86, 3, NEO_GRB + NEO_KHZ800);
int czujnik = A0; 
int a;
int b;
int c;
int i;
int h;
int g;
int e;
int f;
     int A;
     int B;
     int C;
     int klawisz1= D5;
int klawisz2 = D6;
int klawisz3 = D7;
     DHT dht(DHTPIN, DHTTYPE);
void setup() {}

wyrzuca mi błąd przy kompilacji jak mam przypisane int klawisz 1= D5;. nie wiem co w tym może być złego ;/

41 minut temu, Mrpatryk napisał:

int klawisz 1= D5;. nie wiem co w tym może być złego

A co to niby ma znaczyć? Że klawisz jest int to rozumiem,  ale że jeszcze że do liczby 1 podstawiasz D5? To po tej operacji 1 to ma być w końcu 1 czy D5?

Poza tym nie "wyrzuca mi błąd kompilacji" a włącz sobie wyświetlanie wszystkich błędów w ustawieniach IDE, to masz duże szanse że kompilator sam Ci wypisze co chce. Wtedy albo nie będziesz w ogóle musiał pytać na forum, albo zapytasz konkretnie "co oznacza taki to a taki błąd kompilatora".

 

  • Lubię! 1

Co znaczy "przypisać klawisz do pinu"?

Możesz do zmiennej (którą jakoś tam fajnie nazwiesz) przypisać wartość (np. D5 odpowiadającą piątemu pinowi NodeMCU). Kompilator nie wie nic o klawiszach, pinach, diodach i innych wynalazkach - dla niego istnieją zmienne i wartości.

I przecież to robisz pisząc:

int klawisz1 = D5;

prawda? Do zmiennej typu int o nazwie klawisz1 przypisujesz wartość początkową D5 (zdefiniowaną gdzieś wcześniej w plikach nagłówkowych NodeMCU).

Co Ci nie odpowiada w tym zapisie i dlaczego uważasz, że zapis

int klawisz 1 = D5;

miałby być prawidłowy? Jak miałaby się nazywać zmienna do której przypisujesz D5?

 

 

 

  • Lubię! 1

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...