Forum: Mikrocontroller und Digitale Elektronik Einstiegsprojekt: Taschenrechner bauen


von Max M. (Firma: Schule) (man_nam)


Lesenswert?

Hi Leute,
Ich interessiere mich schon seit längerem für Mikrokontroller und 
dergleichen. Deswegen wollte ich jetzt mal ein Projekt in diesem Bereich 
anfangen, was wäre, selber einen Taschenrechner zu bauen.
Ich habe bereits einiges an Programmiererfahrung, aber für dieses 
Projekt werde ich höchstwahrscheinlich nur C/asm benötigen.
Für meinen Taschenrechner habe ich mir folgende Bauteile überlegt:
 - Tasten:  1-9; +-*/; =; (); ,
 - LCD-Display
 - Mikrokontroller
 - Akku/Batterien
Wie bereits an der Tastenbelegung zu sehen ist, soll der Taschenrechner 
ganze Terme lösen können. Die hierfür benötigte Technik kenne ich 
bereits.
Die Frage an euch wäre jetzt, ob ihr den Lerneffekt eines solchen 
Projektes für hoch haltet und welchen Mikrokontroller ihr mir empfehlen 
würdet(Zur Programmierung des Mikrokontrollers steht mir ein Arduino 
bereit).
MfG
man_nam

: Verschoben durch Moderator
von Purzel H. (hacky)


Lesenswert?

ich wuerd mal eine Simulation fuer den PC schreiben. Was mit jedem 
Tastendruck geschehen soll.

Und wenn das dann geht allenfalls. Aber aufm Controller erst durch die 
LED beispiele.

von Oliver H. (Firma: OliverHeinrichs.de) (dobson)


Lesenswert?

Ich hätte ja auch eine Taste für die 0 mit eingeplant...

von Frank E. (Firma: Q3) (qualidat)


Lesenswert?

Die Bedien-Logik eines echten Hardware-Taschenrechners ist nicht ohne - 
da meine ich jetzt nichtmal das Rechnen ansich, sondern das Verhalten 
bezüglich der Eingaben.

Natürlich ist es mit genügend Energie machbar, aber es wird häufig 
gewaltig unterschätzt und mal eben so dahingeklimpert ist da Nichts zu 
stemmen. Das muss man genau planen bzw. Aufschreiben (z.B. per PAP oder 
Struktogramm).

Ich sehe das immer, weil ich einen Software-Taschenrechner als 
Übungsprojekt in meien Javascript-Kursen verwende.  Die vielen Ahs und 
Ohs sind immer sehr amüsant ...

Der Lerneffekt ist auf jeden Fall gegeben!

: Bearbeitet durch User
von Ralph S. (jjflash)


Lesenswert?

Hmmm, habe ich auch schon einmal gemacht, dein Einstiegsprojekt hat 3 
Schwierigkeiten:

Die Tasten (ich gehe mal davon aus, dass du die 0 schlicht vergessen 
hast):

Das sind insgesamt 17 (leider) Tasten.

Diese würde ich in einer 4 x 4 Matrix einlesen und eine einzelne Taste 
an einen Port hängen (das Auslesen einer 4 x 4 Matrix ist zwar kein 
Hexenwerk, aber soooooo ganz einfach ist das nicht, ich hatte eine 
Handytastatur mit 4-fach Belegung programmiert gehabt)

Zweiter "Knackpunkt", der Term:

Soll der editierbar sein, mußt du auch so etwas wie strinsch (so heißt 
das bei mir) implementieren. <strinsch> ist dann eine Funktion, die ein 
einzelnes Zeichen in einen String einfügen kann, das char - Array 
vergrößert sich somit um einen Wert.

Dritter (und schwierigster) "Knackpunkt", die Funktion:

Das Zerlegen eines kompletten Terms in Teilterme um diese dann zu 
berechnen !

Viel Spaß

Ralph

von Oliver H. (Firma: OliverHeinrichs.de) (dobson)


Lesenswert?

Max Mustermann schrieb:
> Deswegen wollte ich jetzt mal ein Projekt in diesem Bereich
> anfangen, was wäre, selber einen Taschenrechner zu bauen.

Ist nicht so gemein(t) wie es klingt:
Bring erstmal ne LED zum blinken, dann das selbe mit Tasterabfrage.
Anschließend kannst du dich mit dem Entprellen der Taster beschäftigen 
und dann die Ansteuerung des LCD-Displays programmieren.
Erst wenn du all dieses bereits programmiert hast, würde ich mich an die 
Programmierung eines größeren Projektes, wie z.B. des Taschenrechners 
wagen.

von Magic S. (magic_smoke)


Lesenswert?

Wieviel kostet ein Taschenrechner, der sowas alles kann? 20 Euro?

von Axel S. (a-za-z0-9)


Lesenswert?

Max Mustermann schrieb:
> Die Frage an euch wäre jetzt, ob ihr den Lerneffekt eines solchen
> Projektes für hoch haltet und welchen Mikrokontroller ihr mir empfehlen
> würdet

An einem solchen Projekt kann man in der Tat sehr viel lernen. Auf jeden 
Fall viel mehr, als wenn man nur EUR 20,- vom Taschengeld ausgibt.

Der µC muß nicht sehr groß sein. Ein Standard-LCD braucht minimal 6, 
maximal 11 Pins. Die Tastaturmatrix für NxM Tasten dann entsprechend N+M 
Pins. Ich würde da auch nicht auf Krampf eine 4x4 Matrix erzwingen 
wollen. Es spricht ja gar nichts gegen eine 4x5 Matrix (Tasten CE und C 
würde ich für nützlich halten, außerdem Wurzel, Quadrat, Inverses, 
Memory?). Wenn man sich clever anstellt, kann man die Datenleitungen zum 
Display gleichzeitig für die Tastatur nutzen.

Speichermäßig muß man sich nicht unnötig einschränken, vielleicht will 
man das Ganze ja später noch erweitern. Auch preismäßig fällt mehr 
Speicher nicht ins Gewicht. Nimm also z.B. einen ATmega328. Oder noch 
größer: ATmega1284. Letzterer hat so viele Pins, daß du dir sämtliche 
Akrobatik beim Anschließen von Tasten + Display sparen kannst.

Softwaremäßig würde man das Ganze natürlich als Automaten realisieren. 
Wobei es auch da mehrere Ansatzpunkte gibt. Man kann es komplett zu Fuß 
aufbauen. Oder man verwendet Lexer/Parsergeneratoren a'la flex/bison.

Und wenn es auf Basis von DOUBLE läuft, könnte man mal die Arithmetik 
unten drunter austauschen. Wie wäre es mit Ganzzahlarithmetik beliebiger 
Länge? Komplexe Zahlen? Bruchrechnung? Hier würde sich dann natürlich 
C++ anbieten.


XL

von Max M. (Firma: Schule) (man_nam)


Lesenswert?

Also, ich habe gestern, spät abends, ein paar Tasten vergessen. Hier 
noch einmal die korrigierte Form:
 - Tasten: Ziffern 0-9; +-*/; ,; (); =; ANS; CLEAR; 
Pfeiltasten(Rechts/Links) => 22 Tasten
 - On/Off Schalter
 - LCD-Display
 - Mikrokontroller
 - Akku/Batterien
Ich würde ganz gerne erst einmal in der ersten Version nur die vier 
Grundrechenarten mit Punkt vor Strich und Klammern, also Termen 
implementieren. Heute Abend programmiere ich mal eine Demo, die ich 
hochladen kann.
Das mit dem einfügen eines Zeichens in den String ist ja auch nicht so 
die Hürde. Entweder man fügt direkt ein, oder verschiebt vorher das 
ganze Array eins nach rechts.
Den uC würde ich am liebsten so auswählen, dass er möglichst klein ist. 
Ihr habt gesagt, dass man die Tastendrücke als Matrix einlesen kann. Wie 
funktioniert das dann konkret?
Dann habe ich bei zB 3x3 Tasten am uC 2x3 Pins. Wenn ich nun sagen 
möchte, dass die 8. Taste gedrückt wurde steuere ich dann bei der ersten 
Reihe den 2. Pin an und bei der zweiten Reihe auch den 2. Pin? Naja, ist 
vielleicht noch ein bisschen uneindeutig. Ich lasse heute Abend noch 
eine Zeichnung folgen.

: Bearbeitet durch User
von Wilhelm F. (Gast)


Lesenswert?

@ Max Mustermann (Firma: Schule) (man_nam):

Schönes Spielzeug, und noch sinnvoll.

