- MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad         
Ergebnis 1 bis 10 von 16

Thema: Anfängerfrage zu Arduino IDE und Node MCU

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    03.12.2018
    Beiträge
    14

    Anfängerfrage zu Arduino IDE und Node MCU

    Hallo Gemeinde.
    Ich bin mir sicher ihr könnt mir helfen.
    Ich nutze seit ein paar tagen den Arduino IDE (Version 1.8.7) um ein kleines Programm für ein D1 Mini (ESP8266MOD) von AZ Delivery zu erstellen.
    Es soll eine 32x64 LED Matrix angesteuert werden.
    Das klappt auch schon sehr gut allerdings nur wenn ich des D1 Mini per USB an meinem Rechner (Win10) angeschlossen habe und das Programm uploade.
    Dann werden die Informationen angezeigt.
    Jetzt bin ich davon ausgegangen dass wenn ich den D1 an eine andere Stromversorgung hänge dann wird das Programm direkt laufen.

    Leider ist dem nicht so..Es passiert irgendwie nix..
    Ich frag jetzt mal ganz naiv: Muss man das noch irgendwie definieren das es automatisch gestartet wird?


    Vielen Dank und Viele Grüße
    Michael

  2. #2
    HaWe
    Gast
    hallo,
    willkommen im Forum!
    Ohne Code kann man dir sicher nicht helfen, also bitte IMMER den fraglichen Code posten,
    und außerdem: um welche andere Stromversorgung handelt es sich?

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    03.12.2018
    Beiträge
    14
    Hallo.
    Sorry..das macht natürlich sinn.
    Ich nutze als alternativer Stromversorgung ein Labornetzteil mir 2 USB Ausgängen. Das sollte genug Power haben.
    Anbei mein Code:
    --------------------------

    #include <PxMatrix.h>
    #include "ESP8266WiFi.h"


    #ifdef ESP32

    #define P_LAT 22
    #define P_A 19
    #define P_B 23
    #define P_C 18
    #define P_D 5
    #define P_E 15
    #define P_OE 2
    hw_timer_t * timer = NULL;
    portMUX_TYPE timerMux = portMUX_INITIALIZER_UNLOCKED;

    #endif

    #ifdef ESP8266

    #include <Ticker.h>
    Ticker display_ticker;
    #define P_LAT 16
    #define P_A 5
    #define P_B 4
    #define P_C 15
    #define P_D 12
    #define P_E 0
    #define P_OE 2

    #endif
    // Pins for LED MATRIX

    uint8_t display_draw_time=0;

    //PxMATRIX display(32,16,P_LAT, P_OE,P_A,P_B,P_C);
    //PxMATRIX display(64,32,P_LAT, P_OE,P_A,P_B,P_C,P_D);
    PxMATRIX display(64,32,P_LAT, P_OE,P_A,P_B,P_C,P_D,P_E);
    //PxMATRIX display(128,32,P_LAT, P_OE,P_A,P_B,P_C,P_D,P_E);

    // Some standard colors
    uint16_t myRED = display.color565(255, 0, 0);
    uint16_t myGREEN = display.color565(0, 255, 0);
    uint16_t myBLUE = display.color565(0, 0, 255);
    uint16_t myWHITE = display.color565(255, 255, 255);
    uint16_t myYELLOW = display.color565(255, 255, 0);
    uint16_t myCYAN = display.color565(0, 255, 255);
    uint16_t myMAGENTA = display.color565(255, 0, 255);
    uint16_t myBLACK = display.color565(0, 0, 0);

    uint8_t ATop = 0;
    uint8_t ALeft = 0;
    uint8_t BTop = 0;
    uint8_t BLeft = 32;
    uint8_t CTop = 16;
    uint8_t CLeft = 0;
    uint8_t DTop = 16;
    uint8_t DLeft = 32;

    uint16_t myCOLORS[8]={myRED,myGREEN,myBLUE,myWHITE,myYELLOW,myCYAN,myM AGENTA,myBLACK};


    const char* ssid = "mySSID";
    const char* password = "myPASSWORD";

    WiFiServer wifiServer(80);

    #ifdef ESP8266
    // ISR for display refresh
    void display_updater()
    {
    display.display(display_draw_time);
    }
    #endif

    #ifdef ESP32
    void IRAM_ATTR display_updater(){
    // Increment the counter and set the time of ISR
    portENTER_CRITICAL_ISR(&timerMux);
    display.display(display_draw_time);
    portEXIT_CRITICAL_ISR(&timerMux);
    }
    #endif


    void display_update_enable(bool is_enable)
    {

    #ifdef ESP8266
    if (is_enable)
    display_ticker.attach(0.002, display_updater);
    else
    display_ticker.detach();
    #endif

    #ifdef ESP32
    if (is_enable)
    {
    timer = timerBegin(0, 80, true);
    timerAttachInterrupt(timer, &display_updater, true);
    timerAlarmWrite(timer, 2000, true);
    timerAlarmEnable(timer);
    }
    else
    {
    timerDetachInterrupt(timer);
    timerAlarmDisable(timer);
    }
    #endif


    }

    void aufteilung(uint8_t draw_time)
    {
    display.display(draw_time);
    display.clearDisplay();
    for (uint8_t x=0; x<64; x++){
    display.drawPixel(x, 15, myBLUE);
    display.drawPixel(x, 16, myBLUE);
    }
    for (uint8_t x=0; x<32; x++){
    display.drawPixel(31, x, myBLUE);
    display.drawPixel(32, x, myBLUE);
    }
    for (uint8_t x=0; x<32; x++){
    display.drawPixel(0, x, myBLUE);
    display.drawPixel(63, x, myBLUE);
    }
    for (uint8_t x=0; x<64; x++){
    display.drawPixel(x, 0, myBLUE);
    display.drawPixel(x, 31, myBLUE);
    }

    display_update_enable(true);
    display.setBrightness(255);
    yield();

    }
    void clearScore(String gruppe){
    uint8_t left =0;
    uint8_t top =0;
    if(gruppe == "A"){
    left = ALeft;
    top=ATop;
    }
    if(gruppe == "B"){
    left = BLeft;
    top=BTop;
    }
    if(gruppe == "C"){
    left = CLeft;
    top = CTop;
    }
    if(gruppe == "D"){
    left = DLeft;
    top = DTop;
    }
    uint8_t x = 0;
    uint8_t y = 0;
    for (x=(left+1); x<(left+31); x++){
    for (y=(top+1); y<(top+15); y++){
    display.drawPixel(x, y, myBLACK);
    }
    }
    display_update_enable(true);
    yield();
    }
    void displayScore(String gruppe, String punkte ){
    display.setTextSize(1);
    display.setTextColor(myRED);
    uint8_t left =0;
    uint8_t top =0;
    if(gruppe == "A"){
    left = ALeft;
    top=ATop;
    }
    if(gruppe == "B"){
    left = BLeft;
    top=BTop;
    }
    if(gruppe == "C"){
    left = CLeft;
    top = CTop;
    }
    if(gruppe == "D"){
    left = DLeft;
    top = DTop;
    }
    display.setCursor(left+3,top+4);
    display.print(gruppe);
    display.setTextColor(myWHITE);
    display.setCursor(left+3+8,top+4);
    display.print(punkte);
    display_update_enable(true);
    yield();
    }
    void displayIP(String ip){
    display.display(0);
    display.clearDisplay();
    display.setTextSize(1);
    display.setTextColor(myRED);
    display.setCursor(1,4);
    display.print("IP Adresse");
    display.setTextColor(myWHITE);
    display.setCursor(1,11);
    display.print(ip);
    display_update_enable(true);
    yield();
    }

    void setup() {
    Serial.begin(115200);
    delay(1000);
    WiFi.begin(ssid, password);
    while (WiFi.status() != WL_CONNECTED) {
    delay(1000);
    Serial.println("Connecting..");
    }

    Serial.print("Connected to WiFi. IP:");
    Serial.println(WiFi.localIP());

    wifiServer.begin();

    // Define your display layout here, e.g. 1/8 step
    display.begin(16);
    display.setFastUpdate(true);
    display_draw_time=0;
    displayIP(WiFi.localIP().toString());
    delay(5000);
    aufteilung(display_draw_time);
    displayScore("A", "___");
    displayScore("B", "___");
    displayScore("C", "___");
    displayScore("D", "___");
    delay(5000);
    clearScore("D");
    displayScore("D", "225");
    }

    void loop() {
    WiFiClient client = wifiServer.available();
    if (client) {
    while (client.connected()) {
    while (client.available()>0) {
    char c = client.read();
    Serial.write(c);
    }
    delay(10);
    }
    client.stop();
    Serial.println("Client disconnected");
    }
    }
    ---------------------

  4. #4
    HaWe
    Gast
    hallo,
    zu
    ein Labornetzteil mir 2 USB Ausgängen. Das sollte genug Power haben.
    wieviel A genau haben die USB Ausgänge? Daran könnte es theoretisch dennoch bereits liegen.
    Eventuell teste mal ein anderes Steckernetzteil mit mind. 2A.

    Zu deinem Code:
    der ist zu lang, um ihn zu testen und zu debuggen.
    Kürze ihn mal auf das Nötigste herunter und dann poste bitte den gekürzten, minimalen Code.

    Wenn du im erweiterten Editor bist, dann schließe ihn bitte auch in Code-Tags ein:
    Code markieren und dann im Editor-Kopf-Menü auf das
    #
    Zeichen klicken.

  5. #5
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    18.03.2018
    Beiträge
    2.645
    Mehr als 500mA kommen normal aus einem USB-Anschluss doch nicht raus oder doch? Wenn er zwei benutzen muss sind max. 1A bis 1.5A.
    Gibt es ein Datenblatt zu der "32x64 LED Matrix"? Wieviel Strom benötigt die?
    Vielleicht ist das D1 Mini mit der Versorgungsspannung falsch angeschlossen oder Spannung ist zu hoch (5V an 3.3V)... ?

    MfG

  6. #6
    HaWe
    Gast
    es funktioniert doch angeschlossen am PC-USB. Ich hatte aber selber schon Probleme mit zu schwachen externen USB-Stromquellen. Wer weiß, was das Netzteil hat.
    Falls niemand einen Fehler bereits im Code sieht: warten wir mal seine Antwort ab!

