Hallo Liebe MikroController Community,
ich programmiere seit dem ich 12 Jahre alt bin mit C++ unter Windows.
Ich war bisher in Bereichen wie der Spiele Programmierung aktiv. Ich
möchte mich jetzt in den Bereich der Hardware wenden und habe den
Gedanken irgendwann eine kleine Spiele-Konsole zu bauen / programmieren
mit kleinen Spielen wie Ping-Pong. Ich bin sehr neu in der Welt der
MikroController und sie hat mich sofort mitgerissen. Eine tolle Seite
ist das hier. Jetzt zu meinen eigentlichen Thread. Ich habe hier ein
paar Bestellungen und möchte damit mein ersten MikroController
programmieren / bauen. Könnt ihr mir sagen, ob das damit alles klappen
wird oder ob ich was anderes noch brauch ? Ich habe am Anfang an ein
7-Segment Anzeige gedacht.
- SainSmart UNO R3 ATMEGA328P ATmega16U2 Microcontroller
Entwicklungsboard
- Neu 0.56" Inch 4 Stelligen 7 Segment LED Display Rot Numerische
Digital
Anzeige ( eBay Artikelnummer: 121250933203 )
-> Da ich hier nicht genau weiß, ob ich dort nicht irgendein No-Name
Teil habe, ohne zu wissen, wie ich es anspreche mit den Wiederständen
ect. überlege ich ein 7-Segment aus Conrad direkt zu kaufen, wo ich mir
dann sicher bin, wie ich es anspreche.
Für später mal:
- 65 x Drahtbrücken Jumper Wires Steckbrücken für Breadboard Steckboard
- Steckbrett Breadboard Experimentierboard Steckplatine 830 Kontakte
Hm, wenn nur etwas " rumspielen" magst und es ein AVR 8 Bitter sein
soll... und es preiswert sein soll, kannst du dir das oben beschriebene
Besorgen... Wenn du Zeit hast (weil aus China daiern Lieferungen) besorg
dir ATmega 328 Chip, ein USBasp oder USBtiny Programmer, ein Steckbrett,
ein 5 Volt geregeltes Netzteil (oder ein Breadboardadapter umdie 5 Volt
des USB Anschlusses aufs Steckbrett zu führen) und ein sw Display 5110
( Display vom Nokia Handy)
Ich würde beim blauen C NICHT kaufen wenn es nicht nötig ist. Die Preise
sind sehr hoch, die Auswahl ist niedrig usw...
Du kannst zB. bei Sammelbestellungen mit machen oder selber bei mouser
bestellen.
Ist Arduino das richtige für ich ?
Ich finde das Pinout ist eine einzige Fehlkonstruktion...
Auch solltest du überlegen ob du nicht gleich bei ARM chips einsteigst,
da gibts sehr sehr viele development boards zu recht niedrigen Preisen !
LPC, STM, TI...
https://estore.ti.com/LaunchPads-C194.aspx
Ich empfehle dir als ersten einen echten Arduino. Dann weißt du
wenigstens, ob es an der Hardware oder was anderem liegt. Wenn du dem
Chinaclone nicht über den Weg trauen kannst und anfangs noch keinen Plan
hast, ist das eine denkbar schlechte Ausgangsposition. Ansonsten ist ein
UNO oder Duemilanove (möglichst mit DIL Chip) ein guter Anfang.
65 Steckbrücken finde ich etwas wenig. Nimm 2 oder 3 Packs davon. Dann
ein Widerstandssortiment mit allen E-Werten. 10x jeder Wert langt völlig
für den Anfang. Dann ein Elko-Sortiment von ca. 10µ-1000µ 16-25V
Keramik-C's 22p, 10n, 100n, Ein Transistorsortiment mit kleinen npn und
pnp Typen und dann noch 1-2 LCD-Displays 2x16 oder 20 und vielleicht 6x
LED Siebensegmentanzeigen (gemeinsame Anode) und ein paar
unterschiedliche LEDs verschiedener Farben. Dann noch ein Netzteil 5V
und 12V 1-1,5A
Wenn du größere Ambitionen hast, dann auch gerne ein Labornetzteil von
Null bis 30V.
Das Meiste davon bekommst du z.B. bei Pollin.
Das ist schon mal ein guter Start.
Gruß Gerald
Ersteinmal Danke, wie viele Leute hier so schnell Antworten. Da legt man
sich 30 Minuten kurz schlafen und schon sind hier 3 Antworten, klasse =)
Ich habe vergessen, das ich in Ende des Monats Geburtstag habe und am
Anfang des Monats wieder Geld gibt. Das heißt also, ich habe mehr Geld
Verfügung und kann auch wo etwas kaufen, wo die Bestellung etwas länger
brauch. Jetzt noch mal zu meinen eigentlichen Projekt. Ich möchte gerne
eine Spiele-Konsole via VGA oder SCART Kabel bauen / programmieren, oder
eine Spiele-Konsole mit einen LCD. Wie sie jetzt aussieht, ist egal. Es
ist ja nur für mich und zum ausprobieren ect. Dann wäre es ja vielleicht
gut, direkt mit der Planung für bessere Hardware und nicht erstmal
Anfänger-Zeug zu kaufen, womit ich später nichts mehr anfangen kann.
Denn die Hardware für ein LED Blinker mit ein Arduino Board zu bauen und
programmieren ist für mich schon mehr als Einfach .. Ich stelle mir
schon vor, bei einen Mikrocontroller zu bleiben. An einen ARM-SoC habe
ich auch schon gedacht, aber dann ist die Leistung so viel das ich es
irgendwie doof finde. Mit einen ARM-SoC kann ich gleich zu Android
greifen und ein Spiel programmieren und das habe ich schon. Ich möchte
mich wirklich mit Mikrocontrollern geringer Leistung befassen und kleine
Spiele wie Ping-Pong programmieren und vlt. später auch eine Art Gehäuse
aus z.B. Holz machen. Bei mir sind natürlich noch viele Fragen offen,
bei der Planung. Es fängt dabei an, wo ich bestellen soll. Welcher
Mikrocontroller ausreichen wird. Wie ist es eigentlich mit der PIN
Belegung. Ich habe gesehen, das die CHIPS immer eine bestimmt Anzahl von
Schnittstellen ( Pins ) hergeben und was ist wenn man mehr brauch ? Und
wie sieht es aus, kann man auch auf ein Board wie Arduino verzichten und
sich direkt ein eigenes bauen ( erstmal auf ein Steckboard )? Und kann
man bei Mikrocontrollern auch z.B. GPU für Grafik oder ein schnellen RAM
mit benutzen, damit man ein flüssiges Bild später hat ? Vielen Dank
Leute, hoffe auf Antworten.
LeonBerlin17 schrieb:> Und kann> man bei Mikrocontrollern auch z.B. GPU für Grafik oder ein schnellen RAM> mit benutzen, damit man ein flüssiges Bild später hat ?
Schau, da liegt dein Fehler meiner Ansicht nach !
Es gibt sicher Development Boards für 20-40€ die alles bereits haben und
du nichts erweitern musst !
Zwischen einem ARM Chip der in einem Android Gerät steckt und einem Arm
Chip von einem 20€ Development Board steckt gibts riesige Unterschiede !
Die chinesen sind ausserdem auch nicht so extrem schlecht bei der
Qualität.
Und wenn mal was nicht funktioniert lernst du zumindest wie man auf die
Fehler kommt.
LeonBerlin17 schrieb:> Mikrocontroller ausreichen wird. Wie ist es eigentlich mit der PIN> Belegung. Ich habe gesehen, das die CHIPS immer eine bestimmt Anzahl von> Schnittstellen ( Pins ) hergeben und was ist wenn man mehr brauch ? Und> wie sieht es aus, kann man auch auf ein Board wie Arduino verzichten und> sich direkt ein eigenes bauen ( erstmal auf ein Steckboard )?
mit einem Steckboard bist du wirklich flexibler: findest du billig aus
China (ebay zum beispiel).
AVR Mikrocontroller kriegst du bei mouser (wie oben schon geschrieben),
aber wenn du nicht gleich 50 oder 100 Stück brauchst, lohnt sich das
normal nicht. Es bleibt z.B. Conrad und Reichelt aber schau dir auch die
anderen Lieferanten an: Elektronikversender Am billigsten ist
meistens guloshop.de, aber die haben nur die wichtigsten Teile, so dass
du oft sowieso noch woanders bestellen musst.
Die meisten Microcontroller sind nicht für (schnelle) Grafik gemacht.
Das ist einfach nicht deren Anwendungsgebiet. Man kann natürlich etwas
programmieren, das nachher ein Fernsehsignal ausgibt, aber wirklich
glücklich wird man damit nicht.
Ich rate daher davon ab. Such dir eine Anwendung, die dich interessiert
und für die sich Microcontroller auch eignen.
Falls du dich nicht von deinen Grafik-Ambitionen abbringen lassen
willst, ist vielleicht der Parallax Propeller noch am ehesten geeignet.
Das ist ein wenig verbreiteter Spezialchip mit seltsamer Architektur,
aber Parallax sieht vor, dass man damit Videosignale erzeugen kann, was
dann auch entsprechend unproblematisch geht.
LeonBerlin17 schrieb:> ich programmiere seit dem ich 12 Jahre alt bin mit C++ unter Windows.
Die Information ist nur dann wertvoll, wenn du bekanntgibst, wie alt du
bist. Ansonsten kann sich keiner aus der Information was raus errechnen
;)
Ich nehme aber mal an, dass du 17 bist (entsprechend des Namens),
ansonsten kann man damit nichts anfangen.
LeonBerlin17 schrieb:> Jetzt noch mal zu meinen eigentlichen Projekt. Ich möchte gerne> eine Spiele-Konsole via VGA oder SCART Kabel bauen / programmieren, oder> eine Spiele-Konsole mit einen LCD.
Das hört sich für mich bisher so an, als ob du mehr machen möchtest, als
"nur" einen Mikrocontroller zu programmieren. Ich kenne zwar
Mikrocontroller, die LCD-Displays ansteuern können, jedoch keinen mit
VGA- oder SCART-Anschluss. Diese Schnittstellen werden doch eher im
oberen Leistungssegment eingesetzt, wo man auf SoCs oder FPGAs zurück
greift.
LeonBerlin17 schrieb:> Dann wäre es ja vielleicht> gut, direkt mit der Planung für bessere Hardware und nicht erstmal> Anfänger-Zeug zu kaufen, womit ich später nichts mehr anfangen kann.> Denn die Hardware für ein LED Blinker mit ein Arduino Board zu bauen und> programmieren ist für mich schon mehr als Einfach .. Ich stelle mir> schon vor, bei einen Mikrocontroller zu bleiben.
Also du solltest dich schon in die richtige Hardware einarbeiten. Jedoch
solltest du dir überlegen, ob dies ein Mikrocontroller sein soll. Ein
Pong-Spiel kann man gut mit einem Mikrocontroller programmieren, jedoch
erreichst du dann auch schnell die Grenzen.
Ich würde dir daher zu folgendem Raten:
Schau dir mal bei Wikipedia an, was für Prozessoren in den
unterschiedlichen Gameboy-Serien verbaut sind. Dann erst überlegst du
dir, zu welchem System du äquivalent sein möchtest und rechnest du auf
die Leistungsangaben 50% rauf (also die von dem Gameboy - du solltest
bedenken, dass Nintendo die Systeme sicherlich angepasst hat und die
Spiele von Profis programmiert wurden, was du ausgleichen musst - durch
mehr Leistung). Dann kannst du dir einen Mikrocontroller raussuchen (es
werden nicht viele sein - vielleicht keiner).
LeonBerlin17 schrieb:> An einen ARM-SoC habe> ich auch schon gedacht, aber dann ist die Leistung so viel das ich es> irgendwie doof finde. Mit einen ARM-SoC kann ich gleich zu Android> greifen und ein Spiel programmieren und das habe ich schon. Ich möchte> mich wirklich mit Mikrocontrollern geringer Leistung befassen und kleine> Spiele wie Ping-Pong programmieren und vlt.
Du hast die Sachen schon richtig erkannt. Mit einem ARM-SoC wird es eher
auf ein Betriebssystem heraus laufen. Auch sind Mikrocontroller wirklich
spannend und ein Einstieg in die Thematik ist lobenswert (gibt auch
viele Jobs später). Du solltest dir aber überlegen, ob es wirklich
Spiele sein sollten. Mikrocontroller sind einfach nicht dafür gedacht um
mit ihnen zu Spiele zu realisieren. Das Hauptaugenmerk liegt einfach in
der Steuerung von Maschinen und Co.
LeonBerlin17 schrieb:> Welcher> Mikrocontroller ausreichen wird.
Wie gesagt: Vielleicht keiner...
LeonBerlin17 schrieb:> Wie ist es eigentlich mit der PIN> Belegung. Ich habe gesehen, das die CHIPS immer eine bestimmt Anzahl von> Schnittstellen ( Pins ) hergeben und was ist wenn man mehr brauch ?
Also Pins sind auch Schnittstellen in dem Sinne aber man redet dann doch
eher von den Peripheriebausteinen als Schnittstellen. Die einfachen IO
Pins kann man auch extern erweitern.
LeonBerlin17 schrieb:> Und> wie sieht es aus, kann man auch auf ein Board wie Arduino verzichten und> sich direkt ein eigenes bauen ( erstmal auf ein Steckboard )?
Man kann sich eigene Boards bauen, dann braucht man aber immer noch
einen Chip und dann landest du nur bei einer schlechteren Geschichte als
ein gekauftes Board. Also für den Einstieg überhaupt nicht sinnvoll!
LeonBerlin17 schrieb:> Und kann> man bei Mikrocontrollern auch z.B. GPU für Grafik oder ein schnellen RAM> mit benutzen, damit man ein flüssiges Bild später hat ?
Ein Mikrocontroller ist nicht wie ein Computer. Die Weisheit ist, dass
auf einem Chip alles schnell geschehen kann. Verlassen die Leitungen
jedoch den Chip kommst du in eine langsamere Welt.
Also du kannst nicht den RAM austauschen. Du kannst zusätzlichen RAM
extern anschließen aber es wird höchstens mehr und nicht mehr schneller.
Von einer GPU für Mikrocontroller habe ich noch nie etwas gehört. Wenn
man mehr Erfahrung hat könnte man einen Mikrocontroller auf einen FPGA
packen und sich eine GPU selbst entwickeln und diese mit dem Prozessor
verbinden.
Ansonsten kann ich jetzt nur noch auf einen Mikrocontroller der oberen
Leistungsebene verweisen, den du auf einen günstigen Testboard bekommst,
welches ein LCD Touch Display dabei hat (der Händler ist auch sehr gut).
http://www.watterott.com/de/STM32F429I-Discovery
Du solltest dir aber wirklich bessere Gedanken machen, was du machen
möchtest und womit du es lösen möchtest. Mikrocontroller sind toll und
spannend, jedoch nimmt man sie nicht für Spielekonsolen...
Das die Mikrocontroller so wenig Leistung haben, weiß ich ja. Das ist ja
einer der Gründe, warum ich so ein einfaches Spiel wie Ping Pong, Tetris
auf Viereck Basis programmieren will. Auf Pollin habe ich schon ein paar
Bildschirme sehr billig gefunden. Nur bin ich kein Fan von fertigen
Dingen, ich mag es bis auf's letzte alles selber zu machen. Deswegen
würde ich gerne ein eigenes Board mit einen Mikrocontroller und einen
LCD Bildschirm bauen und als Programm ein Tetris oder Ping Pong.
LeonBerlin17 schrieb:> Nur bin ich kein Fan von fertigen> Dingen, ich mag es bis auf's letzte alles selber zu machen.
Kauf dir mal das STM32F429 Discovery, programmier darauf dein Spiel und
versuch dann die Hardware selber (nach) zu bauen.
Du wirst merken, hier kommt einiges auf dich zu und nachdem das ein
komplett neue Bereich ist würde ich nicht beides auf einmal versuchen.
Zum Schluss funktioniert nur irgendwas in deinem Code nicht und du
kommst einfach nicht auf den vielleicht Hardwareseitigen Fehler.
Also einfach mal kleinere Schritte in die neue Welt..
Marius P. schrieb:> Kauf dir mal das STM32F429 Discovery, programmier darauf dein Spiel und> versuch dann die Hardware selber (nach) zu bauen.
Das.. ist ein sehr gutes Board (und im Netz hab ich irgendwo gesehen,
dass da einer ein dem originalen PacMan sehr ähnlichen Clone
programmiert hat. Die "KI" dafür wie die Geister den PacMan verfolgen
ist nicht soooo trivial wie man denkt).
Wer sich mit ARM schon beschäftigt hat, weiß aber auch, dass das
Einrichten einer IDE und Toolchain hierfür ein steiniger Weg sein kann
und es dauert, bis man erst einmal zum Programmieren kommt.
Auf den 8 Bittern hab ich schon mal Breakout, Tetris, Pong und Sokoban
programmiert und geht relativ gut, solange man sich mit Grafik recht
zurückhält.
Wenn der Threadersteller vom Basteln nicht zurückschreckt wäre (aufgrund
der höheren Leistung) der "Einstiegs-ARM" LPC1114 nicht schlecht.
Als Displays (eben zum Basteln) sind aufgrund der SPI Schnittstelle alte
Handydisplays geeignet. Gut funktionieren hier:
Nokia 3410 mit 96x65 Pixeln s/w (ein 3310 ist ähnlich anzusprechen, hat
halt aber weniger Pixel).
Unkompliziert funktioniert auch:
Siemens S65 Display - 176 x 132 Punkte (weiß ich nicht gaaanz genau
auswendig) und, um einen 8 Bitter nicht zu sehr zu überfordern, im 256
Farben Modus (auch wenn das Display mehr kann),
Beide Displays funktionieren hervorragend mit ATmega328 und LPC1114.
------------------
Allerdings werden so "richtige" Actionspiele (siehe Vorredner) mit den
Prozessoren und den Displays auch nicht so wirklich machbar sein, die
Controller haben dafür einfach zu wenig Rechenleistung (und sind wie
schon geäußert einfach nicht dafür gemacht)
1.)
jjflash schrieb:>> Kauf dir mal das STM32F429 Discovery, programmier darauf dein Spiel und>> versuch dann die Hardware selber (nach) zu bauen.>> Das.. ist ein sehr gutes Board (und im Netz hab ich irgendwo gesehen,> dass da einer ein dem originalen PacMan sehr ähnlichen Clone> programmiert hat. Die "KI" dafür wie die Geister den PacMan verfolgen> ist nicht soooo trivial wie man denkt).
Ich finde dieses Board ist grade für einen Anfänger nicht so gut
geeignet. Es hat zwar in einer Ausführung ein Display, ist aber sehr
schwer zu Programmiern.(Eigene Erfahrung)
2.) Ich finde die Idee mit dem Arduino gut, allerdings würde ich dir im
Moment noch davon Abraten dich mit Dispaly rumzuschalgen. An deiner
Stelle würde ich mir eine Elektro Grundausstattung anlegen(Wiederstände,
Taster, LED's, etc.) und damit ersteinmal beginnen. Ansonsten empfehle
ich dir(grade für's Arduino)
dies:http://www.segor.de/#Q%3DArduinoTFTLCDScreen%26M%3D1 hat eine sehr
gute Community(dank Arduino), nur die Lib is ein bisschen langsam...
Hat übrigens auch einen SD-Karten Slot.
3.) Wenn du dir ne Konsole programmieren willst, schau dir mal das
Arduino Esplora an.
LeonBerlin17 schrieb:> Das die Mikrocontroller so wenig Leistung haben, weiß ich ja.
Du solltest aber auch verstehen, dass Mikrocontroller nicht einfach
kleiner Computer sind, die einfach nur weniger Leistung haben.
Mikrocontroller haben nicht einmal die ganzen Komponenten, die ein
Computer hat. Es "fehlen" (also fehlen nicht wirklich, weil man es
einfach nicht braucht) GPU, Erweiterungsmoeglichkeiten, MMU, etc..
Die Einstiegshuerde bei Mikrocontroller liegt auch um ein Vielfaches
hoeher, als z.B. bei der Android-Programmierung. Du musst bedenken, dass
dir wesentliche Komponenten fehlen, die du zuvor hattest. Das Aufsetzen
der Entwicklungsumgebung kann mit unter Tage dauern (wenn du dich mit
den Details nicht auskennst - tust du bisher ja auch nicht); du hast
nicht direkt eine Konsole, auf der du mit printf etwas ausgeben kannst
(das musst du dir mit zusaetzlicher Hardware und Software selbst bauen);
du musst die Systemtaktung selber verwalten; wenn du C++ einsaetzen
kannst, dann auch nur eingeschraenkt; malloc und new sollten nicht
benutzt werden und wenn du dies doch machst, dann musst du es erstmal
selber einrichten.
Oder um es einfacher zu beschreiben: Du hast Programmieren mit einem
Buch gelernt. Direkt auf den ersten Seiten fing es mit Hello World an
und du hast Schritt fuer Schritt groessere Programme geschrieben. Nach
500 Seiten konntest du dann programmieren.
Bei Mikrocontrollern musst du bis zum richtigen Hello World erstmal ein
2000 Seiten lesen. KLEINERE Sachen gehen auch schon vorher, jedoch musst
du mindestens 200 Seiten im Buch dafuer lesen, damit du diese loesen
kann. Um dann die Aufgabe mit dem eigenen Board zu loesen brauchst du
dann aber noch mindestens vier weitere Buecher.
LeonBerlin17 schrieb:> Das ist ja> einer der Gründe, warum ich so ein einfaches Spiel wie Ping Pong, Tetris> auf Viereck Basis programmieren will.
Die Betonung liegt nunmal auf "einfach".
LeonBerlin17 schrieb:> Auf Pollin habe ich schon ein paar> Bildschirme sehr billig gefunden.
Solange du jedoch nicht weisst, wie man diese mit einem Mikrocontroller
verbinden kannst hilft dir das auch nicht viel.
LeonBerlin17 schrieb:> Nur bin ich kein Fan von fertigen> Dingen, ich mag es bis auf's letzte alles selber zu machen. Deswegen> würde ich gerne ein eigenes Board mit einen Mikrocontroller und einen> LCD Bildschirm bauen und als Programm ein Tetris oder Ping Pong.
Ich moechte dir noch einmal die Funktion dieser fertigen Boards
erklaeren:
Diese Boards sind nicht fuer Hobbybastler gedacht und sie sind auch
nicht dafuer gedacht, dass sie jemand in ein Produkt einbaut. Es sind
Evaluierungsboards, welche von Entwicklern verwendet werden um die
Technik und die Chips kennenzulernen und zu erforschen.
Selbst die Profis wuerden nicht auf die Idee kommen sich selbst alle
Sachen zusammen zu bauen, ohne zu wissen, wie man mit ihnen umgeht ;)
Ausserdem ist auf den Boards oefters ein JTAG integriert, den du auf
jeden Fall brauchen wirst und der dich sonst auch mal schnell 100 Euro
kostet.
Also denk noch einmal darueber nach, was du wie erreichen moechtest.
Mikrocontroller sind eine wirklich spannende Welt. Wenn man es aber mit
normalen Programmieren vergleichen sollte, dann ist das normale
Programmieren Fahrrad fahren lernen und die Mikrocontroller
Programmierung ist, als ob du einen Kampfjet fliegen moechtest.
P.S.: Also ich beziehe mich auf die ARM Mikrocontroller.
Hallo Leon,
LeonBerlin17 schrieb:> Ich habe hier ein> paar Bestellungen und möchte damit mein ersten MikroController> programmieren / bauen. Könnt ihr mir sagen, ob das damit alles klappen> wird oder ob ich was anderes noch brauch ?
Vielleicht wirst du auch unter
http://www.aliexpress.com/w/wholesale-arduino-starter-kit.html für den
Anfang fündig.
Bevor ich ein PCB in Auftrag gebe würde ich als Anfänger die Schaltung
(oder zumindest die unbekannten Teile davon) erst auf einem Breadboard
zum laufen bringen.
LG, Sebastian