www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Anfängerprojekt?


Autor: Manuel Ted (tedd)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Knut Ballhause (Firma: TravelRec.) (travelrec) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Manuel Ted (tedd)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für die schnelle Antwort Travel Rec.!

Dann geht's bald mal zum bestellen und rumprobieren :)

Autor: Knut Ballhause (Firma: TravelRec.) (travelrec) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Viel Spaß damit!

Autor: Manuel Ted (tedd)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Sven H. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Zauberwort: Schere oder eine entsprechende Buchse.

Autor: Dieter Engelhardt (netdieter) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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ß

Autor: nullahn (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schöne Idee poste doch mal wenn fertig.

Autor: Hmm... (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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 
;)

Autor: Simon K. (simon) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Knut Ballhause (Firma: TravelRec.) (travelrec) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hmmm - meine Kollegen haben den verwendet, kam aus einem Modellbau-Shop.

Autor: Knut Ballhause (Firma: TravelRec.) (travelrec) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Den MMA3202D gibt es noch bei CSD-electronics, macht 2 Achsen bis 
100/50g im SOIC20.

Autor: Michael G. (linuxgeek) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Travel Rec. wrote:
>>Hatte vor in C zu programmieren oder sollte man wirklich in Assembler
>>anfangen um irgendwas besser zu verstehen?
>
> Ja.

Nein.

Autor: Knut Ballhause (Firma: TravelRec.) (travelrec) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hier gibt es noch einige Typen im Vergleich:

http://www.st.com/stonline/stappl/productcatalog/a...

Autor: Simon K. (simon) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, Analog Devices und Kionix haben auch noch Accelerometers. Gibt mit 
Sicherheit noch mehrere Hersteller.

Autor: Björn R. (sushi)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Knut Ballhause (Firma: TravelRec.) (travelrec) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Michael H* (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: let (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Von mir ein klares womöglich.

Wenn dir klar ist das
a = a / 10;
langsamer ist als
a = a / 8;

brauchst mit asm nicht anfangen wenn du eigentlich in C
programmieren willst.
Erst recht wenn bei
array[i].a = x;
array[i].b = y;
array[i].c = z;
bei dir einige Alarmlampen angehen, kannst du Assembler links
liegen lassen.

Autor: Stefan Salewski (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.