Dies ist eine alte Version des Dokuments!


ehaserl

Löten

Programmieren:

Ausschalten, Schwänzchen drücken, einstecken, glücklich!

Folgende Tools werden benoetigt:
  sudo apt-get install avrdude avr-libc gcc-avr subversion
Code zu finden unter:
  $ svn co https://brezn.muc.ccc.de/svn/badge
Flashen:
  $ cd badge/examples/default (Beispiel)
  $ make

- ehaserl: Schalter auf AUS
- ehaserl: Taster (rechts unten) gedrueckt halten
- ehaserl: In USB einstecken

  $ sudo make program

- ehaserl-Taster loslassen

=⇒ (Das geflashte Programm sollte nun starten)

Hinweis: ggf. Target im Makefile ändern
Für ein neues 'superprogramm.c' muss Fisch ggf. den richtigen Namen angeben =⇒

      # Target file name (without extension).
      TARGET = superprogramm
Tipp

Um zu gucken, ob das Haserl richtig eingesteckt ist, kann Fisch mit:

       watch --interval 1 lsusb

prüfen, ob das Haserl in der Liste auftaucht.

Chipinfo

http://www.atmel.com/dyn/resources/prod_documents/doc8025.pdf

ATmega88P

  • Flash (Kbytes): 8
  • Pin Count: 32
  • Max. Operating Frequency: 20
  • CPU: 8-bit AVR

Pins

Ports

leds
  • RR - Pin 12 - PD6 (Rot rechts)
  • RL - Pin 15 - PB1 (Rot links)
  • GL - Pin 16 - PB2 (Grün links)
  • GR - Pin 17 - PB3 (Grün rechts)

Taster (an den Ohren)

Von der Rückseite aus betrachtet:

  • SL - Pin 14 - PB0 (Ohr links - das Kleine)
  • SR - Pin 13 - PD7 (Ohr rechts - das Große)
Piezo
  • 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) 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.

projects/ehaserl.1325266933.txt.gz · Zuletzt geändert: 2011/12/30 18:42 von wanda