Arduino und Schieberegister

Gast #3504303
Lesenswert?
• ▲
▼
Hallo,

wie hoch darf die Ziffer sein, die ein Arduino noch versteht und damit 
rechnen kann?

Ich wollte gerne 20 Schieberegister 74HC595 verwenden. Ein 
Schieberegister hat ja 256 digitale Möglichkeiten. Schließe ich einen 
zweiten an und kaskadiere ich den, so habe ich schon 65.536 (256*256) 
Möglichkeiten. Ein weiterer Schieberegister würde dann schon 16.777.216 
(256*256*256) Möglichkeiten ergeben. Mein Problem ist, dass die Zahlen 
immer größer werden und ich den Überblick verliere. Gibt es da eine 
andere Möglichkeit, um für jeden Schieberegister nur Zahlen von 0 bis 
255 verwenden zu können???

Vielen Dank im Vorraus
Gast #3504734
Lesenswert?
• ▲
▼
Ich bin ja gerade dabei das Programmieren zu lernen, ich habe aber kein 
Mentor den ich fragen kann wenn ich etwas nicht verstehe, deshalb frage 
ich ja nach. Aber wenn das hier nur ein Forum für Fortgeschrittene ist 
dann ziehe ich natürlich meine Frage zurück und versuche es auf anderen 
Foren die mehr Verständnis zeigen. Ich bin halt noch ein blutiger 
Anfänger.

Außerdem glaube ich nicht, dass diese Diskussion hier im Sinne des 
Forums ist.
Gast #3504737
Lesenswert?
• ▲
▼
André schrieb:
> Das Problem ist, dass ich nicht weiß wie ich das programmiere bzw. wie
> der Code aussieht

Dann guck z.B. erstmal im C-Grundlagenbuch nach "Array" und 
"For-Schleife".

> ... habe leider nix im Netz finden können

Es wäre schon ein großer Zufall, wenn sich unter "20 Schieberegister 
74HC595 verwenden" direkt irgendetwas finden ließe ;-)
(Firma: EleLa - www.elela.de) #3504741
Lesenswert?
• ▲
▼
Mache ein Array mit 20 Bytes:
1
unsigned char arAusgabe[20];
nun kannst Du in jedes Array Element eine Zahl zwischen 0 und 255 rein 
schreiben:
1
arAusgabe[0] = 1;
2
arAusgabe[1] = 2;
3
arAusgabe[2] = 5;
4
: : :
5
arAusgabe[18] = 255;
6
arAusgabe[19] = 190;
Zu den Schieberegistern überträgst Du die Array-Elemente nacheinander:
1
for (i = 0; i < 20; i++)
2
  AusgabeByte(arAusgabe[i]);
so ungefähr sollte das dann klappen. Wobei die Funktion "AusgabeByte()" 
musst Du auch schon haben oder noch programmieren. Ich habe kein Ahnung 
von Arduino.

So und nun lerne C Grundlagen.
Gast #3504746
Lesenswert?
• ▲
▼
Ich möchte hier mal auf die Netiquette verweisen... RTFM...

Das Thema Schieberegister gibt's hier im Forum und im Netz zig mal... 
Wenn du nicht fähig bist Google zu bedienen, dann kauf dir halt ein 
Buch.
Und bevor du das programmieren Lernen anfängst unbedingt ein Tutorium zu 
Web Recherche machen!

Manchmal versteh ich die Diskussionen über Arduino und insbesondere 
seine Anwender...
Gast #3504747
Lesenswert?
• ▲
▼
André schrieb:
> wie hoch darf die Ziffer sein, die ein Arduino noch versteht und damit
> rechnen kann?

Addieren?
Nehme ich es mal als Stellvertreter.

So hoch, bzw. so groß, wie der Speicher ist.

Allerdings kannst du da deine C Umgebung so ziemlich vergessen, da beim 
addieren das Carryflag wichtig ist und du aus C da keinen Zugang 
findest.

Ich würde mir eine kleine C Funktion basteln mit eingebettetem 
Assembler.

Es gibt auch noch BCD Arithmetik. Aber das ist recht langsam und 
Ressourcen fressend.

>Außerdem glaube ich nicht, dass diese Diskussion hier im Sinne des
>Forums ist.
Ein Forum ist zum Diskutieren da!
Gast #3504751
Lesenswert?
• ▲
▼
> Ein Forum ist zum Diskutieren da!

Ja das ist korrekt, aber man diskutiert hier nicht über Kartoffeln oder 
Möhren sondern über Elektronik und wenn ich hier mich erst Erklären bzw. 
verteidigen muss, dann bin ich hier falsch, wenn das auch schon unter 
elektronische Diskussion fällt.

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