ATTiny45 GuitarTuner

OP #1553288
Lesenswert?
• ▲
▼
Grüße Euch Community,

ich hab den Gitarren Tuner von Jesper nachgebaut mit einem ATTiny45. 
Leider musste der C-Code in vielerlei angepasst werden, da z.B. einige 
Befehle wie OUTP(x, y) nicht mehr existent sind usw.

Hab im Internet auch Ersetzungen dafür gefunden.
AVR hab ich programmiert mit WinAVR und klappte alles wunderbar mit 
einer SP12 Schaltung, die ich gefunden habe, am LPT1.

Allerdings bin ich ein kleiner Neueinsteiger was die Befehle der 
Mikrocontroller angeht. Hab mich im Datenblatt des ATTiny45 auch schon 
durchgelesen und wollte nun den Prescaler anpassen an 4 MHz, womit der 
GitarrenTuner nun laufen soll.

Zu Beginn leuchten auch beide LED's und erlischen dann und nichts weiter 
passiert. Was ich mir nur vorstellen kann, dass die Counts für die 
Frequenz nicht stimmen. Ich komme aber einfach nicht dahinter, wie ich 
die Zähler setzen muss bzw. die Interrupts genau benutzen soll.

Hat jemand vielleicht weitere Tipps für mich ? Ich will ja auch keine 
Komplettlösung haben. :)

Die Datei gtuner.c hab ich angehängt. Laut Datenblatt des ATTiny45 muss 
ich den Prescaler mit 0x07 auf 64 einstellen. Ist das korrekt ?
Aber wie passe ich dann die Counts an ?

Oder weiß jemand eine ganz andere einfachere Idee ?

Hier ist auch der Link zu Jesper : 
http://www.myplace.nu/avr/gtuner/index.htm

vielen Dank,
Gruß Tech09
Angehängte Dateien:
Gast #1553313
Lesenswert?
• ▲
▼
ich würde

1 copyright ändern, da nicht mehr original! bzw. hinweis auf deine 
änderung einbauen. hr hansen hat mit deinen änderngen nichts am hut!
2 standard typendeklaration übernehmen (uint8_t etc)
3 makros zum bit setzen etc.. ersetzen
4 interruptvektoren haben sich geändert (entweder auf der hp der 
avr-libc nachsehen, oder in winavr/avr/.. in der interrupt.h 
durchhangeln und die datei für tiny25/45/48 ansehen.
OP #1553369
Lesenswert?
• ▲
▼
faul schrieb:
> ich würde
>
> 1 copyright ändern, da nicht mehr original! bzw. hinweis auf deine
> änderung einbauen. hr hansen hat mit deinen änderngen nichts am hut!
> 2 standard typendeklaration übernehmen (uint8_t etc)
> 3 makros zum bit setzen etc.. ersetzen
> 4 interruptvektoren haben sich geändert (entweder auf der hp der
> avr-libc nachsehen, oder in winavr/avr/.. in der interrupt.h
> durchhangeln und die datei für tiny25/45/48 ansehen.

1 stimmt ! Ist ja wegen der GNU. Werde ich dann ändern.
2 uint8 ist dann ein unshorted Integer oder wie ist das gemeint ?
3
4 Oh, da kann schon mal ein Fehler liegen ! Danke.

>misst du überhaupt signale am eingang?
>wo ist   loop_until_bit_is_set(PINB,1);    // wait for something to
>happen

Hab mich auch schon gefragt, was oder wo der Funktionsaufruf zu finden 
ist. Ist der überhaupt von Bedeutung ? Auf der Jesper Seite steht nichts 
davon.
Aber wenn es das nicht geben würde, würde der Compiler meckern. Macht er 
komischerweise aber nicht.

> evtl. kann man sich den transistorverstärker sparen, es kann sein, dass
> der tiny einen komparator mit 20x gain hat. vielleicht klappt das.
> anderes prinzip: http://www.das-labor.org/wiki/Stimmmopped

Ich hab den Transistorverstärker mal simuliert für alle Frequenzen und 
schmeißt Signale zwischen 0V-4V raus in den gängigsten 
Gitarrensaiten-Frequenzen. Was ein Problem war, war das benutzte 
Mikrofon.
Das hat nur 5 mV rausgeschmissen. Es müssen mindestens 50 mV sein.
Hab nun das Ding vorsichtig mit der Soundkarte über Klinkenstecker 
angeschlossen und schmeiße die Frequenzen mittels Sinusgenerator auf die 
Boxen (Klinke) um die Frequenzen zu simulieren und einzustellen.
Spannungsmäßig kann ich das einstellen. Hab noch so ein extra externen 
Lautstärkerregler auf dem Tisch stehen.

Werde auch mal die Interrupts anpassen und morgen austesten.

Vielen Dank soweit,
Gruß Tech09 :)

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 16 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.