Sie sind nicht angemeldet.

Scynd

1. Platz Enermax Casecon Contest

Beiträge: 924

Registrierungsdatum: 12. März 2012

Wohnort: München

Beruf: Maschinenbautechniker

Danksagungen: 74

  • Nachricht senden

21

Montag, 27. Juli 2015, 09:43

@paz
Ah, ok verstehe ^^
Ist es dann nicht klüger/weniger verwirrend für Jeff wenn er an "A" 5v anschließt und jeweils einen Pulldown Widerstand an die Signalleitung 1, 2, 3, 4... hängt? Das wäre dann wie die ganzen Taster Beispiele und die Schalterabfrage wäre auf HIGH bei Schaltstellung.
Oder eben wie du sagt "A" auf GND und dann die internen Pullup Widerstände des Arduinos nutzen und sich damit die zusätzlichen Widerstände und deren Verdratung sparen.

@Jeff
Nochmal verständlich für dich ausgedrückt ;)
Wenn du mit einem Taster 5v zum Arduino durchschälts um eine Aktion auszuführen, musst du einen "Pulldown Widerstand", z.B. 10kOhm, mit an die Signalleitung hängen, damit am Arduinio sofort wieder 0V anliegt, sobald der Taster nicht gedrückt ist. Ob der Taster gedrückt ist frägst du mit "if(digitalRead(schaltstellung1 == HIGH))" ab.



Der Arduino besitzt im Atmel Mikrocontroller auch interene "Pullup Widerstände", die du im Code aktivieren kannst.
Hier musst du an den Taster GND statt der 5V anschließen die dann bei Tastendruck zum Arduino gelangt.
Im Code musst du dann unter void setup() den Pullup aktivieren. Das macht man folgendermasen...

Quellcode

1
2
3
4
5
6
7
8
9
10
11
void setup()
{
  pinMode(schaltstellung1, INPUT);        	// Eingang des Schalters 1 als Eingang deklarieren
  digitalWrite(schaltstellung1, HIGH);    	// Internen Pullup Widerstand des Eingangs aktivieren
}


void loop()
{
  .....
}


Damit sieht der Arduino immer ein HIGH Signal am Pin von schaltstellung1, ausser wenn du dann den Taster drückst und GND durchschältst. Dann sieht der Arduino 0V, also LOW.
Ob der Taster gedrückt ist frägst du dann mit "if(digitalRead(schaltstellung1 == LOW))" ab.

Das mit den internen Pullup Widerständen ist als Anfänger komplizierter, aber du kannst dir so die zusätzlichen 10kOhm Widerstände sparen. So wird das Layout der Platine einfacher und billiger :thumbup:

Ich hoff ich konnte das halbwegs verständlich rüberbringen.

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »Scynd« (27. Juli 2015, 10:13)


pau55

Neu Hier!

Beiträge: 57

  • Nachricht senden

22

Montag, 27. Juli 2015, 10:09

einfach.. es ist vom prinzip her immer das selbe. entweder es liegt +5V an digital input oder 0V.
Es ist nur einfacher weil in allen Arduino Tutorials es mit pulldown widerständen gearbeitet wird. Von dem her A an 5V, von 1-6 jeweils ein 10kOhm Widerstand gegen Masse/0V und dann die Signalleitungen an die digital in pins.

JeffModder

Lebt hier!

  • »JeffModder« ist der Autor dieses Themas

Beiträge: 1 128

Registrierungsdatum: 25. Oktober 2013

Name: Jafar Al-Mansoor

Wohnort: Köln

Beruf: Schüler, bald professioneller Casemodder :P

Danksagungen: 57

  • Nachricht senden

23

Dienstag, 28. Juli 2015, 00:40

Oke, habe soweit glaube ich alles kapiert. Aber wo am Drehschalter muss ich jetzt Ground und wo den Arduino Pin anschließen?

Ground an A
1-6 5V
7-12 Signal zum Arduino

So?

Es hat sich bereits 1 registrierter Benutzer bedankt.

Benutzer, die sich für diesen Beitrag bedankt haben:

pau55 (28.07.2015)

pau55

Neu Hier!

Beiträge: 57

  • Nachricht senden

24

Dienstag, 28. Juli 2015, 09:45

Ich hoffe so kann ichs dir halbwegs gut erklären.
Hab mal schnell nen Schaltplan gezeichnet, schaut unschön aus wegen den runden Schalter.

+5V an A
An den Ausgängen 1-6 die Widerstände, am anderen Ende der Widerstände GND/Masse
Zwischen Drehschalter und Widerstand gehört ne Leitung zum Arduino, der dann erkennt welche Position geschalten ist.

ich hoffe es passt so halbwegs :pardon:

Es ist einfacher jemanden das vorzuzeichnen bzw. erklären wenn jemand neben sitzt...

LG
»pau55« hat folgendes Bild angehängt:
  • schalter schematic.png

JeffModder

Lebt hier!

  • »JeffModder« ist der Autor dieses Themas

Beiträge: 1 128

Registrierungsdatum: 25. Oktober 2013

Name: Jafar Al-Mansoor

Wohnort: Köln

Beruf: Schüler, bald professioneller Casemodder :P

Danksagungen: 57

  • Nachricht senden

25

Dienstag, 28. Juli 2015, 13:12

Ja aber das ist ja der Schaltplan mit den Pulldown widerständen. Wie wäre der Schaltplan wenn ich die Pullup Widerstände im Arduino verwende? Hab nicht soviel Platz auf der kleinen Platine und das Gehäuse für die Steuerung ist schon gebaut, deswegen lieber die Pullupwiderstände.

pau55

Neu Hier!

Beiträge: 57

  • Nachricht senden

26

Dienstag, 28. Juli 2015, 16:23

Dann einfach "A" an GND und die 1-6 jeweils an einen pin vom arduino

JeffModder

Lebt hier!

  • »JeffModder« ist der Autor dieses Themas

Beiträge: 1 128

Registrierungsdatum: 25. Oktober 2013

Name: Jafar Al-Mansoor

Wohnort: Köln

Beruf: Schüler, bald professioneller Casemodder :P

Danksagungen: 57

  • Nachricht senden

27

Dienstag, 28. Juli 2015, 21:40

und 7-12?
Die Bestellung ist schon angekommen.

pau55

Neu Hier!

Beiträge: 57

  • Nachricht senden

28

Dienstag, 28. Juli 2015, 21:56

Bleibt frei, kann man theoretisch etwas anschließen, sodass er zwei Dinge pro schaltstellung macht
Aber in deinem Fall bleiben 7-12 frei

JeffModder

Lebt hier!

  • »JeffModder« ist der Autor dieses Themas

Beiträge: 1 128

Registrierungsdatum: 25. Oktober 2013

Name: Jafar Al-Mansoor

Wohnort: Köln

Beruf: Schüler, bald professioneller Casemodder :P

Danksagungen: 57

  • Nachricht senden

29

Dienstag, 28. Juli 2015, 23:42

Achso, mit den 2 Polen was du meintest.

JeffModder

Lebt hier!

  • »JeffModder« ist der Autor dieses Themas

Beiträge: 1 128

Registrierungsdatum: 25. Oktober 2013

Name: Jafar Al-Mansoor

Wohnort: Köln

Beruf: Schüler, bald professioneller Casemodder :P

Danksagungen: 57

  • Nachricht senden

30

Freitag, 31. Juli 2015, 17:47

Ok, hab angefangen das ganze auf nem Breadboard aufzubauen und schon mal den "Grund"-Code zu schreiben. Dabei sind mir komische Sachen passiert. Ich habe alles richtig angeschlossen (denke ich) und den Arduino programmiert. Hier der Code, dazu muss ich glaube ich nichts erklären, ist alles relativ klar :

Spoiler Spoiler

const int Rot = 11;
const int Gruen = 10;
const int Blau = 9;
const int Taster1 = 0;
const int Taster2 = 1;
const int Taster3 = 2;
const int Taster4 = 3;
const int Taster5 = 4;
const int Taster6 = 5;
const int Poti1 = A0;
const int Poti2 = A1;
const int Poti3 = A2;
int Potivar1 = 0;
int Potivar2 = 0;
int Potivar3 = 0;

void setup() {

pinMode(Rot,OUTPUT);
pinMode(Gruen,OUTPUT);
pinMode(Blau,OUTPUT);
pinMode(Taster1,INPUT);
pinMode(Taster2,INPUT);
pinMode(Taster3,INPUT);
pinMode(Taster4,INPUT);
pinMode(Taster5,INPUT);
pinMode(Taster6,INPUT);
digitalWrite(Taster1,HIGH);
digitalWrite(Taster2,HIGH);
digitalWrite(Taster3,HIGH);
digitalWrite(Taster4,HIGH);
digitalWrite(Taster5,HIGH);
digitalWrite(Taster6,HIGH);
}

