WS2812 und ESP8266

Probleme bei der Installation?
Antworten
derLeon
User
Beiträge: 3
Registriert: Samstag 18. Juni 2022, 11:12

Moin,

Ich und ein Klassenkamerad müssen aktuell für die Schule einen Webserver mit einem ESP8266 aufsetzen dabei soll alles mit Python programmiert werden. Dieser Webserver soll dann die Daten eines Moisture Sensor anzeigen. Den Moisture Sensor habe ich bereits, hoffentlich richtig zum laufen gebracht. Allerdings lag bei unseren Sachen auch eine Platine mit 7 LED und einer Dicken Weißen Aufschrift drauf (siehe Bilder) diesen bekommen wir leider nicht zum Laufen. Wir beide sind nicht sehr versiert im Programmieren, da wir nicht weiter wissen hoffen wir das ihr uns helfen könnt.

Hier die Bilder der Sachen die uns mitgegeben wurde, falls euch noch Infos fehlen meldet euch gerne :)
Bild

LG
Sirius3
User
Beiträge: 17712
Registriert: Sonntag 21. Oktober 2012, 17:20

Zum Ansteuern eines WS2812 hat Micropython ja schon was dabei: https://docs.micropython.org/en/latest/ ... pixel.html

Wenn das nicht funktioniert, müßte man schon etwa mehr wissen als ein „bekommen wir leider nicht zum Laufen“.
Benutzeravatar
__blackjack__
User
Beiträge: 13006
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@derLeon: Um Bilder in einen Beitrag einzubinden muss man die URL des Bildes selbst angeben, und nicht die URL einer Webseite die (unter anderem) das Bild anzeigt.

Also
Bild
und
Bild
“Most people find the concept of programming obvious, but the doing impossible.” — Alan J. Perlis
derLeon
User
Beiträge: 3
Registriert: Samstag 18. Juni 2022, 11:12

Sirius3 hat geschrieben: Samstag 18. Juni 2022, 13:14 Zum Ansteuern eines WS2812 hat Micropython ja schon was dabei: https://docs.micropython.org/en/latest/ ... pixel.html

Wenn das nicht funktioniert, müßte man schon etwa mehr wissen als ein „bekommen wir leider nicht zum Laufen“.
Die Anleitung habe ich auch gesehen. Leider hat es damit bei uns nicht funktioniert.
Ich kann leider auch nicht genau sagen was das Ding am Ende tun soll, uns wurde nur gesagt es solle einfach funktionieren.
Mit welchen Infos kann ich noch weiterhelfen?
Benutzeravatar
__blackjack__
User
Beiträge: 13006
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@derLeon: Was heisst denn „Leider hat es damit bei uns nicht funktioniert.“? Was habt ihr gemacht? Was ist daraufhin passiert? Gab es eine Fehlermeldung? Falls ja welche? Falls nein, was habt ihr erwartet was passiert, und wie wich das Ergebnis davon ab?
“Most people find the concept of programming obvious, but the doing impossible.” — Alan J. Perlis
derLeon
User
Beiträge: 3
Registriert: Samstag 18. Juni 2022, 11:12

__blackjack__ hat geschrieben: Montag 20. Juni 2022, 10:53 @derLeon: Was heisst denn „Leider hat es damit bei uns nicht funktioniert.“? Was habt ihr gemacht? Was ist daraufhin passiert? Gab es eine Fehlermeldung? Falls ja welche? Falls nein, was habt ihr erwartet was passiert, und wie wich das Ergebnis davon ab?
Ich hab die Codezeilen von der Seite kopiert in Thonny eingefügt und das Ding hat nicht geleuchtet xD Fehlermeldung gab es keine. Erwartungen haben wir keine, es gab wie gesagt von Unserem Lehrer kein Anforderungen.
Benutzeravatar
__blackjack__
User
Beiträge: 13006
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

Ähm, wenn Ihr nichts erwartet habt, dann wurde das doch prima erfüllt, wo ist das Problem?

Mal ernsthaft: So wird das nichts. Du musst wissen was der Code machen soll, um überprüfen zu können ob er das auch tut.

Einfach den Code kopieren ohne ihn zu verstehen funktioniert nicht. Der muss am Ende zu der Hardware passen. Der Code enthält ja Parameter die nicht für jede NeoPixel-Konstellation gleich ist. Mindestens das müsste man ja mal anpassen, den mindestens 1 Wert in dem Code passt ja schon mal ganz offensichtlich nicht.
“Most people find the concept of programming obvious, but the doing impossible.” — Alan J. Perlis
Benutzeravatar
DeaD_EyE
User
Beiträge: 1012
Registriert: Sonntag 19. September 2010, 13:45
Wohnort: Hagen
Kontaktdaten:

Die Dokumentation sagt leider nicht ganz so viel über das Modul aus: https://www.wemos.cc/en/latest/d1_mini_ ... b_led.html

Laut Schaltplan braucht man VDD (5V), GND (Masse), D4 (Data): https://www.wemos.cc/en/latest/_static/ ... v1.0.0.pdf
Der Mikrocontroller muss über einen GPIO den Pin "D4/2" ansteuern.

Beispiel-Code für Arduino:
https://github.com/wemos/D1_mini_Exampl ... simple.ino

Code: Alles auswählen

#include <Adafruit_NeoPixel.h>

#define PIN   D4
#define LED_NUM 7

Adafruit_NeoPixel leds = Adafruit_NeoPixel(LED_NUM, PIN, NEO_GRB + NEO_KHZ800);

void setup() {
  leds.begin(); // This initializes the NeoPixel library.
}

void led_set(uint8 R, uint8 G, uint8 B) {
  for (int i = 0; i < LED_NUM; i++) {
    leds.setPixelColor(i, leds.Color(R, G, B));
    leds.show();
    delay(50);
  }
}

void loop() {

  led_set(10, 0, 0);//red
  led_set(0, 0, 0);

  led_set(0, 10, 0);//green
  led_set(0, 0, 0);

  led_set(0, 0, 10);//blue
  led_set(0, 0, 0);

}
Beispiel mit Micropython

Code: Alles auswählen

"""
Epilepsie Warnung
Stellen Sie eines dieser Symptome bei sich fest, beenden Sie sofort das Programm und suchen Sie einen Arzt auf. Zu den Symptomen dieser Anfälle gehören Schwindelgefühl, veränderte Wahrnehmung, Augen- oder Muskelzucken, Zittern an Armen oder Beinen, Desorientierung, Verwirrung und kurzzeitiger Bewusstseinsverlust.
"""

import time
from machine import Pin
from neopixel import NeoPixel

DATA_PIN = 10 # Der GPIO des Microcontrollers
LEDS = 7      # Lolin hat 7 LEDs


def cycle(sequence):
    """
    Sequenz wiederholen
    """
    while True:
        yield from sequence


def setup_lolin(pin_number):
    """
    NeoPixel initialisieren
    """
    data_pin = Pin(pin_number)
    return NeoPixel(data_pin, LEDS)


# Die Farben bestehen aus 3-er Tupel (3x8 bit): Rot, Grün, Blau
colors = [(255, 0, 0), (0, 255, 0), (0, 0, 255)]
# das NeoPixel obekt
leds = setup_lolin(DATA_PIN)

# Endlosschleife, da cycle verwendet wird
for color in cycle(colors):
    # alle Pixel mit einer Farbe füllen
    leds.fill(color)
    
    # an die LEDs senden
    leds.write()
    
    time.sleep_ms(500)

PS: Falls du den Code einfach kopierst, ohne dich damit auseinanderzusetzen, lernst du nichts dabei. Die Dokumentation zu lesen, nimmt dir niemand ab.
sourceserver.info - sourceserver.info/wiki/ - ausgestorbener Support für HL2-Server
Antworten