ATTIny 84 klappert statt Ton

Hi ihr,

ich habe dieses Programm soeben auf meinen Attiny84 geflashed und es kommt nur ein geklapper statt eines Tons...

byte Ton = 10;

void setup(){pinMode(Ton,OUTPUT);}

void loop(){
digitalWrite(Ton,HIGH);
delayMicroseconds(100);
digitalWrite(Ton,LOW);
delayMicroseconds(100);
}

Liegt es daran dass ich keinen Externen Oszilator drann habe? Normal sollte das doch auch ohne gehen oder?

Und was anderes... Kann man mit dem Arduino irgendwie die "tone()" Funktion auf den ATTINY flashen?

Du hast ja 2 delays mit jeweils 100 µs drin, das ergäbe nach Adam Riese einen Ton von 5kHz. Und das klappert noch? Du musst natürlich das richtige Board einstellen, dass die Timings richtig passen.
Was du als Ton meinst, ist in der Regel eine Sinuskurve, also ein Analogsignal, hier hast du aber ein digitales Rechtecksignal. Das klingt nie richtig gut. :wink:

i know^^

aber am großen Board klingts gut! Also am Arduino selbst.... Klingt so als würde er zu große Pausen machen kp.... Woran könnte das liegen?

was würdet ihr vorschlagten wie ich am sinnvollsten einen ton erzeugt bekomme mit dem ATTINY84??

Weil das geklapper geht ja nicht... Wollte eig nen Piepser machen der beim Berühren eines Touchpads piepst... aber das hier piepst ja nichmal wenn der "PIEP-TON" in endlosschleife is ohne den rest des Quellcodes :smiley:

Also wenn mit dem gleichen Sketch auf dem Tiny84 einen anderen Ton bekommst als beim Arduino-Board, passt da irgendwas mit den Timings nicht. Das gilt es als erstes zu ergründen. Klingt dein Summer besser, wenn du dein delayMicroseconds auf 13 (also etwa 1/8 von 100) setzt?
Ansonsten kann man auch einen Piezo-Summer nehmen, der einfach über einen digitalen Pin eingeschaltet wird. Der bringt im Unterschied zu einer Piezo-Scheibe auch gleich ein bisschen Elektronik mit, dass eine angelegte Gleichspannung schon zum Ton führt.

naja klingt etwas besser... aber naja immer noch mehr geklapper als Ton :smiley: :smiley:

kann man irgendwie die tone() funktion auf dem ATTINY zum laufen bekommen, wenn ja wie?^^

Bin neu auf dem Gebiet... daher diese vieleicht einfachen Fragen^^

Summer kaufen wäre ja einie idee aber das muss doch auch so gehen... Habe keine Lust schon wieder was zu kaufen :smiley:

BZW...
wenn das ein Timing problem ist... was meinst du damit? Kann man da irgendwie was umstellen, dass sich das "timing" ändert? Im Board.txt oder wo stell ich das ein?^^

Wie wir ja aus deinem anderen Thread wissen, nutzt du die Erweiterungen von High-Low-Tech, um die kleineren Mikrocontroller einzubinden.

Dort gibt es eine kleine Anmerkung: "Configuring the ATtiny to run at 8 MHz (for SoftwareSerial support)"
Vielleicht ist das schon des Rätsels Lösung. Scheinbar gehen die Tinys nicht von allein in den 8Mhz-Betrieb, weshalb ich ja die Reduzierung der Pausenlänge vorgeschlagen habe, um meine Theorie zu stützen.

Selbst nutze ich einen externen ISP, das Problem kam mir aber irgendwie bekannt vor. Damals habe ich die Fuses mit dem AVR-Studio manuell gesetzt, von daher ist meine Vorgehensweise nicht auf deinen Fall anwendbar.

Ja was heißt das jetzt für mich?^^ Mal dumm gefragt :"> verstehe das noch nich ganz....

Brauche ich einfach ein externes Quarz anschließen und dann is gut?^^ hoff

LG
Snape

Wenn man einen jungfräulichen Attiny84 hat ist der intern auf 1Mhz da heisst gegenüber deinem Arduino läuft der 16* langsamer das heisst dein Delay ist 16*100µs macht dann ungefähr 312hz und ist bei rechtecksimulation auch nicht mehr als ton wahrzunehmen. Du musst mit deinem ISP-Programmer die Fuses der Attiny so stellen das er intern mit 8Mhz läuft.

Schaue mal hier. Ich denke du hast diese Cores von hier:
http://hlt.media.mit.edu/?p=1695
Ein bisschen tiefer gescrollt und da steht wie du ihn auf 8Mhz "bekommst". Oder du holst die sowas hier mit den kleinen Tools von der Seite da ist dierekt ein Fusecalculator und "Brennprogramm" dabei.
http://shop.myavr.de/Programmer%20und%20Bridges/mySmartUSB%20light.htm?sp=article.sp.php&artID=200006

hm...
naja aber den Bootloader habe ich drauf gemacht und es dann geflashed... also sollte schon passen aber tuts nich oO...

oman ja muss ich jetzt den Arduino zurückschicken und mir das usb dings da kaufen? xD XD oman -.-

so ein misst =(

so Arduino is wieder zurück....

was genau brauche ich denn dann alles das es funktioniert??? Am besten wie gesagt ohne externen oszilator....^^ Dann bestelle ich das heute noch...

Bist du weiter gekommen ?
Ich habe gerade meine Attiny84 bekommen und keine Probleme mit dem Flashen und der Geschwindigkeit.
Alles mit dem o.g. Brenner

naja...

iwi will das noch nicht wirklich.... Hast du den Tiny irgendwie beschalten? Also geflashed bekomme ich ihn nur timing technisch spackt er ....

und die tone( ) Funktion schluckt er nich...

versuche mich aktuell am MK2.... kp das scheint iwi trotz beschaltung auch nich zu wollen...

hast du es mal versucht ohne die Delays da müsste dann auch ein Ton raus kommen irgendewo im kHz berreich. Einfach mal testen. oder die delay extrem verkürzen