Anfängerprojekt?

#1110011
Lesenswert?

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
(Firma: TravelRec.) Persönliche Seite #1110022
Lesenswert?

>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.
#1110389
Lesenswert?

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
Persönliche Seite #1110415
Lesenswert?

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ß
Gast #1110448
Lesenswert?

> 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 
;)
#1110504
Lesenswert?

> 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
Gast #1110570
Lesenswert?

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
Gast #1110909
Lesenswert?

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.
Gast #1110924
Lesenswert?

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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren