Hi Karlsson, was ist aus dem Rundumlicht und dem Bremslicht geworden? Ein paar Bilder fänd ich ganz nett ;-).
Für ein Modell wollte ich eine Waltons-Hupe und dachte die paar Töne sollten doch gehen, BBM hat mir dann erklärt das so etwas richtig viele Töne hat und die PICAXE nicht kann. Er hatte für mich eine recht einfache Lösung die da war: ein mp3-Modul mit der Hupe und gut ist.
Beim Motorgeräusch ist das Problem, das es geschwindigkeitsabhängig sein soll. "Normale" Geräusche wie Hupe, Sirene oder Hähnekrähen :-D gehen wahrscheinlich mit einem MP3 Player prima (hab es noch nicht probiert). Kosten ja grad 1 Euro.
Morjen, das dachte ich mir schon das es Geschwindigkeitsabhängig sein soll das Motorgeräusch ;-), kommt drauf an wie gut Du im Umgang mit Audiodateien bist um genügend Motorgeräusche zu erstellen. Man kann ja ein wenig mogeln und es so machen das es sich recht gut anhört, die Motorgeräusche in dem Video sind hm bescheiden es soll nur zeigen was man machen kann.
; picaxe08m2 ; automatische Compilerauswahl für mein Skript
Symbol TX = C.4 ' Ausgang, Befehl und Sollwert zum DFPlayer senden Symbol RX = C.2 ' Eingang, Daten vom DFPlayer empfangen Symbol BUSY_PIN = pinC.1 ' Eingang, ist der DFPlayer beschäftigt? Symbol Signal = pinC.3 ' Eingang, auf ein Signal warten Symbol BAUD_FREQ = M8 ' Frequenz setzen Symbol BAUD = T9600_8 ' Geschwindigkeit setzen Symbol cmd = b0 ' Befehl für den DFPlayer Symbol arg = w1 ' Sollwert für den DFPlayer Symbol arg.lb = b2 ' low Byte von arg Symbol arg.hb = b3 ' high Byte von arg symbol Nr = b4 ' die Nr. der Datei symbol Nr_alt = b5 ' die Nr. der aktuellen Datei merken
Nr = 0 ' keine Datei, das Abspielen stoppen Nr_alt = Nr
high TX ' den Ausgang TX auf high setzen für Leerlauf SetFreq BAUD_FREQ ' Frequenz einstellen pause 1000 ' eine Pause für die Initialisierung
cmd = $09 : arg = $0002 : gosub senden ' mikroSD Karte auswählen pause 4000 ' eine Pause um den Inhalt der SD-Karte einzulesen
cmd = $06 : arg = $0011 : gosub senden ' Lautstärke einstellen (0 - 1E) pause 1000 ' eine Pause um die Lautstärke einzustellen
do if Signal = 1 then inc Nr : if Nr > 3 then : Nr = 0 : endif do : loop until Signal = 0 endif
if Nr <> Nr_alt then Nr_alt = Nr select case Nr case 0 cmd = $16 : arg = $0000 : gosub senden ' Motor aus case 1 cmd = $08 : arg = $0001 : gosub senden ' Motor starten pause 4000 cmd = $08 : arg = $0002 : gosub senden ' und dann im Leerlauf case 2 cmd = $08 : arg = $0003 : gosub senden ' Motor schneller case 3 cmd = $08 : arg = $0004 : gosub senden ' Motor noch schneller endselect endif loop