void loop() {

if(digitalRead(Taster1 == LOW))
{
Potivar1 = analogRead(Poti1)/4,016 ;
analogWrite (Rot,Potivar1);
Potivar2 = analogRead(Poti2)/4,016 ;
analogWrite (Gruen,Potivar2);
Potivar3 = analogRead(Poti3)/4,016 ;
analogWrite (Blau,Potivar3);
}

else if (digitalRead(Taster2 == LOW))

{
analogWrite(Rot,255);
analogWrite(Gruen,255);
analogWrite(Blau,255);
}

else if (digitalRead(Taster3 == LOW))

{
analogWrite(Rot,255);
delay (1000);
analogWrite(Rot,0);
analogWrite(Gruen,255);
delay(1000);
analogWrite(Gruen,0);
analogWrite(Blau,255);
delay(1000);
analogWrite(Blau,0);
}

else if (digitalRead(Taster4 == LOW))

{

analogWrite(Rot,255);
delay (300);
analogWrite(Rot,0);
analogWrite(Gruen,255);
delay(300);
analogWrite(Gruen,0);
analogWrite(Blau,255);
delay(300);
analogWrite(Blau,0);

}

else if (digitalRead(Taster5 == LOW))

{

analogWrite(Rot,255);
delay (300);
analogWrite(Rot,0);
analogWrite(Gruen,255);
delay(300);
analogWrite(Gruen,0);
analogWrite(Blau,255);
delay(300);
analogWrite(Blau,0);
analogWrite(Rot,50);
delay (300);
analogWrite(Rot,0);
analogWrite(Gruen,50);
delay(300);
analogWrite(Gruen,0);
analogWrite(Blau,50);
delay(300);
analogWrite(Blau,0);
}

else

{

analogWrite(Rot, 0);
analogWrite(Gruen, 0);
analogWrite(Blau, 0);

}
}


Dann habe wollte ich den Code auf den Arduino übertragen aber es kam die Fehlermeldung : Probleme beim Hochladen auf die Platine. Nochmal versucht und dann hat es geklappt.

Schalter auf Position 1, dann konnte ich den manuellen Modus nutzen. Soweit hat alles funktioniert, aber wenn ich die Potentiometer bis zum Anschlag drehe, geht der LedStreifen aus und die TX Leuchte auf dem Arduino blinkt. Dann hab ich am Anfang die Potentiometer nur bis dahin gedreht, wo alles funktioniert hat (Kurz vor Anschlag).

Schalter auf Position 2, Streifen leuchtet weiß, wie im Code geschrieben.

Schalter auf Position 3,4,5,6, Der Streifen tut nicht das was er soll, sondern tut das, was er im Manuellen Modus tut. Einfach nur den Streifen per Potis steuern. Ich weiß nicht woran es liegen kann, im Code hab ich keinen Fehler gefunden und auf dem Breadbord auch nicht (Hier kann ich ehh nicht viel Falsch machen, da die Pins vom Schalter einfach an den digitalen Pins 0-5 angeschlossen sind. An A habe ich Ground.

Als ich dann weiter am probieren und grübeln war, habe ich mal das USB Kabel ab gemacht und den Arduino nur über Vin mit strom befeuert. Dann konnte ich auch im manuellen Modus die Potis bis zum Anschlag drehen, ohne dass die LED´s aus gegangen sind. Erstmal den blauen, dann den grünen und als grad der rote auf voller Leistung an war, ging auf einmal der gesamte Streifen aus und nichts funktionierte mehr. Die Streifen gingen in egal welchem Modus nicht an.

Plötzlich nach ca. 20 Sekunden flackerte der Streifen auf einmal in Weiß, also alle LED´s auf voller Leistung. Ich weiß nichtmehr genau was die TX Lampe gemacht hat, aber denke die hat auch geflackert.

Dann hab ich die Potis runter gedreht aber nichts tat sich. In welchem Schaltermodus ich war, weiß ich nicht. Dann habe ich den Vin Pin rausgezogen. Der Atmel Prozessor auf dem Arduino ist sehr heiß geworden. Konnte meinen Finger keine 2 Sekunden drauf lassen.
Es kann sein, dass ich im Schaltermodus 4 (Taster4 im Arduino Code) und der Streifen deswegen in Weiß geflackert hat, weiß aber nicht genau.

Als ich dann den Arduino wieder an gemacht hab ging wieder nichts mehr. Reset taste gedrückt, passiert nichts. Dann wollte ich den Code neu hochladen aber das hat nach mehreren Versuchen nicht geklappt. Wenn ich den Arduino an mache wird der Chip direkt wieder heiß.
Wenn ich den Schalter auf die Position drehe, die an Pin1 am Arduino angeschlossen ist, flackert die TX Led kurz auf. Mehr geht aber nicht.

Was hab ich falsch gemacht? Woran kann es liegen und am wichtigsten, was soll ich tun?!

Und warum war am Anfang auf Schalterposititon 3,4,5 und 6 immer der manuelle Modus anstatt das was ich Code steht?

der_george

"Mein Name ist George - Der George"

Beiträge: 4 832

Registrierungsdatum: 17. März 2010

Wohnort: Da wo der Berch wohnt

Beruf: Inginöööör und Freundinbeschäftiger

Danksagungen: 356

  • Nachricht senden

31

Freitag, 31. Juli 2015, 20:11

Da steckt irgendwas falsch. Selbst wenn bei mir einer an seiner Leistungsgrenze läuft wird es nur handwarm.

Alle Lasten schaltest du über Transistoren oder Relais? Alle Signale M Arduino gegen Masse?

Entweder steckt was falsch oder du hast irgendwo eine zu große Last. (Strom) Du kannst nur sehr wenige mA direkt durchlaufen lassen.

So long :0)
Meine Mods bei we-mod-it:
24h Stealth - 1.Platz 24h Livemodding DCMM 2010 | | taabar sin - 2. Platz Casemod DCMM 2012 | | 24h Semmetastic - 2. Platz 24h Livemodding DCMM 2013

Mein Modding-Verkaufsthread

JeffModder

Lebt hier!

  • »JeffModder« ist der Autor dieses Themas

Beiträge: 1 128

Registrierungsdatum: 25. Oktober 2013

Name: Jafar Al-Mansoor

Wohnort: Köln

Beruf: Schüler, bald professioneller Casemodder :P

Danksagungen: 57

  • Nachricht senden

32

Freitag, 31. Juli 2015, 21:42

Ich glaube du hast es erfasst und ich glaube auch mein Arduino ist tot.

Hatte an den Potentiometern 12v angeschlossen anstatt 5v... Habs jetzt umgesteckt und es funktioniert trotzdem nichts. Die Lichter haben am Anfang sporadisch was von sich gegeben und sind dann aus gegangen. Danach war der Chip am Arduino kochend heiß, also wirklich viel heißer als eben. Hab zwar direkt ausgemacht aber habe denke ich einbisschen rauch gesehen und auch was gerochen. Ist der Arduino jetzt hin? Kann man das irgendwie checken?

Scynd

1. Platz Enermax Casecon Contest

Beiträge: 924

Registrierungsdatum: 12. März 2012

Wohnort: München

Beruf: Maschinenbautechniker

Danksagungen: 74

  • Nachricht senden

33

Freitag, 31. Juli 2015, 21:43

Ich denke auch das da irgendwas am Aufbau nicht passt, da der Arduino so heiß geworden ist.
Was für ein Netzteil beutzt du denn?
Hast du mal versuch alle Kabel aus dem Arduino zu ziehen und ihn dann nur per USB aunzuschließen? Kannst du dann Code hochladen oder wird er im Gerätemanager erkannt?

Achja, wenn du den Arduino per USB mit Strom versorgst und die LEDs mit einem 12V Steckernetzteil, dann musst du GND vom Arduino und GND vom Netzteil mit einander verbinden, sonst kann das ansteuern der LEDs mit dem Transistor probleme machen. Nur so zur Info.
Das ist später im Computer kein Problem, da der Arduino und die LED Strips vom Computerneteil versorgt werden, aber man vergisst das beim Testen am Steckbrett gerne ;)

Hier markier mit dem roten Kreis (nur ein Beispeil aus nem Tutorial)

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »Scynd« (31. Juli 2015, 21:51)


JeffModder

Lebt hier!

  • »JeffModder« ist der Autor dieses Themas

Beiträge: 1 128

Registrierungsdatum: 25. Oktober 2013

Name: Jafar Al-Mansoor

Wohnort: Köln

