Forum: Mikrocontroller und Digitale Elektronik µC + LCD + Tastatur - newbie


von Gernot Frisch (Gast)


Lesenswert?

Hallo,

mein erster Besuch hier. Ich möchte einen µC Controller programmieren.
Damit möchte ich ein kleines LCD Display ansprechen (240x128 pixel oder
so). Evtl. Möchte ich noch eine std. Tastatur - oder einfach nur 4
Knöpfe anschießen.
Im Endeffekt einen kleinen mini-PDA (mini-Leistung, monster-Größe,
schon klar) selbst bauen.

Jetzt hab' ich noch nie sowas gemacht. Ich kann C programmieren, hab
auch schon für PocketPC programmiert. Aber was brauch' ich, damit ich
die Teile zusammenstecken kann? Ich möchte möglichst wenig kaufen, und
möglichst viel durch Software lösen (also, Pixel ansprechen usw...).

Was muss ich alles kaufen (bitte möglichst exakt) - und wo.

Gibt es die Möglichkeit all das als Software zu "emulieren"?

Wie schnell ist so ein Gerät eigentlich, kann ich damit in etwa einen
alten GameBoy erreichen?

Bitte nicht über mich lustig machen. Danke,
-Gernot

von Eigen (Gast)


Lesenswert?

Das sind ja einige Fragen.
Da hab ich auch welche:
Was für nen Controller verwendest du? Welche Versorgungsspannung
benötigt er und welche braucht das Display? Hast du die passende
Software, zum Programmieren des Controllers?

Wenn dir wer helfen soll, musst du dich schon genau ausdrücken.

von Schoasch (Gast)


Lesenswert?

Naja. du solltest vorerst einmal klein Anfangen, wenn du sowas noch nie
gemacht hast.
Hast du irgendwelche elektrotechnischen Grundkenntnisse? Kannst du
Schaltpläne erstellen bzw verstehen? Und was sehr wichtig ist, kannst
du Englische Datenblätter lesen?

Wie wärs mit folgendem
LCD:http://www.neuhold-elektronik.at/catshop/product_info.php?cPath=41_43&products_id=1808
Da gibt es schon einige Codes dafür, was das ganze ziemlich
erleichtert.

Tastatur oder Tasten sollten kein Problem darstellen. UART (Serielle
Schnittstelle) wäre auch Empfehlenswert.

Das ganze sollte mit einem AVR oder einem PIC zu schaffen sein.
Und die geschwindigkeit eines Gameboy könntest du glaube ich schin
erreichen. Immerhin hatte da alte ja glaube ich "nur" einen Z80
drin.

mfg Schoasch

von Daniel M. (usul27)


Lesenswert?

Also als Anfänger mit C sind die ATMegas sehr schön. Da hat man
ordentliche Entwicklunsgumgebungen gratis und die Aussenbeschaltung der
Teile ist auch minimal.

Als Anfang entweder ein Starterkit oder selbst zusammenstellen:
- ATMega 8 (3 Euro)
- Festspannungsregler 5V
- 3x100uF Kondensatoren
- ein paar Tasten
- ein paar Widerstände 1k und 10k
- ein paar LEDs mit Vorwiderstand (1k ist zum Basteln mal gut, das
reicht, damit etwas leuchtet)
- ein Steckbrett
- ein simples LCD-Display mit paralleler Ansteuerung von eBay (5 Euro)

Exkl. Steckbrett bleibst du da unter 10 Euro.
Die Einzelteile haben den Vorteil, dass man auf dem Steckbrett schnell
noch Aussenbeschaltung für Experimente nachrüsten kann.

von Daniel M. (usul27)


Lesenswert?

Ach ja: Grafikdisplay würde ich später dazunehmen, für den Anfang ist
ein reines Textdisplay besser, da kann man weniger falsch machen ;)

von Tom (Gast)


Lesenswert?

"- 3x100uF Kondensatoren"

100nF!

von Manos (Gast)


Lesenswert?

"Im Endeffekt einen kleinen mini-PDA"
Dir ist aber schon klar, dass darauf dann weder Windows noch Palm
läuft... ein Touchscreen wie ein PDA ist zwar bestimmt auch machbar,
hab ich aber noch nirgendwo mit so feiner Auflösung gesehen.

"Ich möchte möglichst wenig kaufen, ..."
Das hängt immer davon ab was Du bereits alles hast. Benötigen wirst Du
auf jeden Fall eine Spannungsquelle (Netzteil, 4x1,2V Akku,...), ein
Spannungsmessgerät, einen Lötkolben und etwas Erfahrung damit (wäre
zumindest wünschenswert), ein Steckbrett, Lochrasterplatine oder guten
Bausatz, Display, uC und Kleinteile - so als grobe Ausstattung.

"Gibt es die Möglichkeit all das als Software zu "emulieren"?"
Ähm... was willst Du emulieren? Display, Tastatur oder was?

"Wie schnell ist so ein Gerät eigentlich..."
Die Atmels sind 8-20 MIPS schnell (mega instructions per second) -
schneller als ein Gameboy sollte das auf jeden Fall sein, die Frage ist
immer der Anwendungsbereich.

Hier auch gleich meine Anregung:
mach Dir vorher schon so genau wie möglich gedanken, was das Ding
machen und können soll. Wie genau soll die Eingabe aussehen (Tasten,
Poti, Drehencoder, RS232), was soll die Ausgabe alles können
(monochrom, bunt, Text oder Grafik, RS232), was für Werte kommen rein
(Analog, Digital) und welche gehen nach der Verarbeitung wieder raus...
Welche Schnittstellen zu anderen Systemen soll das Gerät haben (1-Wire,
I2C, SPI, RS232, RS485, USB, TCP/IP). Wenn Du da etwa weißt was Du
willst kann man sich auf die Suche machen den uC zu finden - entweder,
bei nicht PDIP-Typen vielleicht als experimentierboard wo der uC schon
gelötet ist oder bei PDIP-Typen kann man als selber basten.
Setz die Wünsche am besten nicht zu hoch an, TCP/IP z.B. ist nicht so
einfach zu implementieren, RS485 und USB sind je nach dem zusätzliche
Bausteine usw.

@Schoasch
Das Neuhold-Display benötigt zusätzliche 12V für die
Displaybeleuchtung.

von Gernot Frisch (Gast)


Lesenswert?

Hui seid ihr schnell!
Mir ist klar, was ich mache. Ich weiß, dass ich viel programmiern muss
um einen Pixel zu setzten und dann Text+Grafik alles selbst machen
muss. Ich hab' noch nie was gelötet. Aber ich bekomm' das schon hin.

Also, jetzt ganz konkret:
Ich will einen Prozessor, den ich in C programmieren kann (mit GCC wenn
geht). Etwa so schnell wie ein GameBoy. Keine Ahnung, welchen ich nehmen
soll. Ich hab gehört Motorolla µC gibts - die hätte ich gerne, wenn nix
dagegen spricht.
Englisch kann ich gut, Schaltpläne hab ich noch nie gemacht, ich kapier
aber langsam die Logik dahinter. (Hab mit einem Kollegen bisserl
geratscht, der hat schonmal was gebaut)


Dann brauch ich so "Schaltblöcke", die nur wenn Spannung an 4 Pins
anliegt alle 8 pins "durchschleifen", und wenn ich die Spannung
nochmal anlege, das durchschleifen wieder beenden.
Damit will ich quasi einen Interrupt programmieren, der dann Display,
Piepser usw. nacheinander "updated". Klar, oder?

Mein Sound"chip" wird ein eigener Microcontroller, der einfach nur
eine digitale Zahl annimmt, und dann ein "Geräusch" dazu ausgibt.
Also, wie ein Midi-Wavetable - nur viel primitiver.

Das Display von Neuhold ist super. 12V für Beleuchtung ist doof. Ich
hätte an 4.5V gedacht (3xAA Batterien z.B.).

Für die Steuerung will ich was Neues. z.B. einen Wärmesensor,
Lichtsensor. Mikrofon und z.B. 2 Drehregler. Oder, was, das die
"Neigung" des Geräts ausgibt. Ich weiß, die analogen muss ich mit
Wiederstand+Kondensator irgendwie digital machen. Hab' aber Zero
Details dazu.

Ach ja - die "Spiele" sollten auf einer SD oder MMC Karte gespeichert
werden. Da wird's wieder schwierig, oder? Wie ist's mit Speicher? Ich
hätte gerne irgendwie so 1024kb, wenn's geht!? Also -
Prozessorspeicher. Zum Rechnen/Bildaufbau/Grafiken.