Ich selbst würde für ein solches Projekt ein beliebiges Board nehmen, 
was man über die RS232 an den PC klemmen kann. Dort hat man schon 
Tastatur und Display in Form eines Terminals wie z.B. TeraTerm. Also nur 
wegen der Rechensachen. Richtiges Display und Tastatur kann man später 
jederzeit nachrüsten.

von Axel S. (a-za-z0-9)


Lesenswert?

Max Mustermann schrieb:
> Also, ich habe gestern, spät abends, ein paar Tasten vergessen. Hier
> noch einmal die korrigierte Form:
>  - Tasten: Ziffern 0-9; +-*/; ,; (); =; ANS; CLEAR;
> Pfeiltasten(Rechts/Links) => 22 Tasten

Siehste. Eine 4x4 Matrix reicht bei weitem nicht.

> Ich würde ganz gerne erst einmal in der ersten Version nur die vier
> Grundrechenarten mit Punkt vor Strich und Klammern, also Termen
> implementieren. Heute Abend programmiere ich mal eine Demo, die ich
> hochladen kann.

Aber bitte nicht hier. Du willst doch dabei etwas lernen. Wenn du 
Fragen zur Hardware oder Software hast, gibt es hier nebenan ein µC 
Forum wo das paßt.

> Den uC würde ich am liebsten so auswählen, dass er möglichst klein ist.

Wozu? Wie klein glaubst du das bauen zu können, mit einem LC-Display und 
22+ Tasten? Selbst ein ATmega1284 im DIL-40 Gehäuse ist deutlich kleiner 
als das Display. So kompakt (und stromsparend) wie einen Taschenrechner, 
selbst einen aus den 80ern, wirst du das sowieso nicht hinbekommen.

> Ihr habt gesagt, dass man die Tastendrücke als Matrix einlesen kann. Wie
> funktioniert das dann konkret?

http://www.google.com/search?&q=tastenmatrix

Gleich der erste Treffer erklärt das ausführlich. Und schon kannst du 
etwas neues lernen. Ich empfehle auch ausdrücklich das komplett mit 
Tastatur und Display am Controller aufzubauen. Nur so lernst du die 
Dinge, die spezifisch für einen µC sind - Interrupts, Nebenläufigkeit, 
Hardware-Software-Balance. Und vor allem wirst bei der Fehlersuche (und 
das wird passieren) etwas über die Besonderheiten von µC lernen.


XL

von Peter D. (peda)


Lesenswert?

Max Mustermann schrieb:
> Die Frage an euch wäre jetzt, ob ihr den Lerneffekt eines solchen
> Projektes für hoch haltet und welchen Mikrokontroller ihr mir empfehlen
> würdet

Ich denke schon. Ein solches Projekt zwingt einen geradezu, erstmal 
einen Programmablaufplan zu erstellen.
Man muß genau definieren, welcher Zustandswechsel wird bei einem 
Tastendruck für jede Taste ausgeführt.
Ohne PAP gehts einfach nur in die Hose.

AVR ist schon o.k., ein ATmega48..328 sollte reichen.
20 Tasten als 4*5 Matrix + 6 Pins für das LCD = 15 IOs.

von Max M. (Firma: Schule) (man_nam)


Angehängte Dateien:

Lesenswert?

So, habe die entsprechenden Dateien für den Taschenrechner einfach mal 
in den Anhang gepackt(Ist aber nur für die Windows-Konsole).
Ich habe 22 Tasten, also wäre wohl eine 5*5 Matrix optimal, oder? Daraus 
würde folgen, dass ich 10 Pins benötigen würde. Dann hätte ich mit dem 
LCD-Display 16-22 Pins. Hier wäre doch ein Atmega8 optimal, zumal das 
Tutorial hier ja auch auf dem aufbaut, oder? Den könnte ich dann auch 
einfach beim Conrad um die Ecke abholen und direkt mit dem 
experimentieren.
Oder übersehe ich hier irgendtwas?

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Max Mustermann schrieb:
> Hier wäre doch ein Atmega8 optimal,

Ah ja.  Soll dein Taschenrechner eigentlich nur IO-Pins bedienen,
oder soll er auch noch nebenbei rechnen?

Die einfache 32-bit-Gleitkommaarithmetik eines AVR-GCC ist ohnehin
schon etwas dünn für einen Taschenrechner, denn die geht nur von
1E-38 bis 1E38 (so übern Daumen), während Taschenrechner allgemein
einer 1E-99 bis 1E99 abdecken.

von Asko B. (dg2brs)


Lesenswert?

magic smoke schrieb:
> Wieviel kostet ein Taschenrechner, der sowas alles kann? 20 Euro?

Ich glaube kaum, das der Endpreis einen Bastler abschreckt,
oder jedenfalls davon abbringt, solches Projekt zu starten.
Ich habe jedenfalls um das Jahr 1980 herum auch erst
gedacht, bevor Du ´nen Computer baus´t musst Du erst mal
einen Taschenrechner fertig bekommen.
Ich hatte damals wegen meiner unerfahrenheit einfach "nachgebaut"
und muss gestehen, ich habe nur elektronik gelernt, jedoch
nicht die funktion.

Ich ziehe meinen Hut, vor jedem, der sich dieser
herausforderung an nimmt.


Gruss Asko.

von Helmut S. (helmuts)


Lesenswert?

Gibt es auch einen C-Compiler für den AVR der echte double() Genauigkeit 
(64bit) bietet?

: Bearbeitet durch User
von Herr M. (herrmueller)


Angehängte Dateien:

Lesenswert?

Ich hatte mal einen speziellen Rechner zur Kassenabrechnung gebaut. Der 
war mathematisch recht einfach, es musste nur das Gewicht der 
abgewogenen Münzen (pro Sorte) in die Stückzahl umgerechnet werden und 
die Stückzahl der Münzrollen aus einer Tabelle dazu addiert werden. Das 
Programm war komplett in ASM auf einem Mega8 mit einem Nokia 
Handy-Display als Anzeige.

Was ich aber eigentlich sagen möchte, ist, dass es recht einfach war, 
die Tastatur eines einfachen, billigen Rechners zu verwenden. Man muss 
nur die Matrix nachmessen. Da nur eine Taste zu gleichen Zeit nötig war, 
setze ich einfach die Spalten nacheinander auf 1 und schaue, an welcher 
Zeile die ankommt. Die Spalte haben die Wert 16,32,48,64... und dazu 
wird einfach die Nummer der empfangenen Zeile addiert, was einen 
'Tastencode' gibt, mit dem ich dann über eine Tabelle zum passenden 
Unterprogramm springe.
Der Aufbau sieht zwar sch... aus, der Rechner funktioniert aber schon 
seit Jahren. Inzwischen ist auch die rechte Tastaturspalte mit den 
Münzwerten beschriftet.

von Bernd W. (berndwiebus) Benutzerseite


Lesenswert?

Hallo Max.

Max Mustermann schrieb:

> Die Frage an euch wäre jetzt, ob ihr den Lerneffekt eines solchen
> Projektes für hoch haltet und welchen Mikrokontroller ihr mir empfehlen
> würdet(Zur Programmierung des Mikrokontrollers steht mir ein Arduino
> bereit).

Die Idee ist sehr gut und sinnvoll.

Aber so ein Projekt ist eigentlich der dritte Schriit im 
MC-Lauflernprogramm.

Der erste Schritt wäre, ein paar Leds blinken lassen, auf Taster 
reagieren, Werte wegspeichern und wiederholen, ec. Kleinere Projekte mit 
ein paar Relais zum Ansteuern.

Der zweite Schritt wäre einen kleinen Taschenrechner für die vier 
Grundrechenarten zu bauen. Ein Taschenrechner ist nicht nur Software, 
sondern auch Hardware. Display, Battery/Akku, Akuuladen, 
Tiefentladeschutz.....
Dazu kommt die Mechanik. Gehäuse, Display, Batteriefach, 
Stromversorgungsstecker. integration der elektronik in das Gehäuse oder 
Konstruktion des Gehäuses um die Elektronik herum....;O)
Unterschätz das nicht.

Und mit den Erfahrungen gehst Du dann den großen Taschenrechner an.

Mit freundlichem Gruß: Bernd Wiebus alias dl1eic
http://www.dl0dg.de

von Max M. (Firma: Schule) (man_nam)


Lesenswert?

Danke. Ich werde mir dann ersteinmal ein paar AVRs und ein LCD bei 
Conrad holen und versuchen, die jeweils ans laufen zu bekommen. Falls 
ich dabei Probleme haben sollte, werde ich mich wieder hier melden.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Helmut S. schrieb:
> Gibt es auch einen C-Compiler für den AVR der echte double() Genauigkeit
> (64bit) bietet?

