Hallo!
Ich habe mich seit gestern Abend mit dem Befehl Sound in Bascom
beschäftigt, und dieser funktioniert auch wunderbar für einen Piepser.
Interessant wäre jedoch, ob dies für 2 oder mehr Piepser auch möglich
wäre, um kleine Melodien auf diesen abzuspielen.
Habe mir dies auch überlegt und habe einen kleinen Testcode dazu
geschrieben, jedoch geben die Piepser nur ein Pfeiffen bzw. kurzes
Knacken anstatt eines Tones wie mit der sound Funktion aus.
Hier ein Auszug des Codes:
Summer1 Alias Portd.7
Summer2 Alias Porta.2
Dim Freq1 As Integer
Dim Freq2 As Integer
Freq1 = 500
REM verschiedene Werte von 10 - 15000 getestet
Freq2 = 1500
REM verschiedene Werte von 10 - 15000 getestet
Dim I As Long
Dim Var1 As Integer
Dim Var2 As Integer
Var1 = 1
Var2 = 1
Do
For I = 1 To 2147483646 Step 1
If Var1 = Freq1 Then
If Summer1 = 1 Then
Summer1 = 0
End If
If Summer1 = 0 Then
Summer1 = 1
End If
Var1 = 1
End If
If Var2 = Freq2 Then
If Summer2 = 1 Then
Summer2 = 0
End If
If Summer2 = 0 Then
Summer2 = 1
End If
Var2 = 1
End If
Var1 = Var1 + 1
Var2 = Var2 + 1
Next I
Loop
Das ganze sollte ein Rechtecksignal auf zwei Augänge geben, jedoch mit
verschiedenen Frequenzen.
Wie oben gesagt funktioniert das alles aber nicht richtig.
Kann mir bitte jemand sagen wo der Fehler liegt?
Ich komme einfach nicht drauf.
mit freundlichen Grüßen
Fuchs Andreas
Für andere die dieses Thema verfolgt haben: Die Lösung ist ganz einfach, habe es einfach mit zwei aufeinanderfolgenden Sound Befehlen gelöst, die nur sehr kurz ausgeführt werden, klingt dann als würden sie beide gleichszeitig angesteuert werden. Leider ist das Ganze sehr ungenau im Zeitablauf. Beispiel: Sound Summer1 , 1 , 1500 Sound Summer2 , 2 , 500 Funktioniert einwandfrei, wahrscheinlich auch für 3 oder mehr Piepsern.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.