Nochmal alles zusammenzählen.
Eingabe:   Poti,Wärme+Lichtsensor, SD-Karte
Prozessor: Hauptprozessor, Sound"chip"
Ausgabe:   Piepslautsprecher, LCD Display, SD-Karte

Hab' ich was vergessen?

von AndreasB (Gast)


Lesenswert?

Mensch, das ist zu groß!

"noch nie was gelötet", "Irgendwie ein analoges Signal digital
kriegen", "zero details"...

Es gibt schon uC die einiges können, aber in C musst du schon mehr
machen als einfach wandle() aufrufen - du MUSST deinen Controller schon
kennen und n paar Schaltungsgrundlagen verstehen.

Mach erstmal das AVR-Tutorial hier, initialisiere ein Textdisplay, frag
n paar digitale sensoren ab und mach dann weiter...

Gruß Andreas

von akw (Gast)


Lesenswert?

Nix für ungut, aber für nen Anfänger ist das mehr als n paar Nummern zu
groß! Löt dir erstmal n Board zusammen und bring ne LED zum Leuchten
und dann kannst du weiterschauen!! Sry, aber ist so...

gruß

von Tom (Gast)


Lesenswert?

Ich würd dir Mikrocontroller von Atmel empfehlen..da bekommst hier auch
schnell Hilfe & gute tipps. Eine Auswahl der ucs findest du auf:
http://www.atmel.com/dyn/products/param_table.asp?family_id=607&OrderBy=part_no&Direction=ASC

"Ach ja - die "Spiele" sollten auf einer SD oder MMC Karte
gespeichert
werden. Da wird's wieder schwierig, oder? Wie ist's mit Speicher?
Ich
hätte gerne irgendwie so 1024kb, wenn's geht!? Also -
Prozessorspeicher. Zum Rechnen/Bildaufbau/Grafiken.
"
1Mb??? Programmspeicher?

Du musst dir definitv erstmal ein paar Grundlagen erarbeiten..z.b. mit
dem AVR-Tutorial hier..erst langsam anfangen, was heisst eine LED zum
leuchten bringen mit dem controller, taster einlesen, dann evtl
textdisplay ansteuern, UART, SPI...und das dauert, va. wenn du alles
selber/eigenständig programmieren willst!!(nich abkupfern :))

Grüße

von Ludwig W. (lordludwig)


Lesenswert?

"bring ne LED zum Leuchten" hört sich immer wie ne verarsche an, aber
akw hat recht!!!

Ein art Gameboy is viele nummern zu krass für einen der noch nie mit
uC's gearbeitet hat!!!

Und als Prozessor würd ich dir nen AVR von Atmel empfehlen, da dir
damit sicher am schnellsten und einfachsten einer helfen wird!!! Die
Motorolla hat hier kaum einer und da wird dir auch kaum jemand helfen
können!!!

Und bestellen würd ich das auf keinen Fall beim Conrad, sondern beim
Reichelt (www.reichelt.de)

Viel Glück und Spaß beim Tutorial durchmachen und wenns dazu Fragen
gibt sind wir immer gerne für dich da!!!

von Ludwig W. (lordludwig)


Lesenswert?

Tom war schneler :-(

von Manos (Gast)


Lesenswert?

"Hab' ich was vergessen?"
Deine ungefähre Preisvostellung :)

"Ich hab gehört Motorolla µC gibts - die hätte ich gerne"
Was haben die denn was Du daran gerne hättest? Vielleicht gibt es ja
auch andere die das gleiche können...

"Dann brauch ich so "Schaltblöcke", die..."
Ist mir nicht ganz klar geworden was der Absatz bezweckt. Wenn 4 Bit
gesetz sind liegen am Ausgang diese 4 Bit (natürlich alle "H") sowie
weitere 4 Bit mit variablen Zustand an? Oder sind die variablen 4 nicht
Bit sondern Analogwerte?

"Mein Sound"chip" wird ein eigener Microcontroller"
Ist wahrscheinlich gar nicht nötig - je nach dem könnte das der
"Hauptprozessor" mitmachen.

"Für die Steuerung will ich was Neues. z.B. einen Wärmesensor,
Lichtsensor. Mikrofon und z.B. 2 Drehregler. Oder, was, das die
"Neigung" des Geräts ausgibt."
Wärmesensor und Listsensor sind wahrscheinlich nur einfache
Analogeingänge mit etwas Beschaltung davor. Mikrofon benötigst Du
meines wissens auf jeden Fall eine Art Vorverstärker und dann ist die
Frage, was du dann mit dem Mikrofonton machen willst. Drehregler gibt
es verschiedene Arten... ein Poti - wieder Analogwert oder ein
Drehencoder der dann endlos ist und Digitalimpulse zurückgibt.
Neigungssensoren sind glaube ich nicht billig.

"Ich weiß, die analogen muss ich mit Wiederstand+Kondensator irgendwie
digital machen."
Interessante Idee aber falsch :) das ist eher die möglichkeit um aus
einem PWM-Signal ein Analog-Signal zu machen (preiswerte Form der
D/A-Wandlung). Es gibt unterschiedliche technische Verfahren um aus
Analog Digital zu machen (siehe z.B. Wikipedia), aber damit muß man
sich eigentlich nicht beschäftigen, da es entweder uC's mit
A/D-Eingang gibt oder solche Bausteine die man dann mit einem uC
einfach ausliest.

"die "Spiele" sollten auf einer SD oder MMC Karte gespeichert
werden."
Sollte z.B. bei Atmels kein größeres Problem werden, da man SD/MMC mit
wenigen Bauteilen (Spannungsregler für 3,3V, Kondensatoren für
Spannungsregler, Widerstände) an die SPI-Schnittstelle anhängen kann.
Der Rest ist Software :)

Die Frage ist immer noch, was soll Dein Programm machen? Animierte
Grafik evtl. mit Farbe? Die Standard-uC's mit denen hier meist
gearbeitet wird sind PIC oder AVR (Atmel) - beide nur mit 16 Bit
Speicherbreite (64k). Wenn das nicht reicht geht es schon Richtung ARM
die dann allerdings für ungeübte Löter nicht mehr selber zu verarbeiten
sind - da muß man sich dann ein Experimentierbaord zulegen wie es z.B.
hier im Shop angeboten wird.

von Gernot Frisch (Gast)


Lesenswert?

Ach geh... Auf LED Leuchten hab ich halt überhaupts keine Lust ;)

Was seh' ich falsch:
- Der Prozessor kann (8?) pins prüfen, ob Strom da, oder nicht (1
byte)
- Der Prozessor kann dann 8 andere pins mit Strom versorgen
- Ich scheib' ein Programm, dass mit den 8 ausgangs-pins ein
  Schaltelement ansteuert, dass dann wiederum alle meine 8
  ausgangs-pins an ein anderes Gerät (Display) weitergibt,
  oder eben nicht mehr.
- Das Display erwartet irgendwie ein Signal, dass dann das Bild
aufbaut
  das kann doch auch der Microcontroller generieren, oder?

Ich mein - wo ist das Problem?

Nochmal zum Speicher: Irgendwie muss ich ja auf schnellen Speicher
zugreifen können. Ist das wieder ein Baustein, den ich über meinen Bus
ansteuern muss? Wird's dadurch kompliziert?

von Manos (Gast)


Lesenswert?

Nachtrag zu SD/MMC und "Spiele"
Bei AVR's ist der Programm und Datenspeicher getrennt. Der
Programmspeicher wird "geflasht". Im Datenadressraum, wo man
normalerweise auch die Daten der SD/MMC hinladen würde kann kein
Programmcode ausgeführt werden. Zwar bieten die AVR's die Möglichkeit,
aus dem Programm raus das Programm neu zu flashen (auf die Art könnte
man theoretisch dann auch neue Programme in den uC bekommen) allerdings
dürfte das einen erheblichen Programmieraufwand darstellen und ist auch
nur für max. 10.000 Schreibzyclen zugesichert.

Kurz gesagt - Programm starten von SD/MMC ist bei den AVR's nicht.

von TheMason (Gast)


Lesenswert?

@gernot

ich schließe mich mal den anderen an und sage : bring echt erstmal eine
led zum leuchten/blinken/dimmen. im ersten schritt mit einer einfachen
warteschleife im zweiten mit timer und irq. wenn du dann die ports/irqs
beherrschst würde ich mich an die schnittstellen ranmachen
(uart/spi/i2c) und dann mit displays (erst text und dann grafik)
vorteil : als newbie lernt man immer stückchenweise dazu und bekommt
dann auch den zusammenhang zw. software und hardware (was manche reine
softwerker, wie ich selbst :-), gerne mal übersehen (hab inzwischen
dazugelernt :-), aber nicht viel *gg)
aber mal eben eine kleine anmerkung :
1MB ?! 1024kB ?! auf einem controller ?!
vergiss es ...
es sei denn du nimmst einen arm mit externem speicher-interface (ist
für einen newbie aber tausendfach oversized und zuviel).

gruß
rene

von Manos (Gast)


Lesenswert?

"- Ich scheib' ein Programm, dass mit den 8 ausgangs-pins ein
  Schaltelement ansteuert, dass dann wiederum alle meine 8
  ausgangs-pins an ein anderes Gerät (Display) weitergibt,
  oder eben nicht mehr.
- Das Display erwartet irgendwie ein Signal, dass dann das Bild
aufbaut das kann doch auch der Microcontroller generieren, oder?"
8 Pinne einzulesen und auf andere 8 Pinne wieder auszugeben ist
wahrlich nicht das Problem - nur mit Deinem Schaltelement hab ich so
meine Probleme :)
Ein Display erwartet eine Bytefolge bestehen z.B. aus Initialisierung,
Curserposition setzen und Text bzw. Punkt setzen oder löschen. Ein
"Bild" muß entweder - wenn es statisch ist aus dem Speicher gelesen
werden (unabhängig davon welcher) und als Bytefolge übertragen werden.
Ist es nicht statisch muß der uC halt die Punkte oder Linien erst
berechnen und diese dann übertragen.

"Nochmal zum Speicher:"
Mit wieviel Speicherbedarf rechnest Du denn? Ein wenig Speicher ist für
gewöhnlich vorhanden (RAM) - allerdings nicht wirklich viel.

von Gernot Frisch (Gast)


Lesenswert?

OK. Nachdem AVR und MMC-execution nicht ist, werde ich mal AVR + LED
machen. Und ich werde keinen Spaß daran haben. Ich bau ein "tolles"
Spiel, wo eine Lampe zufällig angeht, und dann muss man einen Knopf
drücken, und je nach dem ob man schneller als 0.5 sek war leuchtet eine
rote oder eine grüne LED als bestätigung. Ich sterbe vor Langeweile,
aber ich mach's.
...und dann aber ARM und LCD ;)

von akw (Gast)


Lesenswert?

Ich glaube, du verstehst net wie des mit dem Display funktioniert... Du
brauchst kein "Schaltelement". Das Display wird einfach an die PIns
des UCs angeschlossen, dabei gibt es verschiedene Leitungen z.B. die
Data-Leitungen auf denen die Daten ins Display kommen usw.
Les echt mal das Tutorial durch...

von Gernot Frisch (Gast)


Lesenswert?

Display hab' ich schon kapiert. Aber: wenn ich nur 8 pins ausgang habe,
und Das Display 8 pins braucht, dann brauch ich noch 8 pins für den
Sound, also: Problem. Dazu wollte ich ein Steuersignal schicken, das
eben jetzt nur das Gerät LCD aktiviert, dann die bytes für das Display
schicken, dann Soundgerät aktivieren, Soundbytes schicken usw...
Naja, für meine Idee brauch ich eh' einen ARM, also bau' ich mal was
mit LEDs - ist auch billiger. Und dann erst meinen KlumpBoy.

von Tom (Gast)


Lesenswert?

Wir versuchen dir lediglich zu sagen, dass das ein sehr anspruchsvolles
Projekt ist und nicht für Greenhorns geeignet ist.

Wir versuchen dir nur mitzuteilen dass du, WENN du das hinkriegen
WILLST, langsam anfangen sollst um die Grundlagen zu lernen &
verstehen...aber du kannst natürlich auch gleichn VGA display
ansteuern, wenn du meinst...

Hier lautet des Motto eher: "Der Weg is das Ziel..und wenn das Ziel
erreicht is machen wir uns wieder auf den Weg" ;o)

von akw (Gast)


Lesenswert?

Wie kommst du auf 8 Ausgänge? Du hast bei nem Mega32 vier mal acht
Ausgänge/Eingänge, also 32 und somit massig Platz!

von TheMason (Gast)


Lesenswert?

@gernot

beim display hast du die steuerleitungen (rw/cs/enable) vergessen ...

nochmal zum thema blinking leds.

es geht nicht darum das das "jeder" so macht. klar kann man andere
wege gehen. aber bevor man sich nicht mit richtungsregistern,
special-function-registern, interrupts (vor allem in verbindung mit
ports) auskennt wirst du viel eher frustrierter sein wenn etwas nicht
klappt und u.u. dein controller abraucht (kann bei falscher beschaltung
und einem zufällig falsch gesetzten bit leicht passieren)
und was ist nerviger als ständig einen neuen controller kaufen zu
müssen weil man ein richtungsbit falsch gesetzt hat und einen portpin
dadurch kurzschließt ?! (ist mir auch schon passiert)
außerdem : ein avr ist billiger als ein arm und für einen newbie
einfacher zu händeln (alleine schon vom löten her)

gruß
rene

von Gernot Frisch (Gast)


Lesenswert?

unterscheidet sich die Programmierung eines ARM von der eines AVR, wenn
ich C verwende?

von akw (Gast)


Lesenswert?

Weiß ich nicht, da ich nichts mit ARMs zu tun hab... Aber ich würd sagen
du brauchst auch keinen ARM.... schon garnicht am Anfang... schau mal
hier, es geht auch so..

http://www.mikrocontroller.net/forum/read-4-336756.html

von TheMason (Gast)


Lesenswert?

die programmierung an sich nicht. c-code ist c-code. das wichtigste sind
die unterschiede auf hardware-ebene. (und da sind die unterschiede
mitunter riesig ....)
mal kann man einen port-pin als uart (rx oder tx) verwenden, mal als
eingang, mal als ausgang.
und da liegen die unterschiede (die sich natürlich auch auf die
programmirung auswirken)
und von daher sollte man klein anfangen. um eben die unterschiede
kennenzulernen, sich ne library aufzubauen und im nächsten schritt eine
standard-programmier-schnittstelle entwickeln mit der man die ganzen
unterschiede obsolet macht (zumindest aus sicht einer anwendung, und
sofern dies möglich ist)

von Ludwig W. (lordludwig)


Lesenswert?

klar, AVR <> ARM

von Schoasch (Gast)


Lesenswert?

ICh würde dir auch einmal empfehlen ein paar Grundlagen zu lernen.
Bleib lieber bei den 8-Bit µC (AVR und PIC ) und nimm keine ARMs, denn
diese sind von der Hardware her etwas komplizierter... vorallem gibts
ARMs nur in SMD Gehäuse... da hast du als ungeübter sicher Probleme
beim löten.

Achja... die LED blinkerei ist eigentlich gar kein schelchter anfang.
Damit ein LED blinkt musst du nur ein Bit setzen oder löschen. Und bei
allen anderen Sachen gehts prinzipiell gleich. Also entweder das Bit
auf 1 oder auf 0 setzen ;-).. ganz vereinfacht :D.

Die PICs wären auch vl eine Überlegung wert. Dafür gibts entweder SDCC
oder das MPLAB+C18(wenn du die PIC18F nehmen willst, was ich dir
empfehle).WEnn du zb einen PIC18F2550 nimmst(kostet so um 7Euro), dann
hast du gleich eine USB-Schnittstelle(die du nach Herzenslust selbst
programmieren kannst) mit an Board.

Grundlagen zu den PICs gibts unter www.fernando-heitor.de und
www.sprut.de

von MaG2k (Gast)


Lesenswert?

Hallo Leute,

ich bin heute das aller erste mal hier in diesem Board mit richtiger
uc-Abition. Also endlich mal etwas im Hinterkopf das ich als Ziel habe.
Ich bin also auch noch absoluter newbie aber Leute ihr seid total Lieb
das ihr wirklich auch dem aller neusten Newbie helfen wollt. Ich weiß
bisher nicht viel über uc-Programmierung, aber Gernot wei mir nicht
böse wegen dieser Frage...willst du die Leute hier veralbern???

Mal kurz in Worten das zusammengefasst was ich bisher innerhalb der
letzten 15 Minuten in dem ich diesen Thread durchgearbeitet habe von
dir gelesen habe....
>>> ich will da so'n Spiel programmieren...Ich brauch dazu nen UC aber
es soll ein Motorola sein (warum auch immer)...Ich brauche riesig viel
Speicher dazu und die Ansteuerung ist ganz einfach das habe ich schon
mal prinzipiell mit einem Kollegen durchgesprochen...Ich habe da 8
Leitungen und da müssen die Signale durchgereicht werden an das
Display...u.s.w.

Ähm dir ist aber schon klar das nen Gameboy auch nicht an einem Tag
entwickelt wurde und schon gar nicht von einer Person allein.
Einfach mal nur eine Frage an dich Gernot...hast du schon mal in C
programmiert? Wenn nicht...dann fange bitte wirklich erstmal bei Null
an bevor du in die vollen gehst.
Ich habe hier nun schon einige Listings gesehen...wenn du mal schauen
willst wie aufwendig es für einen Newbie ist ein Grafikfähiges Display
anzusteuern, dann schau dich mal hier in den anderen Threads um. Ich
habe mir eben mal ein Thread über die Ansteuerung eines 128x64
Pixel-Displays angeschaut (habe dieses Display auch hier und würde das
gern mal nutzen wollen). Der Thread wurde letztes Jahr eröffnet und
eine konkrete Lösung gibt es bis heute dafür noch nicht.
Also mal schnell ne Kiste genommen wo ich eine Hand voll Bauteile
hineinwerfe und dann mal kräftig alles schüttle und schon gehts...is
definitiv nicht...also es sei denn du möchtest einfach nur eine Rassel
bauen...das geht auch billiger!

Also von Newbie zu Newbie...es ist schön wenn man ein Ziel vor Augen
hat - das habe ich auch. Aber du solltest dir im Klaren darüber sein
das es monate dauern wird bist du soweit bist das wirklich zu
realisieren!
Ich will dich hier nicht als dumm darstellen...aber du musst dir
wirklich erstmal klar werden was es heißt sowas zu entwickeln. Die Idee
ist wirklich schön...klingt zumindest spannend...aber bis zum fertigen
Produkt wird es ein langer weg sein.
Erstmal kleine Brötchen backen lernen bevor du dich ans Brot wagst!

Viele Grüße
MaG2k

von Gernot Frisch (Gast)


Lesenswert?

Programmieren kann ich. Ich ahb's auch auf dem PocketPC alles selbst
gemacht (www.glbasic.com). Die paar Zeilen um einen Speicherbereich in
so ein LCD Display zu wuchten hab ich sicher auch schnell getippt. Nur
das mit der Hardwarebastellei... uiuiui ;)
Der Thread mit dem Tetris ist übrigens sehr gut. Ich werde mich nach
meinen LEDs daran halten.

von Bjoern M. (salival)


Lesenswert?

Selig sind die Unbelehrbaren. Ich bin schon gespannt, wann du dich das
erste mal per Fusebits aus dem Controller aussperrst und hier nach
Hilfe bettelst :)

Nimms mir nicht uebel, aber es will dich wirklich keiner schikanieren.
Arbeite das Tutorial durch und du kannst mitreden. Es ist was anderes
mit fertiger Hardware zu arbeiten und nur die Software zu schreiben,
oder das ganze von Grund auf mit eigenen Haenden zu loeten.
Naja, vielleicht bist du die grosse Ausnahme und schaffst, woran schon
viele vor dir gescheitert sind. Man kann nicht bei 0 anfangen und
gleich etwas komplexes zum laufen bringen.

gruss, bjoern.

von mr.chip (Gast)


Lesenswert?

Hallo

Ich kann den Skeptikern hier nur beipflichten. Es sind alles Leute, die
sich mit der Thematik auskennen und die auch mal Anfänger waren.

 Dein Projekt ist definitv ein paar Schuhnummern zu gross, da nützen
alle C-Kenntnisse nichts. Ist dir auch schon aufgefallen, dass du
überall von 'irgendwie schon hinkriegen' etc. sprichst? So kommen
einem in der Tat auch die verrücktesten Projekte relativ einfach vor.
Aber überlege dir mal, wie du alles im Detail bis hinunter auf
Bauteil- (Hardware) bzw. Befehls- (Software) Ebene lösen willst. Merkst
du etwas?

Wenn dich die Mikrocontroller-Programmierung wirklich interessiert,
dann wirst du wohl das Interesse haben, ein Tutorial durchzuarbeiten.
Du wirst sehen: Man macht schnell Fortschritte und bald sind erste echt
interessante Projekte möglich. Du wirst dann schnell den Aufwand und die
Komplexität von noch grösseren Projekten einschätzen können.

Wenn du hingegen lediglich den Ehrgeiz hast, einen eigenen PDA zu
bauen, dann würde ich mich eher nach Fertig-Hardware umsehen. Gameboys
sollen ja z.B. eine interessante Plattform dafür darstellen.

Gruss

Michael

von Thomas K. (thkais)


Lesenswert?

@Gernot: Lade Dir mal das Datenblatt des Controllers des 240x128 LCDs
herunter. Um es abzukürzen: Ist ein T6963 von Toshiba.
Es müssen Timings eingehalten werden, der Speicher des LCD muss
definiert werden etc. Da gibt es viele, viele Fussangeln, und als
Anfänger wirst Du da hineinstolpern.
By the way: C-Code ist nicht portabel. Bei µC wird derartig hardwarenah
programmiert, dass kein C-Code ohne sehr große Änderungen auf einem
anderen µC funktionieren wird.
Zur Rechenleistung: So weit ich weiß, werkelt im Gameboy ein
6502-Derivat mit einer Taktfrequenz um die 4MHz (man korrigiere mich,
falls das nicht stimmt). Ein entsprechend getakteter AVR erreicht diese
Leistung spielend.

von Schoasch (Gast)


Angehängte Dateien:

Lesenswert?

Und was der grosse unterschied zu einem COmputer programm ist, was man
am anfang vl etwas übersieht ist, der µC kann kein Multi-Threading...
oder ist es halt sehr schwer erreichbar. Also kannst nicht einen Thread
fürs Display und einen für die Tasten nehmen. Da musst du dann schon
aufs Timing achten. Was das ganze ziemlich komplex macht.
Was auch noch anderst ist, ist die Speicher verwaltung. am PC nimmst du
zb einfach ein etwas grösseres Arry.. ist ja wurscht.. beim µC siehts
etwas anderst aus ;-).

Achja.. wenn du ein Grafik-LCD ansprechen willst und du aber alle
Routinen selbst machen willst.. also echt jedes Pixel selbst setzen
willst, dann schau dir das Datenblatt des LM215XB (im anhang)an... Da
wirst du dann gleich einmal etwas zum tun haben ;-)
Beachte vorallem das Timing ;-)

mfg Schoasch

von Alex Trusk (Gast)


Lesenswert?

ich denke mal der groesste unterschied ist, dass man beim µc nicht
einfach loslegen kann, spiele zu coden, sondern erstmal "treiber"
schreiben muss. ausserdem kann man nicht auf ein betriebssystem
aufbauen, sondern muss auch das erstmal schreiben, wenn man threads usw
braucht. und zwischen spielchen coden und betriebssystem entwerfen gibts
halt "leichte" unterschiede :)

von Gernot Frisch (Gast)


Lesenswert?

Ja. Das mit der Progammierung ist mir alles klar. Ich mach auch ein
Tutorial und bring' LEDs zum leuchten. Ihr habt ja recht. Ich hab auch
nicht Programmieren gelernt, indem ich Doom4 geschreiben hätt.

von Manos (Gast)


Lesenswert?

Noch eine Idee...

versuch ein serielles Kabel für Dein PDA zu bekommen, und schließ die
Hardware (Neigungsmesser, Temperatur, Licht, evtl. Schalter) dann an
einen uC an und übertrag die Werte dann über die serielle Schnittstelle
auf das PDA.

Dort hast Du dann ein Farbdisplay mit einem Compiler den Du kennst,
ausreichend Speicher und Programme die Du von SD/MMC nachladen kannst.

Damit müßtest Du nur ein kleines Programm für den uC schreiben (was
immer noch eine menge Arbeit ist) und kannst die Hauptauswertung dann
auf dem PDA unter Windows machen.

Dennoch würde ich mich auch erstmal mit einfachen Schaltungen in die
Programmierung von uC's einarbeiten. Dann würde wahrscheinlich auch -
je nach dem was Du alles an Hardware auswerten willst - ein Mega8
reichen.

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
Noch kein Account? Hier anmelden.