Pages: 1 [2]   Go Down
Author Topic: sehr simples Keyboard  (Read 1853 times)
0 Members and 1 Guest are viewing this topic.
AREA COLOGNE
Offline Offline
Edison Member
*
Karma: 21
Posts: 1148
I am 1 of 10 who understands binary
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Neuer Ansatz
Wenn man den Tasten einen bestimmten Zahlenwert zuordnet und den dann mit einem Swutch case abfragt dann hat man doch genau das der Letze Ton  bleibt stehen bis man dann einen neuen drückt. Man könnte auch einfach mit de Fallenden Flanke die Tüne zurücksetzten.
Logged

So ist das Leben:
Manchmal bis du das Denkmal, manchmal die Taube!

0
Offline Offline
Faraday Member
**
Karma: 24
Posts: 3501
20 LEDs are enough
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Nur zur Vollständigkeit: warum sind Pullups korrekt und "Pulldowns" falsch? Antwort: weil die Schaltschwelle zwischen Low und High häufig nicht "in der Mitte" liegt. Stattdessen wird ein High bereits sehr viel früher als ein Low erkannt. Da man durch die Widerstände Einstreuungen verhindern will zieht man in die Richtung des "bevorzugten" Pegels, also zu High. Deshalb sind Pullups richtig und Pulldowns falsch.

Die Sache mit den Flanken ist übrigens sehr gut bemerkt smiley

Gruß, Udo
Logged

Check out my experiments http://blog.blinkenlight.net

0
Offline Offline
Newbie
*
Karma: 0
Posts: 3
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Schliesse mich an:

1. Digitale Inputs sollten offen immer auf HIGH liegen (1) (wird durch den internen oder externen Pull Up Widerstand gewährleistet)  und mit dem Schalter auf GND gezogen werden. Gegen GND kann man zur Sicherheit einen Widerstand einbauen (100 - 470 kOhm), damit bei Falschprogrammierung z.B. Pin-Output statt -Input keine zu grosse Ströme fliessen, die den Port zerstören könnten.

2. Anscheinend betreibst Du einen grossen Lautsprecher (zwar mit einem Begrenzugswiderstand) direkt am Arduino Ausgang , der höchstens eine LED mit 20 mA treiben kann und bei Überlastung einfach den Betrieb einstellt: Do solltest demnach den Lautsprecher indirekt über eine Transistor-Treiber-Schaltung ansteuern oder den Strom mit einem  Widerstand > 240 Ohm auf max. 20 mA begrenzen.

Gruss crami
Logged

0
Offline Offline
Newbie
*
Karma: 0
Posts: 3
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Nachtrag:

Habe noch einen gravierenden Fehler endeckt:

Kommentar zur Funktion note (pin, frequency) in der Arduino reference:

"Use of the tone() function will interfere with PWM output on pins 3 and 11 (on boards other than the Mega)"

Daher auch die komischen Töne ! Also schliess den Lautsprecher an den Pin 12 oder 13 an und pass Dein Programm entsprechend an.

Gruss crami
Logged

0
Offline Offline
Faraday Member
**
Karma: 24
Posts: 3501
20 LEDs are enough
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

@crami: Du meinst sicher 100-470 Ohm, nicht kOhm, richtig? 100k wäre zu viel, die internen Pullups sind so bei 40k.

Gruß, Udo
Logged

Check out my experiments http://blog.blinkenlight.net

0
Offline Offline
Newbie
*
Karma: 0
Posts: 3
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

@ Udo

OK 100 - 470 Ohm (als Sicherung) ist korrekt. Als externe Pullups bei open collector outputs habe ich früher (als man die Computernoch  selbst zusammenlöten musste) jeweils 4.7k verwendet.

Gruss crami
Logged

Pages: 1 [2]   Go Up
Jump to: