Microcontroller-Tutorial für Anfänger - Teil I - Grundlagen

  • Zitat von "Lappy"

    Hu Hu,


    sehr sehr schön geworden :D Werd mir gleich mal die bauteile bestellen gehen :D


    Wäre richtig nett von dir wenn du eine kleine Liste der Bauteile und den dazugehörigen Link postest :lol:

  • Zitat von "deejay"

    Wäre richtig nett von dir wenn du eine kleine Liste der Bauteile und den dazugehörigen Link postest :lol:


    Naja du brauchst doch nur den atmel und die bauteile die du anspielen willst.Hat doch weiter oben schon der danny geschrieben.Aufjedenfall brauchst du noch den quarz,der fehlt auf der zeichnung irgendwie!?!


    Aber ich hab mal noch eine frage,ich habe hier noch einen Atmel 90S2313-10P rumfliegen.Was muss man bei den atmel controllern genau beachten?


    bye bye Oli

  • @ Lappy : Der Tiny hat nen oszi intergriert, den man benutzen kann für den Timer/Counter. (Freq. siehe Datenblatt) benötigt man höhere oder andere Freguenzen ( von dem inztegrierten Quarz kann man durch Teilen der Grundfraq bestimmte Freq/Zeiten erreichen) kann man auch nen gesonderten Quarz anschließen . Datenblatt gibt auch dazu die Ports an.

  • @Scorpio - gut gesehen, Pullup fehlt in der Tat! Bau ich gleich rein.


    Danny - Da steht aber "Wer das Pollinboard hat..." - denn das hat den MAX232 direkt an Bord (und auch keinen Parallelport).
    Ich habe keine ISP Schnittstelle in die das 1. Board eingebaut, denn dadurch hätte ich 2-seitig arbeiten müssen. Der eine Schaltplan zeigt, wie man ein Druckerkabel verwenden kann - das selbe mit Serieller Schnittstelle is etwas komplexer, da man einen Pegelwandler nutzen muss (MAX232)..
    Wer mag, kann diesen Teil selber ergänzen, einfach mal einen Blick in die Doku von Pollin werfen (Seite 6). Eine Stromversorgung mit 5V Ausgang ist dort auch beschrieben.


    Wie Eingangs schon erwähnt: Wer die eierlegende Wollmilchsau will und nicht wirklich Ahnung hat, der sollte sich das Pollinboard bestellen - spart Zeit und u.U. auch Geld.


    Lappy - Es ist herzlich egal, mit welchem AVR du das machst - er sollte nur ausreichend Pins für die 8 LEDs haben und sich mit Bascom & PonyProg2000 beschreiben lassen. Den Bespielcode im Tutorial arbeitet (mit kleinen Änderungen) genausogut mit einem Mega8 oder Mega16.


    Die Bauteilliste müsst ihr euch schon selber schreiben - so schwer ist das ja wohl nicht, oder? Das alles hier soll ja dazu dienen, dass ihr selbstständig µC-Schaltungen entickeln könnt. Wer rote LEDs betreiben will braucht ja eh andere Widerstände als für blaue.

  • Hu Hu,


    ich hab da noch sone frage,
    beziehen sich die ausgänge immer zwischen Do und Loop?Was ich damit aussagen will,wenn ich jetzt den 8 port (PortB = 10000000) extra setze,das es nur noch 7 leds gibt für das lauflicht,


    Do
    PortB = 10000000
    Waitms Warten
    PortB = 10000000
    Loop


    müsste doch die led die da dran hängt, zu dem lauflicht blinken,oder ist das nicht so einfach?


    Und kann man mehrere "Warten" erzeugen,damit man mehrere zeit intervale einbauen kann?


    Config PortB = Output
    Dim Warten as Byte
    Dim Warten1 as Byte
    Dim Warten2 as Byte


    Warten = 150
    Warten1 = 160
    Warten2 = 170


    Hab bei bascom mal die hilfe genommen und die erklährungen durch gelesen,aber irgendwie komm ich damit noch nicht ganz klar.


    MfG Oli


    ps: der Pull-Up-Widerstand hat noch die falsche bezeichnung...


  • Also wenn man einen Port setzt, dann bleibt der so - bis zum Reset oder bis man ihn halt wieder ändert.
    Blinken wäre Port = 0 , Port = 1, Port = 0....usw. (das wäre in diesem Fall immer das 1. Bit (Beinchen) im Port, das blinkt.)


    Zitat von "Lappy"

    Und kann man mehrere "Warten" erzeugen,damit man mehrere zeit intervale einbauen kann?


    ps: der Pull-Up-Widerstand hat noch die falsche bezeichnung...


    Klar, kannst so viele Variablen machen, bis der RAM vom AVR voll ist (was schonmal passieren kann ;) ).
    Du könntest die Warten Variable auch dynamisch anpassen:
    [code:1]Warten = warten + 5[/code:1]


    Die 5x5 LED-Matrix ist im Grunde auch ncihts anderes, nur dass der eine Port immer nur eine Zeile aktiviert und der andere Port dann die 5 LEDs in dieser Zeile anmacht (oder nicht). Das gaaaaanz oft hinereinander und fertig ist ein stehendes Bild.

  • Zitat

    Also wenn man einen Port setzt, dann bleibt der so - bis zum Reset oder bis man ihn halt wieder ändert.
    Blinken wäre Port = 0 , Port = 1, Port = 0....usw. (das wäre in diesem Fall immer das 1. Bit (Beinchen) im Port, das blinkt.)


    Dann müsste das so aussehen?!?!



    Do
    Port10000000 = 1
    waitms 100
    Port10000000 = 0
    Loop


    bzw. sollte das so aussehen oder:

    Config Pinb.8 = Output


    do
    Portb.8 = 1
    Waitms 100
    Portb.8 = 0
    Waitms 100
    loop


    MfG Oli


  • ja so geht das z.B..
    Du kannst entweder ganze Ports ansprechen (PortB = 255 setzt alle Beinchen auf hoch.) - Schaut hierzu mal in Binärschreibweisen rein ;)


    Einzelne Pins kann man auch verändern (PinB.0 = 1 setzt den ersten Pin von PortB hoch).


    Tipps einfach mal in Bascom und lass es compilieren... der meckert schon, wenns falsch ist.

  • Zitat von "Lappy"

    Ich muss auch noch bei reichelt den verdammten korb voll bekommen :p


    Ok, nichts leichter als das:
    Bestell dir direkt all die praktischen Kleinigkeiten mit, die wir noch brauchen werden:
    Einen oder mehrere Darlington-Arrays (z.B. ULN2803 o.Ä.) - brauchst du, falls du mal ein Matrix-Display bauen willst (oder andersweitig mit einem positiven Impuls einen Verbraucher aud Masse legen willst).


    Eine RGB-LED - RGB-Wechsler könnte ein Thema werden ;)


    Entweder direkt Material zum Ätzen eigener Platinen, oder eben Lochraster-Platinen mit Kupferauflage.


    Vielleicht ein kleines Textdisplay vielleicht noch - sowas: http://www.pollin.de/shop/detail.php?pg=NQ==&a=NDE2OTc4OTk=
    Lassen sich einfachst anklemmen und helfen durchaus bei der Fehlersuche.


    Einen IR-Empfänger TSOP1136 (oder einen mit gleicher Frequenz) - die lassen sich noch einfacher betreiben und man kann das Gefrickel nacher schön mit der Universal-Fernbedienung steuern.


    Einen MAX232, wenn du serielle Kommunikation mit dem Chip betreiben willst (empfehlenswert für größere Sachen, um Ausgaben des Chips zu überwachen, Eingaben zu machen, usw...). Die IR-Geschichte kann z.B. frickelig werden, wenn man weder Display noch RS232 hat und wissen will, welcher Code auf welcher Taste liegt ;)


    Stefan

  • Hu Hu ,


    mit dem ir habe ich mir schon angeschaut (RC5)die codes findet man im internet.
    Wenn du da ein tutorial zu schreibst währe mal der über hammer,da ich darüber dann meine modelle steuern könnte.


    Schöne grüße aus Hamburg :)

  • Zitat von "Lappy"

    ...mit dem ir habe ich mir schon angeschaut (RC5)die codes findet man im internet.
    Wenn du da ein tutorial zu schreibst währe mal der über hammer,da ich darüber dann meine modelle steuern könnte.


    Hab das die Tage auch mal getestet... Das Empfangen is auf jeden Fall einfach - viel mehr als das Demo aus dem Handbuch (du hast es hoffentlich schon mal durchgeblättert?!?) brauchste da nicht - halt ne RS232 oder ein kleines Display um dir die Codes deiner FB anzuzeigen - die notieren und dann entsprechenden Routinen zuordnen.


    Die TSOP sind alle recht ähnlich, schau nur, dass er die richtige Frewuenz hat. Strom dran und Signalleitung an den Pin vom AVR, soweit fertig.
    Eine FB mit echtem RC5 ist mitunter komplexer... Universal-Klicksen sind da sehr hilfreich... KIK oder so haben immer eine für 2,50 Euronen da...


    Stefan Z

  • Hu Hu,


    naja das mit den code auslesen sehe ich nicht so als prob :D


    Aber ich habe auch gelesen das man einen sender bauen kann?!?Zu mal die sendeleistung über 30 m geht mit der richtigen ir diode.(konnte es noch nicht testen)


    Aber daran bin echt interessiert,kann man sich aus einem ps pad ne fb bauen für fahrzeuge und alles einzelln ansteuern =D> =D> =D>

  • Codes senden is irgendwie nicht ganz so einfach - aber es kann einfach sein, dass die IR diode nichtmal eine ist - muss mal zum Laden eiern...


    Wenn du nur ne FB mit extremer Reichweite brauchst, nimm ne normale und bau da anstelle der IR-LED nen Transistor oder ein Mosfet rein und schalte da ne IR-Cree nach ;) Das solle einmal quer durch den Park funktionieren.


    Stefan Z