Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu dieser Vergleichsansicht

Both sides previous revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
projects:ehaserl [2011/12/30 00:32]
wanda [Chipinfo]
projects:ehaserl [2012/09/19 01:18] (aktuell)
wanda
Zeile 1: Zeile 1:
-====== ​ehaserl ​======+====== ​EHaserl ​====== 
 +---- datatemplateentry project ---- 
 +template ​     : :​sys:​tpl:​project 
 +description ​  : Spielen mit dem EHaserl des easterHacks in München 
 +coordinators ​ : [[:​users:​wanda:​]],​ [[:​users:​samaki:​]] 
 +confidants ​   : [[:​users:​skruppy:​]] 
 +state_tags ​   : working, in progress 
 +type_tags ​    : elektro, software, AVR, ehaserl, C 
 +---- 
 ===== Löten ===== ===== Löten =====
     * Vorderseite:​ https://​brezn.muc.ccc.de/​~schneider/​badge/​board/​brd-top1.png     * Vorderseite:​ https://​brezn.muc.ccc.de/​~schneider/​badge/​board/​brd-top1.png
Zeile 41: Zeile 50:
   * CPU: 8-bit AVR   * CPU: 8-bit AVR
 === Pins === === Pins ===
-{{:​atmega88p.png?​350|}} +{{::​atmega88p.png?​350|}} 
-{{:​pins.png?​350|}}+{{::​pins.png?​350|}}
 === Ports === === Ports ===
-{{:​ports.png?​400|}}+{{::​ports.png?​400|}}
 == leds == == leds ==
   * RR - Pin 12 - PD6 (Rot rechts)   * RR - Pin 12 - PD6 (Rot rechts)
-  * RL - Pin 15 - PB1 (Rot links) +  * RL - Pin 15 - PB1 (Rot links) ​- PWM möglich 
-  * GL - Pin 16 - PB2 (Grün links)+  * GL - Pin 16 - PB2 (Grün links) ​- PWM möglich
   * GR - Pin 17 - PB3 (Grün rechts)   * GR - Pin 17 - PB3 (Grün rechts)
-{{:​leds.png?​300|}}+{{::​leds.png?​300|}}
 == Taster (an den Ohren) == == Taster (an den Ohren) ==
 Von der Rückseite aus betrachtet: Von der Rückseite aus betrachtet:
Zeile 57: Zeile 66:
 == Piezo == == Piezo ==
   * PIEZO - Pin 18 - PB4   * PIEZO - Pin 18 - PB4
 +== Lichtsensor ==
 +  * LIGHT - Pin 24 - PC1
 +===== C-Programme:​ Wie macht Fisch eigentlich... =====
 +==== Töne mit dem Piezo ====
 +Infos sind aus: http://​www.infolexikon.de/​blog/​atmega-music/​
 +\\  ​
 +\\  ​
 +**1) Töne sind**...was?​!\\  ​
 +Töne können weitgehend durch Sinus-Wellen erzeugt werden. Töne liegen wohl irgendwo zwischen 200Hz und 1,5kHz. Eine einzige __Sinus-Welle__,​ ein sauberer __8-bit Ton__!
 +
 +**2) PWM** (PulsWeitenModulation) \\  ​
 +**Wichtig zum Verständnis**:​ die PWM ändert ihre Frequenz NIE, NIEMALS! Alles was sich ändert, sind die Pulsweiten, also die high/​low-Phasen,​ in denen der Ausgang (z.B. Atmega8: PB1=OCR1A...Problem:​ beim ehaserl ist hier nicht der Piezo, sondern eine LED dran...schade!) getoggelt wird. Die PWM besitzt einen Counter, der ständig hochzählt, bei 8 bit von 0 bis 255.\\  ​
 +Um die Pulsweite zu bestimmen, kann man nun einen Vergleichswert setzen. Ist dieser 0 gibt es keine high-phase, ist er 255, gibt es nur high-phasen.\\  ​
 +**Beispiel**:​ Bei 128 sind die high-phasen z.B. genauso lang wie die low-phasen.\\  ​
 +
 +**3) Wie** stell ich das an?​\\  ​
 +Den Sinus im Atmega ausrechnen zu lassen würde die ganze Rechenzeit auffressen, der ist einfach nicht schnell genug für sowas.\\  ​
 +Also erstellt man erstmal eine Tabelle für die Sinus-Werte,​ und die wird dann direkt ins Programm kodiert, so muss der Atmega nur noch i.d. Tabelle für die Werte nachschauen.
 +
 +**Frequenz-Tabelle**:​
 +<code c>
 +// Noten-Frequenzen,​
 +// berechnet für 8Mhz und PWM ohne Prescaler
 +#define c 542
 +#define cis 574
 +#define d 608
 +#define dis 644
 +#define e 682
 +#define f 722
 +#define fis 765
 +#define g 810
 +#define gis 858
 +#define a 908
 +#define b 962
 +#define h 1019
 +</​code>​
 +\\  ​
 +Zum Vergleich: die wirklichen **Ton-Frequenzen**\\  ​
 +http://​de.wikipedia.org/​wiki/​Frequenzen_der_gleichstufigen_Stimmung
 +(Frequenz/​2=wert aus tabelle)
 +\\  ​
 +\\  ​
 +=> **Folge**:​\\ ​
 +Die Modulation __wirkt wie__ eine Sinus-Spannung (obwohl es nur ein Wechsel von an und aus ist)\\  ​
 +Bild (PWM und Sinus): \\  ​
 +{{::​pwm.png?​300|}}
 +\\ 
 +(Bild-Quelle:​ http://​de.wikipedia.org/​w/​index.php?​title=Datei:​Pwm.png&​filetimestamp=20060323084447#​file)
 +\\  ​
 +Weitere Infos:​\\  ​
 +http://​www.mikrocontroller.net/​articles/​AVR-GCC-Tutorial#​PWM_.28Pulsweitenmodulation.29\\  ​
 +http://​www.arduino.cc/​en/​Tutorial/​PlayMelody
 +==== LED-Fading ====
 +Weil im eHaserl eine PWM nur an den beiden Augen möglich ist - nicht beim Piezo. ​
projects/ehaserl.1325201534.txt.gz · Zuletzt geändert: 2011/12/30 00:32 von wanda