Beruf: Schüler, bald professioneller Casemodder :P

Danksagungen: 57

  • Nachricht senden

34

Freitag, 31. Juli 2015, 21:48

12v Netzteil vom MS-Tech Festplattengehäuse, daran sollte es nicht liegen. Aber jetzt ist die Sache denke ich klar. umgestekct ist der Arduino chip auch nur noch warm.

Wenn der jetzt durch ist ist das echt sehr scheiße.. Wenn ich jetzt einen bestelle kommt der wegen Wochenende erst Mittwoch an laut ebay.. Das wars wohl mit der Steuerung bis zu DCMM oder?

Scynd

1. Platz Enermax Casecon Contest

Beiträge: 924

Registrierungsdatum: 12. März 2012

Wohnort: München

Beruf: Maschinenbautechniker

Danksagungen: 74

  • Nachricht senden

35

Freitag, 31. Juli 2015, 21:58

Hast du Amazon? Damit könntest du am Montag einen haben.
Hier ein Link . Ist zwar kein originaler Arduino, sondern ein Nachbau, aber das macht ja nichts. Dann hättest du noch eine Chance das hinzubekommen.


JeffModder

Lebt hier!

  • »JeffModder« ist der Autor dieses Themas

Beiträge: 1 128

Registrierungsdatum: 25. Oktober 2013

Name: Jafar Al-Mansoor

Wohnort: Köln

Beruf: Schüler, bald professioneller Casemodder :P

Danksagungen: 57

  • Nachricht senden

36

Freitag, 31. Juli 2015, 22:00

Hab alles vom Arduino abgesteckt, und einen gaanz einfachen Blink Code programmiert. Nicht mal diesen kann ich hochladen. Hab auch mehrere USB Ports probiert. Heute Mittag hats noch geklappt. Ich denke der Arduino ist hin. Was meint ihr, was kann ich jetzt tun?

Scynd

1. Platz Enermax Casecon Contest

Beiträge: 924

Registrierungsdatum: 12. März 2012

Wohnort: München

Beruf: Maschinenbautechniker

Danksagungen: 74

  • Nachricht senden

37

Freitag, 31. Juli 2015, 22:04

Der wird das Zeitliche gesegnet haben :S
Wie gesagt, per Amazon gehts schneller.


JeffModder

Lebt hier!

  • »JeffModder« ist der Autor dieses Themas

Beiträge: 1 128

Registrierungsdatum: 25. Oktober 2013

Name: Jafar Al-Mansoor

Wohnort: Köln

Beruf: Schüler, bald professioneller Casemodder :P

Danksagungen: 57

  • Nachricht senden

38

Freitag, 31. Juli 2015, 22:18

Ok, hab grad meinen Bruder angerufen, der hat amazon prime, der bestellt mir das heute noch. Ich hoffe, dass es dann schon Montag da ist und nicht erst Dienstag.
Naja, ohne Arduino ist jetzt blöd. Muss aber trotzdem weiter an der Steuerung arbeiten, damit ich das ganze auch schaffe. Was kann ich denn ohne den Arduino noch alles machen? Lochrasterplatine etc.? Weiß ja nichtmal ob meine Schaltung überhaupt funktioniert..

JeffModder

Lebt hier!

  • »JeffModder« ist der Autor dieses Themas

Beiträge: 1 128

Registrierungsdatum: 25. Oktober 2013

Name: Jafar Al-Mansoor

Wohnort: Köln

Beruf: Schüler, bald professioneller Casemodder :P

Danksagungen: 57

  • Nachricht senden

39

Sonntag, 2. August 2015, 13:42

Also, der Arduino ist dank Expressversand gestern Abend angekommen.
Nun funktioniert es wieder mit Code übertragen und die LED`s gehen auch nicht auf voller Leistung aus. Aber auf allen Drehschalterpositionen bin ich immer im manuellen Modus. Hab am Aufbau nichts geändert und am Code auch nicht..

Sogar wenn ich den gleichen Code drin hab, aber den Drehschalter nicht anschließe bin ich im manuellen Modus, aber eigentlich sollte doch alles dann aus sein ???

pau55

Neu Hier!

Beiträge: 57

  • Nachricht senden

40

Sonntag, 2. August 2015, 14:20

Am besten alles Abhängen und nur den Drehschalter dran und das programm so schreiben das die 13 led in anderen Intervallen leuchten. Damit man dann schauen kann ob der Code funktioniert