Ähnliche Themen

  1. Node mcu bauteil durchgebrannt - welches ist das?
    Von Tim4357657 im Forum NodeMCU-Board und ESP8266, ESP32-Serie
    Antworten: 2
    Letzter Beitrag: 07.02.2018, 15:36
  2. Verkaufe AVR Art Net Node / DMX over Ethernet
    Von MichWuhr im Forum Kaufen, Verkaufen, Tauschen, Suchen
    Antworten: 0
    Letzter Beitrag: 05.08.2015, 09:23
  3. IoT-Edge-Node-Modul von Atmel
    Von Roboternetz-News im Forum Neuigkeiten / Technik-News / Nachrichten / Aktuelles
    Antworten: 0
    Letzter Beitrag: 20.11.2014, 08:40
  4. IoT-Edge-Node-Modul von Atmel
    Von Roboternetz-News im Forum Neuigkeiten / Technik-News / Nachrichten / Aktuelles
    Antworten: 0
    Letzter Beitrag: 19.11.2014, 22:50
  5. WRT-Node: Bastelplatine mit OpenWRT und WLAN
    Von Roboternetz-News im Forum Neuigkeiten / Technik-News / Nachrichten / Aktuelles
    Antworten: 0
    Letzter Beitrag: 20.08.2014, 16:20

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Labornetzteil AliExpress