Ja (IAR zum Beispiel), wobei Taschenrechner üblicherweise anders
arbeiten.

Wäre auch die Frage, ob man sowas wie "arbitrary precision arithmetic"
(gmp etc.) auf einem AVR zum Laufen bekommt.

von Helmut S. (helmuts)


Lesenswert?

@Jörg
Danke.

Ich vermute ab den 16bit Controller aufwärts gibt es das bei allen 
C-compilern.

Habe gerade gegoogelt: 
http://sourceforge.net/mailarchive/message.php?msg_id=29818206
There is no double (64-bit) support in the mspgcc toolchain, only
float (32-bit), with double being equivalent. ....

Wenn das immer noch so ist, dann ist der GCC aber ziemlich rückständig.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Helmut S. schrieb:
> Wenn das immer noch so ist, dann ist der GCC aber ziemlich rückständig.

Das hat absolut nichts mit dem GCC zu tun.

Es ist einfach eine Entscheidung der jeweiligen Ports, die man in
erster Linie aus Ressourcengründen so getroffen hat.  Der Pferdefuß
ist ja, dass per C-Standard intern alle Gleitkommaberechnungen in
"double" erfolgen müssen (type promotion).  Wenn nun "double" ein
64-bit-Typ ist, dann explodiert der Code ziemlich schnell ...

Schön wäre es halt, wenn man das zur Compilezeit auswählen kann.

(Beim IAR kann man das meiner Meinung nach auch.)

Übrigens verlangt der C-Standard keineswegs ein 64-bit-double; in den
Drafts zu C99 genügte sogar ein 32-bit-double noch.  Kurz vor der
Verabschiedung hat man das aber so geändert, dass es nicht mehr reicht,
aber beispielsweise ein 48-bit-Typ (wie einstmals bei Turbo Pascal auf
dem Z80) würde die Bedingungen erfüllen.

von Max M. (Firma: Schule) (man_nam)


Angehängte Dateien:

Lesenswert?

Diese Bauteile würde ich dann kaufen. Könnt ihr da einmal kurz drüber 
schauen?
Diese Tasten werde ich verwenden:
1
 
2
 (    )    <    >
3
 C    ANS  DEL  /
4
 7    8    9    *
5
 4    5    6    -
6
 1    2    3    +
7
 0    ,    E    =
6*4 = 24 Tasten
6+4 = 10 benötigte I/O-Pins
Schoneinmal Danke.

: Bearbeitet durch User
von Soul E. (Gast)


Lesenswert?

was tut '<' und '>'? Links- und rechtsschieben?

von Axel S. (a-za-z0-9)


Lesenswert?

soul eye schrieb:
> was tut '<' und '>'? Links- und rechtsschieben?

Das soll wohl Cursor links/rechts werden. Um die Eingabe korrigieren zu 
können. Halte ich (genauso wie DEL) in der ersten Ausbaustufe für 
unnötig. Ich fürchte auch dieses "Projekt" wird daran sterben, daß sich 
der TE übernimmt.

Wenn er (eigene Aussage) ein Anfänger ist, dann sollte er auch erstmal 
klein anfangen. Eine LED blinken lassen. Display anschließen und den 
Zeichenvorrat anzeigen lassen. Tastatur dazu und eingegebene Zeichen 
aufs Display echo-en. Bis er da angekommen ist, ist es Weihnachten.

Dann den einfachstmöglichen Taschenrechner: nur Ziffern, + und =. Das 
dann mit Kommastellen. Wieder 2 Wochen weg. Dann -, * und / dazu. 
Nochmal 2 Wochen. Beim Implementieren von Klammern wird er feststellen, 
daß er eine Abstraktion für Operationen braucht und einen Stack. Dann 
gibt er entweder auf oder schreibt alles nochmal neu.

Ein Kommandozeileneditor kommt erst ganz am Schluß als Sahnehäubchen 
oben drauf. IMHO. Ich werde den Thread weiter verfolgen. Aber ich werde 
kein bisschen überrascht sein, wenn sich der TE nach einer Weile nicht 
mehr meldet und das Projekt sanft entschläft.


@Max: eine Einkaufsliste als .rtf? Wirklich? Hättest du die paar Zeilen 
nicht einfach kopieren & einfügen können?


XL

von Karl H. (kbuchegg)


Lesenswert?

Axel Schwenke schrieb:

> Dann den einfachstmöglichen Taschenrechner: nur Ziffern, + und =. Das
> dann mit Kommastellen. Wieder 2 Wochen weg. Dann -, * und / dazu.
> Nochmal 2 Wochen. Beim Implementieren von Klammern wird er feststellen,
> daß er eine Abstraktion für Operationen braucht und einen Stack. Dann
> gibt er entweder auf oder schreibt alles nochmal neu.

Ich geb dir in der Sache recht, wollte nur anmerken, dass sein 
rekursiver Abstieg grundsätzlich in Ordnung programmiert ist. D.h. den 
Teil kriegt er sicherlich hin (sofern er den rek. Abstieg verstanden hat 
und nicht nur abgeschrieben)

Ich bin allerdings auch eurer Ansicht, dass der Knackpunkt hier in der 
Ansteuerung des LCD bzw. Auswertung der Tastaturmatrix liegt. Das ist 
selbstverständlich machbar, aber für einen Anfänger in der 
µC-Programmierung ist es zu viel auf einmal. Da fehlen entsprechende 
Vorübungen, um auf den notwendigen Level zu kommen.

: Bearbeitet durch User
von MaWin (Gast)


Lesenswert?

> ob ihr den Lerneffekt eines solchen Projektes für hoch haltet

Ja, du merkst schnell, warum Taschenrechner in Dezimal mit 3 
unsichtbaren guard Stellen arbeiten.

> float result = 0.0f;

Oh, du glaubst, noch mit float auszukommen. Vergiss es. Dein Glück: Du 
brauchst keine float-Library in den Arduino reinzulinken, das spart 
Platz, vor allem die Routine float in string wird überflüssig. Der 
Nachteil: Du suchst eine BCD Lib. Das ist noch einfach, wenn es um die 4 
Grundrechenarten geht (mehr willst du nicht), aber für sinus/exp etc. 
musste ich mir meine mit Cordic selber schreiben. Vielleicht findest du 
den Source zu einem älteren kommerziellen Taschenrechner.

> und welchen Mikrokontroller ihr mir empfehlen würdet
> (Zur Programmierung des Mikrokontrollers steht mir ein Arduino bereit

Nimm doch den Arduino.

> LCD-Display

Um wirklich Strom zu sparen, würde man ein nacktes LCD Glas nehmen, dann 
müsste der Controller so eines im Multiplex ansteuern können. Das kann 
ein Arduino nur per zusätzlichen externen Widerständen, und es kostet 
verdammt viele I/Os.

Nimmst du ein alphanumerisches Display, wie DOG von EA, liegt der 
Stromverbrauch etwas höher, aber es tut jeder uC ohne besondere 
Ansteuerung, Pinanzahl und externe Zusatzbeschaltung.

Ich würde zum alphanumerischen raten, dann kannst du mit dem Board 
(Display, Arduinio, Tasten) auch mehr machen als bloss diesen 
Taschenrechner.

> Ich bin allerdings auch eurer Ansicht, dass der Knackpunkt hier in der
> Ansteuerung des LCD bzw. Auswertung der Tastaturmatrix liegt.

Da gibt es aber 10000 Beispielprogramme, denn quasi JEDES Programm 
braucht Anzeige und Bedienung.

von MaWin (Gast)


Lesenswert?

P.S.: Bauteile: Nimm als Spannungsregler einen LP2950-5, dann tut es als 
Batterie ein 9V Block den du auch bis zum Ende entladen kannst, und der 
Regler braucht keine 5mA für sich, sondern nur Mikroampere.

von Max M. (Firma: Schule) (man_nam)


Angehängte Dateien:

Lesenswert?

So, die Teile sind übermorgen da und ich beginne jetzt schoneinmal mit 
der Planung, wie ich die genau verbauen werde.
Ist folgender Schaltplan tauglich, um mit dem ATmega328 die beiden LEDs 
blinken zu lassen?

von Wegstaben V. (wegstabenverbuchsler)


Lesenswert?

Max Mustermann schrieb:
> Ist folgender Schaltplan tauglich, um mit dem ATmega328 die beiden LEDs
> blinken zu lassen?

naja ..

1. Kondensatoren fehlen
2. anstelle von 9V -> 5V kannst du eher 4.5 oder 6 V ohne Stabi (mit 3 
oder 4 Mignon Zellen) nutzen. die 9 Volt Batterien haben eine lausige 
Kapazität, und die willst du auch noch mit einem gewöhnlichen 7805 in 
Wärme umsetzen ...

von Axel S. (a-za-z0-9)


Lesenswert?

Max Mustermann schrieb:

> Ist folgender Schaltplan tauglich, um mit dem ATmega328 die beiden LEDs
> blinken zu lassen?

Zusätzlich zu den schon genannten Dingen:

- 10K von Reset nach Vcc vorsehen
- wo ist der ISP-Anschluß?
- für den Anfang ist es womöglich geschickter, mit einen 
USB-Programmierer den µC direkt vom USB zu versorgen
- man würde LEDs besser an Pins hängen, die man nicht für ISP braucht


XL

von Max M. (Firma: Schule) (man_nam)


Lesenswert?

Ich habe mich letzendlich doch entschieden. Es ist einfach einfacher ;). 
Welchen würdet ihr mir denn da so empfehlen? Er sollte 
anfängerfreundlich und billig sein.
Ich habe bisher ein Auge auf den "MySmartUSB light"(16€) geworfen. Auch 
zu Auswahl stehen der "MySmartUSB MK 2"(35€) oder der "MySmartUSB 
MK3"(28€), wobei ich nicht weiß, wo genau der Unterschied zwischen den 
Beiden ist. Ich bin natürlich auch offen für andere Anregungen.
Danke schoneinmal

