Hallo zusammen,
Noch einmal will ich nerven mit einem Rechteckgenerator.
Da ich noch ein bisschen Zeug in meiner Bastelkiste rumliegen habe, wie zum Beispiel einen Stufenschalter, ist mir wieder eine Idee gekommen, wie man mit der Picaxe und dem Stufenschalter etwas bauen kann. Wenn es auch nichts Sinnvolles ist, aber es macht Spaß, wenn es hinterher funktioniert.
Die Funktion:
Je nach Stellung des Stufenschalters erhalte ich am Ausgang der Picaxe eine zuvor definierte Frequenz. In meiem Fall sind es die Frequenzen von 100 Herz bis 25 Khz. Leider nur Stufenweise. Eigentlich wollte ich noch eine Routine einfügen, damit man die Frequenzen etwas variabel gestalten kann, ist mir aber programmtechnisch nicht gelungen.
Für die Widerstände am Stufenschalter habe ich 470 Ohm / 1 % genommen. Die mit dem PWMOU-Wizard ermittelten Werte habe ich mit plus minus 5 in Case übernommen. Damit werden eventeulle Streuungen ausgeglichen.
Mit der Taste an pinc.1 kann das Programm gestartet, bzw. auch aus den Frequenzroutinen ausgestigen werden.
Hier das Programm:
'Festfrequenzen mit Drehschalter
#Picaxe 08m2
main:
pause 500
pwmout c.2, 0, 0
do
loop until pinc.1 = 1
readadc 4, b0
debug b0
select case b0
case 20,21,22,23,24,25,26,27,28,29,30
goto hz100
case 46,47,48,49,50,51,52,53,54,55,56
goto hz1khz
case 72,73,74,75,76,77,78,79,80,81,82
goto hz2khz
case 97,98,99,100,101,102,103,104,105,106,107
goto hz3Khz
case 122,123,124,125,126,127,128,129,130,131,132
goto hz5Khz
case 149,150,151,152,153,154,155,156,157,158,159
goto hz10Khz
case 175,176,177,178,179,180,181,182,183,184,185
goto hz15Khz
case 200,201,202,203,204,205,206,207,208,209,210
goto hz20Khz
case 226,227,228,229,230,231,232,233,234,235,236
goto hz25Khz
hz100:
pause 500
pwmout pwmdiv64, C.2, 155, 311
do
loop until pinc.1 = 1
goto main
hz1Khz:
pause 500
pwmout pwmdiv4, C.2, 249, 499
do
loop until pinc.1 = 1
goto main
hz2Khz:
pause 500
pwmout pwmdiv4, C.2, 124, 249
do
loop until pinc.1 = 1
goto main
hz3Khz:
pause 500
pwmout pwmdiv4, C.2, 82, 165
do
loop until pinc.1 = 1
goto main
hz5Khz:
pause 500
pwmout C.2, 199, 399
do
loop until pinc.1 = 1
goto main
hz10Khz:
pause 500
pwmout C.2, 99, 199
do
loop until pinc.1 = 1
goto main
hz15Khz:
pause 500
pwmout C.2, 66, 133
do
loop until pinc.1 = 1
goto main
hz20Khz:
pause 500
pwmout C.2, 49, 99
do
loop until pinc.1 = 1
goto main
hz25Khz:
pause 500
pwmout C.2, 39, 79
do
loop until pinc.1 = 1
endselect
goto main
Und hier die Schaltung: