INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 1 Bewertungen - 5 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Arduino Programm funktioniert auf nano nicht
15.06.2020, 10:42
Beitrag #1
Arduino Programm funktioniert auf nano nicht
Hallo Miteinander,
Ich habe ein DMX Programm geschrieben das auf dem Arduino Uno sehr gut läuft
Jetzt wollte ich alles zusammen löten und habe Gott sei dank davor ausprobiert ob es mit dem nano geht das Problem ist das wenn ich meine dip Schalter auf off habe trotzdem auf 1 ist also on wenn ich ihn jetzt aber Stadt auf pin 13 auf 12 stecke geht es. Das Problem hatte ich beim Uno mit dem Pin 1. Es ist definitiv kein Hardware Problem. Ich denke es hat etwas mit den Pins vom uno und nano zu tun, obwohl es ja beides der selbe Chip ist.

LG Julian

Code:
#include <DMXSerial.h>

// Constants for demo program
int RedPin =    10;  // PWM output pin for Red Light.
int GreenPin =  11;  // PWM output pin for Green Light.
int BluePin =   9;  // PWM output pin for Blue Light.
int localRead;
#define RedDefaultLevel   100
#define GreenDefaultLevel 0
#define BlueDefaultLevel  0

void setup () {
  DMXSerial.init(DMXReceiver);
  // setze einige Standardwerte
  DMXSerial.write(1, 0);
  DMXSerial.write(2, 0);
  DMXSerial.write(3, 0);
  DMXSerial.write(4,0);
  DMXSerial.write(5,0);
  


for(int i = 2; i <=13; i++)

{    

    if(i < 9 || i > 11)

    {

        pinMode(i,INPUT);



        digitalWrite(i, HIGH);

    }

}

  
// PWM-Ausgänge aktivieren
  pinMode(RedPin,   OUTPUT); // sets the digital pin as output
  pinMode(GreenPin, OUTPUT);
  pinMode(BluePin,  OUTPUT);

}



void loop() {
  int Addr = 0;
//           DIN Nummer 1           DIN Nummer 2            DIN Nummer 3             DIN Nummer 4           DIN Nummer 5             DIN Nummer 6              DIN Nummer 7             DIN Nummer 8              DIN Nummer 9
  Addr = (!digitalRead(13) * 1) + (!digitalRead(12) * 2) + (!digitalRead(8) * 4) + (!digitalRead(7) * 8) + (!digitalRead(6) * 16) + (!digitalRead(5) * 32) + (!digitalRead(4) * 64) + (!digitalRead(3) * 128) + (!digitalRead(2) * 256);
int Addr2;
Addr2 = Addr + 1;
int Addr3;
Addr3 = Addr + 2;
int Addr4;
Addr4 = Addr + 3;
int Addr5;
Addr5 = Addr + 4;





// Berechnen Sie, wie lange kein Datenpaket empfangen wurde
  unsigned long lastPacket = DMXSerial.noDataSince();

  if (lastPacket < 5000) {

// Letzte DMX-Werte lesen und PWM-Pegel einstellen

    uint16_t B = ((uint16_t)DMXSerial.read(Addr3) + 1) * ((uint16_t)DMXSerial.read(Addr4) + 1);
    analogWrite(BluePin, ((B - 1) >> 8));

    uint16_t G = ((uint16_t)DMXSerial.read(Addr2) + 1) * ((uint16_t)DMXSerial.read(Addr4) + 1);
    analogWrite(GreenPin, ((G - 1) >> 8));

    uint16_t R = ((uint16_t)DMXSerial.read(Addr) + 1) * ((uint16_t)DMXSerial.read(Addr4) + 1);
    analogWrite(RedPin, ((R - 1) >> 8));

    int strobeValue = DMXSerial.read(Addr5);

  if (strobeValue  >= 10)

  {

      //Map to 0,1 - 20 Hz

      //Hz 0,1 => 10000ms

      //Hz 20 => 50ms

      

      int intervalInMs = map(strobeValue, 10, 255, 1000, 50);
      int onTime = 30; //Define here. Can't be > 50!
      int offTime = intervalInMs - onTime;

      delay(onTime);
      analogWrite(BluePin, 0);
      analogWrite(GreenPin, 0);
      analogWrite(RedPin, 0);
      do {
        if (offTime > 500) {
            delay(500);
            offTime -= 500;
        }
        else
        {
            delay(offTime);
            break;
        }

        localRead = DMXSerial.read(Addr5);

      } while (localRead == strobeValue);

      

  }



}
}
// End.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
15.06.2020, 11:08
Beitrag #2
RE: Arduino Programm funktioniert auf nano nicht
Nochmal: Keine unnötigen Leerzeilen, nutze INPUT_PULLUP.

Das dürfte ein Kontaktproblem sein.

Gruß Tommy

"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
15.06.2020, 11:14
Beitrag #3
RE: Arduino Programm funktioniert auf nano nicht
Habe ich schon probiert wenn ich die Kabel stecke also mit Jumper Kabel habe ich genau das selbe Problem das liegt am Arduino denke ich weil der Aufbau geht mit dem uno Problem los und wenn ich INPUT_PULLUP nehme habe ich das selbe Problem
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
15.06.2020, 11:18 (Dieser Beitrag wurde zuletzt bearbeitet: 15.06.2020 11:18 von Tommy56.)
Beitrag #4
RE: Arduino Programm funktioniert auf nano nicht
Pin 13 ist als Eingang kritisch, da daran die OnBoard-LED hängt. Das könnte auch noch Dein Problem sein. Das hätte aber auch am UNO auftreten können. Das sind dann die Toleranzen, die das unterschiedliche Verhalten hervorrufen.

Gruß Tommy

"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
15.06.2020, 11:41
Beitrag #5
RE: Arduino Programm funktioniert auf nano nicht
Und was kann ich da machen ? das ich dann vlt pin 1 benutzen kann was beim nano auch nicht funktioniert hat weil ich es schon probiert habe
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
15.06.2020, 11:44
Beitrag #6
RE: Arduino Programm funktioniert auf nano nicht
(15.06.2020 11:41)Arduino DMX Master schrieb:  Und was kann ich da machen ? das ich dann vlt pin 1 benutzen kann was beim nano auch nicht funktioniert hat weil ich es schon probiert habe

Da nimmst Du 14 = A0

Gruß Tommy

"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
15.06.2020, 11:44
Beitrag #7
RE: Arduino Programm funktioniert auf nano nicht
Hi,

beim UNO wird meines Wissens die LED am Pin13 über einen OPV entkoppelt geschalten, kann also fast als vollwertiger Pin benutzt werden,
während beim NANO etc. die LED direkt über einen Widerstand geschalten wird, und nur eingeschränkt anders verwendet werden kann.

Gruß André
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
15.06.2020, 11:48
Beitrag #8
RE: Arduino Programm funktioniert auf nano nicht
(15.06.2020 11:44)Tommy56 schrieb:  
(15.06.2020 11:41)Arduino DMX Master schrieb:  Und was kann ich da machen ? das ich dann vlt pin 1 benutzen kann was beim nano auch nicht funktioniert hat weil ich es schon probiert habe

Da nimmst Du 14 = A0

Gruß Tommy

Das probiere ich gleich mal okay
Rückmeldung Folgt in den nächsten 10 bis 15 min

LG Julian
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Merkwürdiges Verhalten mit Timer1 am Nano Craiden 2 224 28.07.2020 11:56
Letzter Beitrag: Retian
  Nano: CRC-Berechnung mit PROGMEM falsch miq19 3 231 22.07.2020 13:56
Letzter Beitrag: MicroBahner
  NodeMCU steuert Nano und sendet Werte an Maria DB daniel_hh 11 537 15.07.2020 15:26
Letzter Beitrag: Tommy56
  Uno startet nicht j.klomfass 4 364 08.07.2020 10:09
Letzter Beitrag: j.klomfass
  DMX Addresirung funktionirert nicht Arduino DMX Master 24 1.195 14.06.2020 15:38
Letzter Beitrag: Tommy56
  Arduino IDE läuft nicht mehr Rainer2 12 1.005 10.06.2020 12:04
Letzter Beitrag: Tommy56
  Arduino Programm Geht nicht mehr auf Arduino DMX Master 2 1.031 09.06.2020 20:13
Letzter Beitrag: Arduino DMX Master
  Wemos D1 an Nano und Uno DO3GE 31 1.456 02.05.2020 18:28
Letzter Beitrag: hotsystems
  strcmp funktioniert nicht richtig Cano 7 647 25.04.2020 10:47
Letzter Beitrag: Cano
  SoftwareSerial.h und SD.h vertragen sich nicht sowerum 25 1.733 25.04.2020 10:46
Letzter Beitrag: hotsystems

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste