Hi, Ich bin sicher der x-te Newbie der mit solchen Fragen auf die Nerven geht aber vielleciht hat ja doch jemand Lust und Zeit mir diese zu beantworten :) ich habe mich letztendlich entschieden, mir ein STK500 + Bauelemente(Breadboard,Widerstände,etc) zuzulegen und die AVR Tutorials von hier durchzuarbeiten. Hatte vor in C zu programmieren oder sollte man wirklich in Assembler anfangen um irgendwas besser zu verstehen? Nun gut, ich hatte mir gedacht ich könnte nach den Tutorials evtl. folgendes Projekt starten und bräuchte dafür ein,zwei Tipps: Ich würd gern 2 Neigungssensoren auf eine Platine hauen, die mit einem AVR und ner RGB LED bestückt ist. Neigt man die Platine an einer Achse soll sich die Farbe ändern, neigt man sie an einer anderen Achse entlang, soll sich die Intensität ändern. Ist sowas möglich und könnt ihr mir da evtl was an Sensoren empfehlen? Ich finde das hört sich recht simpel an, oder ist dass als Anfängerprojekt wenn man sich schon etwas eingearbeitet hat zu kompliziert? Ich denke mir das so, dass der Neigungssensor je nach Neigung eine gewisse Spannung an einen Eingang des Mikrokontrollers liefert der dann eine gewisse Ausgangsspannung für die LED erzeugt und diese somit ihre Farbe ändert, habe allerdings keine Ahnung, ob das wirklich so funktioniert. Hoffe, dass wenn ich Tutorials/einfache LED Projekte durcharbeite ich darauf komme wie es nun tatsächlich laufen wird. Danke und Gruß, tedd
>Hatte vor in C zu programmieren oder sollte man wirklich in Assembler >anfangen um irgendwas besser zu verstehen? Ja. >Neigt man die Platine an einer Achse soll sich die Farbe ändern, neigt >man sie an einer anderen Achse entlang, soll sich die Intensität ändern. Du suchst Beschleunigungssensoren. >könnt ihr mir da evtl was an Sensoren empfehlen? LIS3L02AS4 >Ich denke mir das so, dass der Neigungssensor je nach Neigung eine >gewisse Spannung an einen Eingang des Mikrokontrollers liefert der dann >eine gewisse Ausgangsspannung für die LED erzeugt und diese somit ihre >Farbe ändert, habe allerdings keine Ahnung, ob das wirklich so >funktioniert. Ja, funktioniert. Die LEDs bekommen in dem Fall eine variable PWM angeschaltet.
Danke für die schnelle Antwort Travel Rec.! Dann geht's bald mal zum bestellen und rumprobieren :)
Ich habe da doch noch eine Frage... Hoffe die ist euch nicht zu dumm, evt habe ich di Suche falsch benutzt oder dazu nichts gefunden. Und zwar ist es ja sinnvoll für die Tutorials und weitere Schaltungen ein Steckbrett zu besorgen. In der Tutroial Anleitung steht wie ich eine 5V Vcc Stromversorgung für nen AVR hinbekomme und "An den Eingang (+ und - im Schaltplan) wird ein Steckernetzteil mit einer Spannung von 9 - 12V angeschlossen. " Ist ja klar nur: Wie komme ich jetzt jeweils an den + und - Kontakt von diesem Steckernetzteil? Die haben doch normalerweise immer so Hohlstecker oder nicht? Muss ich das dann auseinanderbasteln? Danke und Gruß, tedd
Manuel Ted wrote: > Wie komme ich jetzt jeweils an den + und - Kontakt von diesem > Steckernetzteil? Die haben doch normalerweise immer so Hohlstecker oder > nicht? Muss ich das dann auseinanderbasteln? > > Danke und Gruß, > > tedd Dafür gibts Holstecker bzw. Buchsen zu kaufen. Da lötest Du dann ein kurzes Kabel ran und verbindest es mit deinem Board. Gruß
> Ist ja klar nur: > > Wie komme ich jetzt jeweils an den + und - Kontakt von diesem > Steckernetzteil? Die haben doch normalerweise immer so Hohlstecker oder > nicht? Muss ich das dann auseinanderbasteln? 1. Eine Buchse für Printmontage kaufen. Mit etwas Glück passt sie ins Breadboard, ansonsten ein Stück Lochraster passend bohren und dann auf Pinheader des Lochrasters führen. Das passt dann ins Breadboard. Kannst ja, falls vorhanden, zum nächsten blauen C gehen und an der Bauteilausgabe das Steckernetzteil zeigen. Lass dir die dazu passende Buchse raussuchen und besteh drauf das die Kontakte durchgepiepst werden. 2. Schneid den Stecker vom Netzteil ab, löte Pinheads dran. Das passt dann aufs Breadboard. Allerdings ist das nicht Verpolungssicher, ich würde Weg 1 bevorzugen. Kleiner Tipp: Gleichrichter für Kleinspannungen und kleine Ströme kosten <1€ und machen deine Schaltung Verpolungssicher. Dann ist es egal, wie herum du das Steckernetzteil anschließt. Auf dem STK500 wurde das auch so gelöst ;)
Travel Rec. wrote:
> LIS3L02AS4
Der ist übrigens obsolet. In der heutigen Zeit bekommt man
Beschleunigungssensoren (i.d.R.) nur noch in LGA-Style Packages, leider.
Den MMA3202D gibt es noch bei CSD-electronics, macht 2 Achsen bis 100/50g im SOIC20.
Travel Rec. wrote: >>Hatte vor in C zu programmieren oder sollte man wirklich in Assembler >>anfangen um irgendwas besser zu verstehen? > > Ja. Nein.
Hier gibt es noch einige Typen im Vergleich: http://www.st.com/stonline/stappl/productcatalog/app?path=/comp/stcom/PcStComRPNTableView.onClickFromProductTree&primaryheader=Sensors%20and%20MEMS&secondaryheader=Motion%20Sensors%20%28MEMS%29&subclassheader=Accelerometers&subclassid=444.0&count=24&producttype=
Ja, Analog Devices und Kionix haben auch noch Accelerometers. Gibt mit Sicherheit noch mehrere Hersteller.
> Hatte vor in C zu programmieren oder sollte man wirklich in Assembler > anfangen um irgendwas besser zu verstehen? Frag 10 leute danach, und du wirst 11 Antworten erhalten. Ich hatte Assembler nur in der FH in der Microcontroller-Vorlesung. Am Ende der selben wurde dann auch in C programmiert. Um die Sache am Anfang zu verstehen, ist es ganz nett, aber notwendig? Ich behaupte mal nein. Im praktischen Einsatz ist C m.M. nach übersichtlicher und bequemer. Es kommt aber auch sehr darauf an, was du machen willst. Auf kelinen µCs ein paar Mini-Programme macht man lieber in Assembler. Aber wie gesagt, 10 leute, 11 Meinungen... > Ich denke mir das so, dass der Neigungssensor je nach Neigung eine > gewisse Spannung an einen Eingang des Mikrokontrollers liefert der dann > eine gewisse Ausgangsspannung für die LED erzeugt und diese somit ihre > Farbe ändert, habe allerdings keine Ahnung, ob das wirklich so > funktioniert. Ganz so funktioniert das nicht, aber fast ;-) Der Anfang stimmt, um die Spannugn als Zahl im Microcontroller verarbeiten zu können, wirst du dann den Analog-Digital Konverter des µCs nutzen. Der zweite Teil geht anders. Erstens hat der AVR keinen Digital-Analog Konverter an Bord, zweitens brauchst du auch keinen. Die Helligkeit einer LED hängt nicht, wie von dir vermutet, von der Spannung ab, sondern vom Strom. Einen variablen Strom erzeugst du mit dem AVR dann über Timer als PWM. Die Stichworte Analog-Digital-Konverter, Timer und PWM wirst du in beiden Tutorials hier wiederfinden. Von daher sollte > Hoffe, dass wenn ich Tutorials/einfache LED Projekte durcharbeite ich > darauf komme wie es nun tatsächlich laufen wird. gut klappen. LG, Björn
Es gibt auch rein digitale Beschleunigungssensoren mit SPI/I2C Ausgabe, da braucht´s dann nur noch einen kleinen Tiny ohne ADC zum Ansteuern der LEDs.
Michael G. wrote: > Travel Rec. wrote: >>>Hatte vor in C zu programmieren oder sollte man wirklich in Assembler >>>anfangen um irgendwas besser zu verstehen? >> >> Ja. > > Nein. du bist das allerbeste beispiel für ein schallendes: JA es ist immer wieder hilfreich, sich in asm zurechtzufinden. man muss es ja nicht bis in die perfektion beherrschen und jeden trick schon mal gesehen haben. aber ich bin immer wieder froh, es zu können
Von mir ein klares womöglich. Wenn dir klar ist das
1 | a = a / 10; |
langsamer ist als
1 | a = a / 8; |
brauchst mit asm nicht anfangen wenn du eigentlich in C programmieren willst. Erst recht wenn bei
1 | array[i].a = x; |
2 | array[i].b = y; |
3 | array[i].c = z; |
bei dir einige Alarmlampen angehen, kannst du Assembler links liegen lassen.
Autor: Michael G. (linuxgeek) Benutzerseite Datum: 14.01.2009 16:42 >Travel Rec. wrote: >>>Hatte vor in C zu programmieren oder sollte man wirklich in Assembler >>>anfangen um irgendwas besser zu verstehen? >> >> Ja. >Nein. Von Dir hätte ich auf diese Frage eigentlich etwas mehr erwartet, alleine schon wegen deines Usernamens. Natürlich kann man programmieren völlig ohne Assemblerkenntnisse. Man kann auch einen Rechner benutzen wenn man nur die CD einschieben und die Maustasten drücken kann. Wahrscheinlich kann man auch einen A380 fliegen, ohne die Grundbegriffe der Strömungsphysik zu kennen. Die Frage bezog sich aber nicht auf ANWENDEN, sondern auf VERSTEHEN! Anfangen muss man sicher nicht unbedingt in Assembler, aber es ist schon sehr vorteilhaft, etwas Assembler zu können, um zu verstehen, was ein PC/uC eigentlich wirklich tut bzw. tuen kann.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.