Noch eine Frage:
Kann ich eine Lochrasterplatine komplett ohne Metall verwenden? Der 
Verkäufer bei Conrad meinte, dass ich die verschiedenen Pins einfach mit 
Blumendraht verbinden kann. Stimmt das?

: Bearbeitet durch User
von Axel S. (a-za-z0-9)


Lesenswert?

Max Mustermann schrieb:

> Ich habe bisher ein Auge auf den "MySmartUSB light"(16€) geworfen. Auch
> zu Auswahl stehen der "MySmartUSB MK 2"(35€) oder der "MySmartUSB
> MK3"(28€), wobei ich nicht weiß, wo genau der Unterschied zwischen den
> Beiden ist.

Die find ich allesamt zu teuer.

> Ich bin natürlich auch offen für andere Anregungen.

Ich bin mit diesem hier sehr zufrieden:

http://www.ehajo.de/Bausaetze/AVR-ISP-Stick

Den gibts auch noch kleiner:

http://www.ehajo.de/Bausaetze/USP-Stick

> Kann ich eine Lochrasterplatine komplett ohne Metall verwenden? Der
> Verkäufer bei Conrad meinte, dass ich die verschiedenen Pins einfach mit
> Blumendraht verbinden kann. Stimmt das?

Häh? Lochrasterplatte? Blumendraht? Meinst du vielleicht ein Breadboard 
(Steckbrett)? Wie z.B. dieses:

http://www.ehajo.de/Platinen/Breadboard-64-reihig

Da nehme ich als Drahtbrücken Reste von Schaltdraht. Ganz konkret Drähte 
aus RJ45 Verlegeleitung. Man kann natürlich auch Steckbrücken kaufen. 
Ist IMHO rausgeschmissenes Geld.


XL

von Max M. (Firma: Schule) (man_nam)


Angehängte Dateien:

Lesenswert?

Diese Lochrasterplatine meine ich: 
http://www.conrad.de/ce/de/product/529582/

Der USP-Stick ist super. Den hole ich mir glaube ich ;). Ist das schwer 
zu löten? Bin nämlich noch Anfänger.
Der ehajo.de Shop scheint generell super zu sein.

Was ist dieses Schwarze Ding, was da neben den ISP-Anschlüssen raus 
schaut? Anbei ein Bild zur Verdeutlichung.

: Bearbeitet durch User
von Udo S. (urschmitt)


Lesenswert?

Max Mustermann schrieb:
> Was ist dieses Schwarze Ding

Ein Jumper mit Griff.

von Karl H. (kbuchegg)


Lesenswert?

Max Mustermann schrieb:
> Diese Lochrasterplatine meine ich:
> http://www.conrad.de/ce/de/product/529582/

Blumendraht?

Heut ist doch gar nicht der 1. April

> Der USP-Stick ist super. Den hole ich mir glaube ich ;). Ist das schwer
> zu löten? Bin nämlich noch Anfänger.

Guter Rat. Kauf dir was fertig gelötetes.
Wenn du noch nie gelötet hast, bist du erst mal gut bedient, wenn du von 
SMD die Finger lässt. Und gerade ein Programmer muss vor allen Dingen 
eines: ohne wenn und aber funktionieren. Die paar Euro, die ein Bausatz 
günstiger ist als ein Fertiggerät lohnen nicht für einen Neuling. Da 
steht die Preisersparniss in keinem Verhältnis zum Frust.

: Bearbeitet durch User
von Axel S. (a-za-z0-9)


Lesenswert?

Max Mustermann schrieb:
> Diese Lochrasterplatine meine ich:
> http://www.conrad.de/ce/de/product/529582/

OK, eine richtige Platine zum Löten. Aber auch da nimmt man zum 
Verdrahten besser Kupferdraht (am besten verzinnten). Sofern nicht die 
Beinchen der Bauelemente schon reichen.

Steckbretter haben aber auch ihre Vorzüge, gerade für Anfänger.

> Der USP-Stick ist super. Den hole ich mir glaube ich ;)

Dann nimm vielleicht gleich den im Bundle mit dem Programmierkabel.

> Ist das schwer zu löten? Bin nämlich noch Anfänger.

Ich kann nicht beurteilen wie geschickt du bist. Für mich war es ein 
Klacks. Aber gerade um die Beinchen des µC wird es schon etwas eng. 
Einen vernünftigen Lötkolben brauchst du ganz sicher. Und 0.5mm Lötzinn 
ist auch angeraten.

> Der ehajo.de Shop scheint generell super zu sein.

Da wird sich Hajo freuen, falls er diesen Thread findet (er liest und 
schreibt anderswo in diesem Forum)

> Was ist dieses Schwarze Ding, was da neben den ISP-Anschlüssen raus
> schaut?

Ein Jumper. Wenn der gesteckt ist, wird die angeschlossene Schaltung aus 
dem USB versorgt.


XL

von Axel S. (a-za-z0-9)


Lesenswert?

Nachtrag:

Axel Schwenke schrieb:
>> Ist das schwer zu löten? Bin nämlich noch Anfänger.
> Ich kann nicht beurteilen wie geschickt du bist.

Für ein paar EURO mehr kannst du sonst den uisp Stick von Hajo nehmen. 
Da mußt du bloß die Stecker anlöten, SMD ist komplett vorbestückt.


XL

von Hannes J. (Firma: eHaJo.de) (joggl) Benutzerseite Flattr this


Lesenswert?

Axel Schwenke schrieb:
> Da wird sich Hajo freuen, falls er diesen Thread findet (er liest und
> schreibt anderswo in diesem Forum)

Oh ja tut er, also sich freuen und ab und zu mitschreiben :-)

Wär das kein Projekt für das Displayboard mit Atmega32u4 und 
OLED-Display dran?

@max mustermann:
Wenn du das mit dem Displayadapter probieren willst pack ich dir einen 
zur Bestellung des ISP-Sticks dazu :-)

von Max M. (Firma: Schule) (man_nam)


Lesenswert?

Nein Danke. Die Bestellung ist gestern schon angekommen und die LCDs 
habe ich in China bestellt(Die Preise dort sind einfach unschlagbar).
Wenn ich fragen habe weiß ich ja jetzt, an wen ich mich zu wenden habe 
;).

von Jens Grabner (Gast)


Lesenswert?

Wird noch am Projekt gearbeitet - oder schon aufgegeben? -- in eigener 
Sache möchte ich mein Projekt vorstellen.

http://www.elektor-labs.com/project/retro-calculator-with-16-digit.14392.html

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Das ist keine "Vorstellung" eines Projektes. Denn da kann man sich 
nichts ansehen, außer man betätigt den Elektor-Geldeinwurf und ist da 
irgendwie "Mitglied".

von Jens G. (jensg)


Lesenswert?

Oberes Problem ist mir bewusst und habe alles mal hier veröffentlicht.

Beitrag "Taschenrechner: ATmega1284p - 15x 7-Segmentdisplay"

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.