PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Hilfestellung bei drei Schieberegistern und 20 LED´s



Benny1989
23.03.2014, 15:28
könnte mir jemand unter die Arme greifen beim Verstehen helfen??

Ich habe 20 LED´s an drei Schieberegister Angeschlossen (74HC595) .....

Ziel ist es das alle LED nach ein nach einander angehen und bei der 20ten LED angekommen gehen alle wieder aus!

Ich komm aber mit der Bit Geschichte nicht klar, das will nicht in mein Kopf rein -.-

Ich denke ich hab verstanden das ich zuerst das dritte Schieberegister ansprechen muss, das es die letzte LED anmacht
weil ja immer durchgereicht wird ....

Dann bekomm ich auch noch nicht hin bzw, versteh ich´s nicht ganz, das bei mir alle drei Schieberegister das gleiche machen!

Kann mir da jemand Licht ins Dunkle bringen ?

Mfg Benny

Sisor
23.03.2014, 16:37
Hast du den Output des ersten Schieberegisters mit dem Input(Data) des zweiten verbunden und den Output des zweiten mit Input des dritten?

Hier ein ausführliches Tutorial (http://tronixstuff.com/tutorials/) (engl., ab Kapitel 4).

Besserwessi
23.03.2014, 16:38
Die Daten für die LEDs werden nacheinander gesandt. In der Regel schreibt man die Daten für alle LEDs und übernimmt dann gleichzeitig die Daten aus den Schieberegistern zu den Ausgängen: Zuerst kommen die Daten für das Letzte der Schieberegister in der Reihe. Die Reihenfolge im Byte übernimmt in der Regel die SPI- (ggf. auch USART) Hardware im µC.
Das zusammensetzen der Daten muss man vorab im Programm machen, etwa mit D = (D << 1) +1 für das anschalten. D sollte dabei wenigstens 20 Bit Breit sein, also etwa long. Zu senden sind dann erst das 3. Höchste Byte, dann das 2. und zuletzt das low Byte.


Für den Fall das die LEDs nacheinander an / Ausgehen sollte, könnte man ausnahmsweise auch das Schiebend er Daten sofort sichtbar machen. Also erst 20 mal eine 1 rein schieben und dann gleich Übernehmen. Damit gehen die LEDs nacheinander an. Danach das ganze mit einer 0 wiederholen.

Benny1989
23.03.2014, 16:49
ja sisor hab es richtig verbunden denke ich, habe es nach diesem Schaltbild ausgebaut:

27830

das is mein code dazu, habe ihn schon von zwei auf drei Schieberegister geändert:

hier der code:



//Pin connected to ST_CP of 74HC595
int latchPin = 4;
//Pin connected to SH_CP of 74HC595
int clockPin = 3;
////Pin connected to DS of 74HC595
int dataPin = 2;



void setup()
{
//set pins to output because they are addressed in the main loop
pinMode(latchPin, OUTPUT);
pinMode(clockPin, OUTPUT);
pinMode(dataPin, OUTPUT);
}


void loop()
{
int data1 = 256;
int data2 = 1;
int data3 = 2;
for(int i=0; i<8; i++)
{
digitalWrite(latchPin, LOW);
shiftOut(dataPin, clockPin, MSBFIRST, data1 >>8);
shiftOut(dataPin, clockPin, MSBFIRST, data2 & 255);
shiftOut(dataPin, clockPin, MSBFIRST, data3 & 255);
digitalWrite(latchPin, HIGH);
data1*=2;
data2*=2;
data3*=2;
delay(1000);

}
}


wie gesagt vom Code her das die LED einzeln nacheinander angehen erstmal ned schlimm, erstmal verstehen das alle nacheinander angehen.

@ besserwessi,

ja das hab ich verstanden das ich zuerst das letze ansprechen muss und dann das vorletzte und dann das erste,
aber wie ich das umsetze O.o

hier noch ein Bild wie es im echten aussieht:

27831

Sisor
23.03.2014, 17:11
Ich hab noch nicht mit mehreren Schieberegistern gearbeitet, daher ist der folgende Code ohne Gewähr.
So hab ich das verstanden:

long data = 0; // alle Bits aus -> alle LEDs aus

void loop()
{
digitalWrite(latchPin, LOW);
shiftOut(dataPin, clockPin, MSBFIRST, data >>16);
shiftOut(dataPin, clockPin, MSBFIRST, data >>8);
shiftOut(dataPin, clockPin, MSBFIRST, data);
digitalWrite(latchPin, HIGH);

data = (data<<1)+1;
if (data > 1048576) data = 0; // 1048576 = 2^20

delay(1000);
}

Benny1989
23.03.2014, 17:22
okay...... also funktunieren tust genau so wie ich es mir vorgestellt habe!
jetzt muss ich nur noch mit while(1); das ganze begrenzen auf einmal

so funktioniert es doch wenn man was nur ein mal ausführen möchte oder ?
oder kann man es auch in die Setup Funktion schreiben? wie macht man es richtig wenn man
was nur einmal ausführen will?

das ich es aber auch verstehe frage ich nochmal, möchte es ja auch verstehen :D

data = (data<<1)+1;
if (data > 1048576) data = 0; // 1048576 = 2^20

diesen teil verstehe ich nicht, bzw is mir nicht so klar .... wo kann man sowas nachlesen
oder dieses Wissen herbekommen ... echt klasse =)

und du hast in der shiftOut Methode noch >>16 >>8 geändert und dann nur data
damit sprichst du erst den dritten, dann den zweiten und zu letzt das erste Schieberegister an richtig ?

Sisor
23.03.2014, 17:58
Die Funktion hier kannst du im setup mit ledLine(); aufrufen.


void ledLine()
{
long data = 0; // alle Bits aus -> alle LEDs aus
while (data <= 1048576)
{
digitalWrite(latchPin, LOW);
shiftOut(dataPin, clockPin, MSBFIRST, data >>16);
shiftOut(dataPin, clockPin, MSBFIRST, data >>8);
shiftOut(dataPin, clockPin, MSBFIRST, data);
digitalWrite(latchPin, HIGH);

data = (data<<1)+1;
delay(1000);
}
}


Jedes Bit im long data repräsentiert letztendlich eine LED. Das kleinste Bit wird durch die Zahl 1 dargestellt, das nächstgrößere durch 2, dann 4,8,16... D.h. man kann auch sagen 2^n = repräsentierende Zahl. Bsp: 2^4 = 16, also repräsentiert 16 die 4.LED. Insgesamt gibt's 20 LEDs, also ist nach 2^20 = 1048576 Schluss.


und du hast in der shiftOut Methode noch >>16 >>8 geändert und dann nur data
damit sprichst du erst den dritten, dann den zweiten und zu letzt das erste Schieberegister an richtig ?
Ja, richtig.

diesen teil verstehe ich nicht, bzw is mir nicht so klar .... wo kann man sowas nachlesen
oder dieses Wissen herbekommen ... echt klasse =)
Im Zweifelsfall Elektrotechnik studieren, so wie ich.:)

Benny1989
23.03.2014, 18:33
also man muss void loop() durch void ledLine() ersetzen, nur mit while(1); geht es nicht ?

okay dann muss ich mir das bei wiki oder so mit den bit und Byte nochmal genau anschauen und durchlesen.

Ah ja Elektrotechnik studiert, daher weht der Wind, ich als Konstrukteur beherrsche nur die Technische Seite ;)
Könnte man erahnen wenn mein mein Roboter genauer anschaut, wie schon erwähnt, muss mal ne ruhige Minute
finden und ein ausführlichen Bericht schreiben, bzw hier im Forum vorstellen.

Aber so langsam wird's :)

Die 20 LED´s dienen dazu mir ein Ladebalken zu erstellen, wenn ich die Fernsteuerung meines Roboter RSL-7 einschalte,
bis alle Systeme gebootet und hochgefahren sind, anzeigt.

Habe mir folgendes bei Reichelt bestellt:

27832

Das ihr auch wisst für was die 20 LED gut sind :)

Wenn dann die Arduinos und die Funkmodule da sind und der LED Ladebalken auch .... gehts mächtig ans löten und basteln :)

Sisor
23.03.2014, 18:45
Hübsches Projekt, ich hoffe du hältst das Forum auf dem Laufenden!
Nur zum Verständnis: while(1) ist eine Endlosschleife. Übersetzt: Solange die Bedingung in den Klammern nicht 0 ist tue{...}. Und bevor 1 = 0 ist friert die Hölle ein.

Benny1989
23.03.2014, 18:52
ja ich werde noch einen ausführlichen Bericht machen das is versprochen, hab ja auch noch jede Menge vor mit meinem Roboter ....
Zur Zeit bin ich an einem 5-Achs Roboter Arm dran, aber ich will nichts verraten ;-)

Eine Frage noch zu dem Code? .... habe jetzt dein void ledLine89 eingefügt und jetzt lässt es sich nicht mehr Kompilieren O.o



int latchPin = 4;
int clockPin = 3;
int dataPin = 2;



void setup()
{
pinMode(latchPin, OUTPUT);
pinMode(clockPin, OUTPUT);
pinMode(dataPin, OUTPUT);
}


void ledLine()
{
long data = 0; // alle Bits aus -> alle LEDs aus
while (data <= 1048576)
{
digitalWrite(latchPin, LOW);
shiftOut(dataPin, clockPin, MSBFIRST, data >>16);
shiftOut(dataPin, clockPin, MSBFIRST, data >>8);
shiftOut(dataPin, clockPin, MSBFIRST, data);
digitalWrite(latchPin, HIGH);

data = (data<<1)+1;
delay(1000);
}
}

Sisor
23.03.2014, 19:34
War so gemeint:
int latchPin = 4;
int clockPin = 3;
int dataPin = 2;

void setup()
{
pinMode(latchPin, OUTPUT);
pinMode(clockPin, OUTPUT);
pinMode(dataPin, OUTPUT);
ledLine();
}

void loop(){}

void ledLine()
{
long data = 0; // alle Bits aus -> alle LEDs aus
while (data <= 1048576)
{
digitalWrite(latchPin, LOW);
shiftOut(dataPin, clockPin, MSBFIRST, data >>16);
shiftOut(dataPin, clockPin, MSBFIRST, data >>8);
shiftOut(dataPin, clockPin, MSBFIRST, data);
digitalWrite(latchPin, HIGH);

data = (data<<1)+1;
delay(1000);
}
}

Benny1989
23.03.2014, 21:06
okay habe sich ausprobiert .... aber wie sie sehen ? sehn sie nichts :(

wenn ich den code drauflade .... bleiben die LEDs an wo er vorher stehen geblieben ist mit dem Code ....

aber draufladen und kompilieren tut er

- - - Aktualisiert - - -

Sisor sorry wenn ich dir kopf zerbrechen bereitet habe :(

war mein Fehler, ich habe nur den teil mir void ledLine() kopiert, da ich noch mein display Code in den bestehenden
eingearbeitet habe und daher nicht alles kopieren wollte ...... Sorry nochmals! War mein Fehler :(

Aber eine kurze Frage: Die LEDs gehen nach einander an bleiben am Ende aber an, und wenn ich jetzt möchte das sie Alle ausgehen ?
Wie kann ich alle drei Schieberegister sagen: "Mache alle LEDs aus" ??

und da jetzt mit 20 LEDs und den 16x2 LCD Display die Stromversorgung ned mehr reicht, würde ich für die Schaltung gerne evtll extern 6V oder extern 12V
Blei Akku anschließen.

Werde dann die Vorwiedertände für die LEDs oder das LCD Display neu berechnen aber wie schließe ich das an ?
Ich weis nur das Minus (GND) gemeinsam mit dem Arduino (GND) sein muss!
Und wo schließe ich das 6V+ oder 12v+ an ?

Sisor
23.03.2014, 21:40
Aber eine kurze Frage: Die LEDs gehen nach einander an bleiben am Ende aber an, und wenn ich jetzt möchte das sie Alle ausgehen ?
Wie kann ich alle drei Schieberegister sagen: "Mache alle LEDs aus" ??
Am Ende wieder 0 in alle Register schreiben?!
void ledLine()
{
long data = 0; // alle Bits aus -> alle LEDs aus
for(int i = 0; i<=21; i++)
{
if(i==21) data=0;
digitalWrite(latchPin, LOW);
shiftOut(dataPin, clockPin, MSBFIRST, data >>16);
shiftOut(dataPin, clockPin, MSBFIRST, data >>8);
shiftOut(dataPin, clockPin, MSBFIRST, data);
digitalWrite(latchPin, HIGH);

data = (data<<1)+1;
delay(1000);
}
}
Feierabend!

Benny1989
23.03.2014, 22:16
Danke Sisor für deine Hilfe - Feierabend hast recht ;) :P - Gute Nacht

- - - Aktualisiert - - -

So für alle noch mal hab jetzt den Code so wie ich ihn möchte Schaltung auf dem BreadBoard funzt einwandfrei:

-> Arduino Start
-> Display Zeigt an Roboter RSL7 ( Spalte 1 ) - ! System Check! ( Spalte 2 )
-> 20 LEDs nach einander An machen
-> wenn alle 20 LEDs An sind alle auf einmal wieder Ausmachen
-> wenn das der Fall ist, im Display Betriebsbereit in Spalte 2 anzeigen


/* ----------------------------------------

Autor: Benjamin Grammel
Datum: 23.03.2014
Projekt: Roboter RSL-7
Microkontroller: Arduino UNO Rev3 - Zusatzaufgaben
Zusatz Modul: 16*2 LCD Display & LED Ladebalken
Version: 1.3
Verwendungszweck: Anzeigen des LED Ladebalkens
Schrift auf Display anzeigen

------------------------------------------
*/

#include <LiquidCrystal.h>

int latchPin = 4;
int clockPin = 3;
int dataPin = 2;

LiquidCrystal lcd(12, 11, 10, 8, 7, 6, 5);

void setup()
{
// LCD Setup
lcd.begin(16, 2); // Display Art / 16 Spalten & 2 Reihen

lcd.setCursor(0, 0); // Springe zu Reihe 1 & Platz 1
lcd.print("Roboter RSL7"); // Nachricht in Reihe 1

lcd.setCursor(0, 1); // Springe zu Reihe 2 & Platz 1
lcd.print(" !System Check!"); // Nachricht in Reihe 2


pinMode(latchPin, OUTPUT);
pinMode(clockPin, OUTPUT);
pinMode(dataPin, OUTPUT);

ledLine();
}


void ledLine()
{
long data = 0; // alle Bits aus -> alle LEDs aus
for(int i = 0; i<=21; i++)
{
if(i==21) data=0;
digitalWrite(latchPin, LOW);
shiftOut(dataPin, clockPin, MSBFIRST, data >>16);
shiftOut(dataPin, clockPin, MSBFIRST, data >>8);
shiftOut(dataPin, clockPin, MSBFIRST, data);
digitalWrite(latchPin, HIGH);

data = (data<<1)+1;
delay(3000);
}
}


void loop ()
{
lcd.setCursor(0, 1); // Springe zu Reihe 2 & Platz 1
lcd.print("Betriebsbereit!"); // Nachricht in Reihe 2

while(1);
}

cdk
23.03.2014, 23:21
...
Feierabend! Hey - das sei Dir gegönnt! Bist ja mittlerweile wirklich der gute Geist dieses Unter-Forums hier. Ich glaube so langsam sollten wir Dich für's Bundesverdienstkreuz vorschlagen... ;)
Hoffe Du bist noch "da" wenn ich mal wieder Zeit habe mit meinen Spielereien weiterzumachen...


...
/* ----------------------------------------

Autor: Benjamin Grammel
...

Echt? *g*

Ich mach' nur Spaß... ;)

cdk
24.03.2014, 01:28
Werde dann die Vorwiedertände für die LEDs oder das LCD Display neu berechnen aber wie schließe ich das an ?
Ich weis nur das Minus (GND) gemeinsam mit dem Arduino (GND) sein muss!
Und wo schließe ich das 6V+ oder 12v+ an ?

Wenn Du nur alles ab und hinter dem HC595 extern versorgen willst bieten sich 6V an. Dort kannst Du das Schieberegister und die LEDs direkt anschliessen.

Ist aber zu hoch für die 5V-Leitung des Arduino selbst. Für Vin/DCin des Arduinos dagegen wiederum etwas zu wenig um einen stabilen Regelbetrieb zu gewährleisten. Könnte allerdings sein daß es trotzdem geht - ev. mit reduziertem 5V-Pegel des Arduinos. Ein Bleiakku liefert ja immerhin eine optimal stabile Spannung und liegt voll geladen und bei nicht allzu großer Last ohnehin eher in der Region um die 7V.
Das ist die minimale Optimalspannung für Arduino-DCin und gleichzeitig die Maximalspannung für den HC595, d.h. sicherstellen daß hier wirklich nicht mehr als 7V ankommen.
Wenn Du das probierst solltest Du einen zweiten Chip in der Schublade parat haben - habe keine Erfahrung wie leidensfähig die Teile sind wenn sie doch mal etwas mehr Spannung abbekommen...

12V solltest Du dagegen freiwillig auf 5V runterregeln bevor Du sie, in dem Fall, direkt verfütterst. Dabei wird dann zwar mehr Verlustleistung verbraten (schlechtere Effizienz) aber Du mußt Dir wenigstens keine Gedanken um die Wenns und Abers zu machen.

Alles natürlich immer mit gemeinsamer Masse, klar.

Achja - Und "Widerstand" schreibt sich mit kurzem "i"... ;)

Benny1989
24.03.2014, 07:07
ja ich bin noch da :P, habe nicht vor ab zu hauen :D
Bin hier echt zufrieden im Forum, man bekommt sehr viele Infos, nette Leute und interessante Projekte.

Und ja das is mein Name Lach ...... :)

Habe zwar noch nicht ganz verstanden wie du es meinst mit hinter den 74HC595ern, aber ich werd nachher mal die Schaltung
in Fritzing zeichnen .... dann kannst du es mir gerne einzeichnen :P Das mit der Spannung hab ich verstanden, hab sowieso an 6V gedacht.


Mfg Benny

cdk
24.03.2014, 11:40
Und ja das is mein Name Lach ......
Hab' ja nicht wegen Deinem Namen gegrinst, sondern wegen der Bezeichnung Autor. Aber wie gesagt - ist nur Spaß ;)


Habe zwar noch nicht ganz verstanden wie du es meinst mit hinter den 74HC595ern Na eben die LEDs oder was da sonst noch kommen mag.

Apropos was da sonst noch kommen mag: Ich glaube es würde sich ohnehin lohnen über ein Gesamt-Stromversorgungskonzept nachzudenken. Du experimentierst ja fleißig in alle Richtungen und wenn ich das richtig verstehe werden all diese Projekte irgenwann zu einem zusammengefaßt. Und da läppern sich dann schnell ein paar A zusammen, auch wenn man die Hauptantriebsmotoren ganz außer acht läßt...

Benny1989
24.03.2014, 17:01
achso, wegen dem " Autor" grins ...... ja ich dachte ich bezeichne das mal so :D :D :D

Ja das is richtig, da muss ich mir noch was überlegen.
Fakt ist, das die beiden 750Watt Motoren über zwei alleinige 12V 38Ah GellAkkus betrieben werden, also ich fahre die Motoren mit 24V und 38Ah.

Fakt ist auch das die Steuerung also mit den NRF24L01+ Modulen und zwei Arduinos übernehmen, die ansonsten keinerlei Aufgaben mehr übernehmen müssen.
Habe mir jetzt noch ein UNO Rev3 bestellt, wenns alles so klappt wie es soll werde ich mir zwei Nano´s zulegen die dann nur die Steuerung übernehmen.

Dann brauch ich noch in meinem Sender / Fernsterung ein Uno mit dem ich Spielen kann :D :D wenn man das so nennen will^^grins

Dazu ist auch die 20-fache LED Bargraph Geschichte mit dem Display.
Möchte einfach nach dem Einschalten des Senders / Fernsteuerung eine Anzeige haben, ab wann ich losfahren kann.
Genau so wie auf dem Display dann " !System Check!" und "Betriebsbereit" Stehen soll.

Wenn mal ein Video gewünscht ist oder Bilder einfach sagen ...

Hier mal noch zwei Bilder wo man etwas Mechanik sieht und auch die GelAkku´s.
Sind zwei Bilder aus dem Prototypenbau, deswegen noch ohne Verkleidung und große Elektronik.

2784127842

Mein Sender / Fernsteuerungskonzept hab ich auch schon wieder verworfen und verbessert, dazu kann ich aber dann in meinem ausführlichen
Bericht mehr berichten.

Mfg Benny

Benny1989
25.03.2014, 10:56
Malzeit,

eine Frage bezüglich meines LCD Display (16x2):

was hab ich eigentlich für Möglichkeiten, die Pin´s am Arduino zu verringern ??
Also statt 7 Pin´s belegt vllt wie bei den 20 LED´s nur 3 Pin´s am Arduino zu belegen!

Kann ich das auch mit dem Schieberegister ansteuern ? oder Gibt es da ein Shield evtll ?

Währe das so ein Shield wo ich verwenden könnte ?
http://www.exp-tech.de/Shields/LCD-Controller/I2C-LCD-Interface-v3-Kit.html

Mfg Benny

cdk
25.03.2014, 19:37
eine Frage bezüglich meines LCD Display (16x2):

was hab ich eigentlich für Möglichkeiten, die Pin´s am Arduino zu verringern ??
Also statt 7 Pin´s belegt vllt wie bei den 20 LED´s nur 3 Pin´s am Arduino zu belegen!

Kann ich das auch mit dem Schieberegister ansteuern ? oder Gibt es da ein Shield evtll ?
Mit Schieberegister geht das sicher auch, ist aber unüblich. Meistens wird I2C für LCDs verwendet - dazu gibt's auch die meiste Community- und WWW-Unterstützung. Braucht nur 2 Pins, ist für LCD schnell genug und wird dadurch nicht exklusiv reserviert, d.h. es sind weitere I2C-Geräte anschließbar.


Währe das so ein Shield wo ich verwenden könnte ?
http://www.exp-tech.de/Shields/LCD-C...ce-v3-Kit.html Dürfte gehen, mußt halt immer rausfinden wie Du die Pinzuordnung anpaßt und Du das der verwendeten Bibliothek verkaufen kannst. Angeblich ist die Pinbelegung der üblichen Displays zwar meistens, aber nicht immer gleich.

Als Nicht-Profi würde daher lieber ein Komplettset (Display + I2C) kaufen oder gleich eine fertige Einheit. Ich habe dieses hier:
http://www.amazon.de/gp/product/B007XRHBKA/sr=8-2/qid=1395774874/ref=olp_product_details
Hat dank Sisors Anleitung (https://www.roboternetz.de/community/threads/64163-20x4-Display-mit-I2C-Controller-Setup-und-Hello-World) auf Anhieb funktioniert.

Dort wurde als Alternative dieses empfohlen:
http://shop.cboden.de/Displays/20x4-I2C-LCD-Erweiterungssatz.html
Etwas billiger und besser konfigurierbar, sollte gleichermassen funktionieren...

Benny1989
25.03.2014, 19:45
Okay, danke für die Info, werde ich dann schaun ob ich es beim nächsten Amazon bestellen mit bestelle.
Momentan geht es auch so aber braucht halt 7 Pin´s.

Meint ihr eigentlich das wenn man das NRF24L01 Modul irgendwo reinhaut .... also einmal in den Roboter
und einmal in die Fernsteuerung das da die Reichweite sehr drunter leided?

Weis nicht ob ich mir das mit oder ohne Antenne kaufen soll ?

Mit Antenne
http://www.exp-tech.de/Shields/NRF24L01-with-PA-and-LNA-Module.html

Ohne Antenne
http://www.exp-tech.de/Shields/ITead-Studio-2-4G-Wireless-nRF24L01-Module.html

Mfg Benny

cdk
25.03.2014, 19:48
Ich nehme alles zurück, LOL. Bin beim rumstöbern auf diesen Artikel gestoßen:
http://www.rn-wissen.de/index.php/LCD-Modul_am_AVR#Ansteuerung_.C3.BCber_Porterweiterung
Da nehmen sie genau Dein Schieberegister und ein Standard-LCD...

Bleibt nur noch das Problem eine geeignete Arduino-Library zu finden (sollte aber kein unlösbares Problem sein) ... oder zu selbst schreiben :)

Benny1989
25.03.2014, 19:55
hmm okay, aber das mit der eigenen libary zu schreiben, soweit bin ich glaube ich noch nicht :D

Da bietet sich das mit der I2C Geschichte schon besser an .... für mich zumindest verständlich.

Für die NRF24L01 Module will ich mir zwei Shields machen lassen, wo ich dann nur die Kabel stecken muss
so wie ich sie brauche, wollte das Shield komplett selber machen, aber da muss ich wieder Kabel löten und das
sieht bestimmt ned so schön aus wie eine Hergestellte :D :D

27858

cdk
25.03.2014, 20:14
Für solche Sachen habe ich mir ein paar von diesen hier zugelegt:
http://www.watterott.com/de/Shield-Proto-PCB-Rev3

Bei dem Preis kommen einem auch nicht gleich die Tränen wenn man mal eins vergeigt hat und fortschmeissen kann...

Benny1989
25.03.2014, 20:16
ja an das hab ich auch zuerst gedacht, aber dann muss ich ja wieder so viel Kabel anlöten.
Wenn ich das Shield ätzen lasse brauche ich nur die Pins für den Arduino einlöten und die für das Modul.

Magst du mal ein Bild posten von einem Shield wo du dir selbst gebaut hast ..... " Lieb gugg " ...

cdk
25.03.2014, 20:44
Arbeite bisher noch mit meiner 0.1er-Version ;) eines Lochrasteraufbaus. Vl ermutigt's Dich ja aber wenigstens dahingehend daß Du siehst daß andere Leute auch nicht schöner löten...

Das hatte ich mir spontan gezimmert aus dem was meine Bastelbude daheim zufällig zu bieten hatte als der Arduino kam - sind also sogar aus Pfostenleiste selbstgemachte Jumperkabel, die nichtmal richtig anreihbar sind weil zu breit. Auf der Unterseite ist noch ein Piezo.

Aber egal wie's aussieht war's die perfekte Ausgangsbasis für meine Programmierübungen und die Ansteuerung einfacher Sensoren wie auch des Displays...

27859

Das erste fertige Projekt wird dann aber auf einem Protoshield landen, was ich oben verlinkt habe. Ich finde für Schaltungen dieser Größe lohnt sich ein individuell gefertigtes PCB IMHO nicht...

Benny1989
25.03.2014, 21:22
sieht doch gut aus, so siehts bei mir auch aus^^

das shield was ich oben gepostet hab als vild würde mich 25€ kosten. dafür währe es dann fertig und ich muss die Kabel nicht selbst einlöten.

was meinst du denn mit PCB IMHO ??

- - - Aktualisiert - - -

wenn ich es mit den Kabeln selbst löte, sollte es so aussehen, einmal für das NRF2401+ Modul.

Das eine Shield bekommt dann noch Pin´s für den Fahrtenregler ( Empfänger )
und das andere Shield dann noch Pin´s für die beiden Joysticks ( Sender )

27860

Das Shield hat den Vorteil das ich dann grad die Kabel vom Breadboard nehmen kann und
auch mal die Pin´s tauschen kann. Sonst lötet man was fest für Pin 2 vorgesehen und plötzlich braucht man
es für Pin 5, dann is doof ...

Ist richtig das ich drauf achten muss das dass NRF24L01+ Modul 3,3V statt 5V bekommt ???

cdk
25.03.2014, 21:28
was meinst du denn mit PCB IMHO ??

LOL sorry - ich meinte "Printed Circuit Board (=gedruckte Schaltung in 3 Buchstaben)" und "In My Humble Opinion" (= meiner Meinung nach in 4 Buchstaben). Ein Hoch auf die neudeutsche Sprachkultur... *gg*...


dafür währe es dann fertig Bei mir wäre das Problem: Es wird NIEMALS fertig sein, zumindest falls ich das Teil auch benutze :). Man findet immer was zum verbessern. Und dann sieht die schönste Leiterplatte nach einem halben Jahr genauso abgewrackt aus wie von vornherein selbstgebastelt...

Und um zur Abwechslung nochmal was on topic zum Besten zu geben: An Deiner Stelle würde ich vl erstmal bei der Schieberegisteransteuerung bleiben. Die "State-of-the-Art" LCD Library von F.Malpartida, welche ich auch für mein I2C-Modell verwende, scheint nämlich auch dafür geeignet zu sein:
https://bitbucket.org/fmalpartida/new-liquidcrystal/wiki/Home
Die bezieht sich u.a. auch ausdrücklich auf die Hardware, die Du bereits auf dem Steckbrett hast:
https://bitbucket.org/fmalpartida/new-liquidcrystal/wiki/schematics#!latch-shift-register

Benny1989
25.03.2014, 21:38
achso da hast du natürlich recht, ich kanns ja dann immer noch ätzen lassen wenn es so weit ist.

wie gesagt, als erstes möchte ich jetzt die funkt Verbindung in angriff nehmen, und das dass LED Bargraph und das LCD Display.
Erstmal is ja wichtig das steuern meines Roboters das wie besagt der Bargraph und das Display :D

Werde mir das bestellen und dann die zwei benötigten Shields basteln, kann dann auch gerne wieder Bilder posten :)
Finde das mit den Shields eine gute Sache^^

Und wenns an das LCD Display geht muss ich mir deine Links nochmals genauer anschauen.
Also wenn ichs richtig verstanden habe, kann ich es auch mit einem 74HC595 Register realisieren ?

cdk
25.03.2014, 23:51
Und wenns an das LCD Display geht muss ich mir deine Links nochmals genauer anschauen.
Also wenn ichs richtig verstanden habe, kann ich es auch mit einem 74HC595 Register realisieren ? Wenn Du's auf die anschliessen&geht-Tour haben willst kaufst Du Dir das o.g. Amazon-Display und hältst Dich an Sigors LCD Thread (auch oben verlinkt).

Wenn Du den bereits auf dem Steckbrett befindlichen HC595 weiterverwenden willst reißt Du die LEDs raus und schließt stattdessen Dein LCD an. Ich würde hier bei meinem letzten Link die 2. Schaltungsvariante nehmen "Three wire latch Shift Register Schematic". Die ist einfach gestrickt und man kommt nicht in Verlegenheit mit Diode oder R/C variieren zu müssen. Bin guter Hoffnung daß es dann einfach so funktioniert.

Allerdings mußt Du noch das Backlight aufschalten. Ich würde das erstmal nicht zum Arduino führen sondern Pin 15 über 220R fest auf Plus legen und Pin 16 fest auf Masse. Ist dann halt nicht abschaltbar.

Außerdem kümmern sich die da auch nicht um den Kontrast-Pin. Den steuert man entweder über Poti mit Vorwiderstand an (siehe die anderen Schaltungsbeispiele), womöglich funktioniert's aber auch schon wenn Du ihn einfach auf Masse legst - hängt vom Display ab.

So oder so mußt Du jedoch anhand des Datenblatts kontrollieren ob Dein Display der Standardbelegung entspricht, von der sie in den ganzen Beispielen ausgehen! Ist aber ziemlich wahrscheinlich daß es das tut.

Wenn die Hardwareseite geklärt ist schaust Du Dir Sisors Beispiele an.

- Anstelle von #include "LiquidCrystal_I2C.h" verwendest Du #include "LiquidCrystal_SR.h".

- Anstelle von LiquidCrystal_I2C lcd(0x3f,2,1,0,4,5,6,7,3,POSITIVE); verwendest Du LiquidCrystal_SR lcd(x, y, z);.
x, y, z sind die mit DATA, CLOCK, ENABLE verbundenen Arduino-Pinnummern.

- Und Dein lcd.begin lautet natürlich lcd.begin(16,2).

Wenn's nicht klappt kann ich Dir auch nicht mehr weiterhelfen weil ich das hier nicht nachstellen kann - aber einen Versuch ist's wert...

Benny1989
26.03.2014, 17:24
danke für die viele Info, CDK.

ich bin auch bei Arduino.cc auf folgendes gestoßen.

http://playground.arduino.cc/Main/LiquidCrystal#.UzMMK9xAigg

27862


#include <SPI.h>

//some comments missing here but they will be in the original sketch

// include the library code:
#include <LiquidCrystal.h>

// initialize the library with the number of the sspin
//(or the latch pin of the 74HC595)
LiquidCrystal lcd(10);

void setup()
{
// set up the LCD's number of columns and rows:
lcd.begin(20, 4);
// Print a message to the LCD.
lcd.print("hello, world!");
}

void loop() {
// set the cursor to column 0, line 1
// (note: line 1 is the second row, since counting begins with 0):
lcd.setCursor(0, 1);
// print the number of seconds since reset:
lcd.print(millis()/1000);
}

das sieht doch auch ned schlecht aus?
das könnte doch auch funktionieren oder ?

das mit dem I2C kann ich ja dann immer noch ausprobieren.

Mfg Benny

cdk
26.03.2014, 19:13
Klar, sollte auch laufen. Damit ist dann halt das SPI belegt - egal wenn man's eh' nicht braucht. Allerdings modifiziert man sich damit auch seine Original-Libraries wenn man der Anleitung folgt - und das gefällt mir nicht so gut. Ein halbes Jahr später hat man das vergessen und verzweifelt plötzlich daran wenn Standardsoftwarebeispiele nicht mehr das erwartete Ergebnis liefern.

Hier ist noch'n Bild von einem Aufbau mit Protoshield. Hat ein Geschäftskollege gebaut - der kann löten und hat auch die dazu erforderliche Geduld...

27863

Und ja ich weiß der eine R sieht schon etwas mitgenommen aus... *g*
Ist halt ein Laborprototyp aber dafür sieht das doch ganz anständig aus, oder?

Sisor
26.03.2014, 19:31
Allerdings modifiziert man sich damit auch seine Original-Libraries wenn man der Anleitung folgt - und das gefällt mir nicht so gut. Ein halbes Jahr später hat man das vergessen und verzweifelt plötzlich daran wenn Standardsoftwarebeispiele nicht mehr das erwartete Ergebnis liefern.
Darüber braucht man sich in diesem Fall keine Sorgen machen. Das einzige was geändert wird ist, dass 2 normalerweise interne Methoden jetzt von außen angesprochen werden können. Da also normalerweise kein Programm diese Methoden anspricht, wird die Modifikation nie einen Fehler produzieren.

Benny1989
26.03.2014, 19:39
okay ich werd das mal mit dem Beispiel testen.
Ist ja auch eine recht einfache Geschichte weil das LCD ja nur was anzeigen soll mehr nicht, gibts bestimmt weitaus anspruchsvollere LCD Display Sachen.

Ja das Shield sieht richtig gut aus, hoffe meins wird genau so gut, Geduld hab ich auch etwas an dem sollte es nicht scheitern.
eine Frage hat dein Kollege die Kabel unter dem Shield verlegt ? also wenn er was verbinden möchte ? ich habs bei meinen Platinen immer oben rum gemacht.

Morgen kommt die Lieferung mit den Shields zum selber machen und den NRF24L01+ Modulen.

Hab heute schon meine Fernsteuerung vorbereitet, muss nurnoch das Shield basteln und die Module testen.
Wenn Bilder erwünscht einfach sagen :D :D

@ Sisior

wenn ich an die LCD Geschichte gehe .... hab ich bestimmt die eine oder andere Frage, nur wie gesagt
ohne I2C oder ohne 74HC595 also mit 7 Pin´s funkt es ja =)

Mfg

Sisor
26.03.2014, 19:47
@ Sisior

wenn ich an die LCD Geschichte gehe .... hab ich bestimmt die eine oder andere Frage, nur wie gesagt
ohne I2C oder ohne 74HC595 also mit 7 Pin´s funkt es ja =)

Mfg
Dann machs lieber mit 7 Pins...;)
Ne, im Ernst: Je weniger Bauteile, desto weniger Fehlerquellen und Stromverbrauch.

Benny1989
26.03.2014, 19:51
lach da könntest du recht haben, aber werde trotzdem versuchen und dann schauen obs geht oder nicht :)

Werd ja zwei Arduinos in meiner " Fernsteuerungszentrale " ( wie ich es heute liebe voll getauft habe =) ) verbauen,
das ein Arduino nur die Übertragung der Joysticks zum Empfänger Arduino übernimmt.

Hab auch 12V an Bord .... also kein Problem =)

cdk
26.03.2014, 20:21
Ja das Shield sieht richtig gut aus, hoffe meins wird genau so gut, Geduld hab ich auch etwas an dem sollte es nicht scheitern.
eine Frage hat dein Kollege die Kabel unter dem Shield verlegt ? also wenn er was verbinden möchte ? ich habs bei meinen Platinen immer oben rum gemacht. Klar, die "Leiterbahnen" sind auf der Unterseite - hauptsächlich Schaltdrähte. Ist an der Stelle aber auch sinnvoll - womöglich ändert sich ja doch mal ein Pin in der Software und dann kann man das leicht nachführen.

Benny1989
26.03.2014, 20:40
ja genau so hab ich mir das für meine Shields auch gedacht.
wobei ich ja wie man an dem Bild sieht, wo ich gepostet hab, das ich solche
Buchsenleisten verwenden will, das ich die Kabel vom Breadboard verwenden kann.
So kann man es auch ganz leicht ändern wenn sich ein Pin ändert.

kann ich morgen Abend dann mal ein Bild posten von meinem realen selbst gebauten Shield

Benny1989
27.03.2014, 18:01
Guten Abend Zusammen,

wollte kurz von meinem ersten Shield bau für mein NRF24L01+ Modul berichten.

Ich denk Bilder sagen mehr als 1000 Worte, ich hoffe bzw ich denke für mein erstes ist es mir gut gelungen ...

2787627877278782787927880

Kurz zur Funktion:

Ich hab für das Funkmodul und die Joysticks jeweils Buchsenleisten angelötet, so das ich schön mit dem Kabeln vom Steckbrett hantieren kann.
Wie ich schon erwähnt habe, das wenn sich ein Pin ändert, kann ich es einfach und bequem umstecken.
( Auf den letzten Bildern sieht man die neue "Fernsteuerungseinheit" :D wie ich es nenne, soll ja noch das Display und der LED Bargraph verbaut werden)

Werde morgen das Shield für den Empfänger Arduino basteln und kann am Wochenende wenn ich es fertig angeschlossen habe, gerne nochmals ein Bild posten.

Mfg Benny

cdk
27.03.2014, 18:46
Das Funkmodul inkl. Antenne innerhalb eines Metallkoffers zu betreiben dürfte aber ziemlich suboptimal sein...

Benny1989
27.03.2014, 19:59
Auf die Aussage hab ich gewartet :) Grins kannst ja ned wissen,
aber das is ein ganz preisgünstiger Koffer mit Aluminium Folie Überzogen :)

Aber zur Sicherheit hab ich noch ein NRF24L01 Modul mit externer Antenne mit bestellt ;-)

Benny1989
19.04.2014, 20:42
Guten Abend,

ich hätte eine kleine Frage, zu meiner Schaltung.

Es geht um die Strom Versorgung ! Ich möchte gerne den Arduino mit einem 9V Akku Block versorgen, und die
Hauptschaltung mit einem 12V Blei Akku versorgen.

Da der 9V Akku nicht so lange hält und auch die beiden Displays nicht schaft, und es sollen ja noch zwei hinzu kommen.

Hab euch mal meine Schaltung hofgeladen, gezeichnet mit Fritzing und wo man etwas genauer sieht was ich meine!
Ich habe auch noch ein Spannungswandler eingezeichnet, der eine Eingansspannung von 7 bis 24 Volt verträgt.
Also Ausgangsspannung kann er 5V oder 6V. Wobei ich ja die 5V benötige.

Ich weis, das wenn man sowas machen möchte muss der Arduino GND und der 12V Blei Akku GND gemeinsam sein.
Nur wo schließe ich jetzt den + des 12V Blei Akkus an?

Vllt könnte mir jemand weiter helfen und einen Tipp geben.

Mfg Benny

28018

cdk
19.04.2014, 22:40
So ganz verstehe ich Dein Vorhaben - und die Frage nicht. Die +12V schließt Du natürlich an den Komponenten an, die Du damit versorgen willst. Wichtig ist aber
1. daß die Masse-Signale der verschiedenen Stromquellen verbunden sind - das hast Du ja beachtet.
2. daß die damit versorgten Schaltungsteile auch dafür ausgelegt sind!

Wenn Du z.B. die LEDs bisher mit 5V versorgt hast und sie jetzt auf 12V umstöpselst mußt Du mindestens die Vorwiderstände ändern. Beim HC594 bin ich nicht so sicher daß man es überhaupt direkt mit 12V betreiben kann, mußt mal ins Datenblatt schauen. Wenn nicht müsstest Du dann Transistortreiber zwischenschalten. Und so weiter und so fort. Da geht's im Detail darum was genau Du damit betreiben willst...

Und was machst Du mit dem Spannungswandler? Soll der die 9V-Batterie ersetzen?

Es wäre wohl am einfachsten wenn Du mit dem (falls er kräftig genug ist) eine zweite 5V-Versorgung z.Vfg. stellen würdest für alles "was Strom braucht" um den armen Onboard-Spannungswandler des Arduino davon zu entlasten.

Benny1989
19.04.2014, 22:54
Ne, möchte nichts mit 12V betreiben, sondern schon alles mit 5V aber nicht nur über den Arduino und seinem
9V Block sondern mit Hilfe des Spannungswandler der ja Aus 12V - 5V macht.

Hintergrund ist der, beide Displays sind an und wie ihr ja wiest ... Geht eine LED nach einander an.

Und um so mehr LEDs an gehen um so dunkler werden die Displays ..... Wenn die LEDs alle wieder ausgehen.
Dann sind die Displays wieder hell wie vorher.

Das heist für mich das der 9V block nicht ausreicht, und ich mochte das der 9V block nur den Arduino mit
Strom versorgt und die Schaltung wird mit dem 12V Akku versorgt.




Es wäre wohl am einfachsten wenn Du mit dem (falls er kräftig genug ist) eine zweite 5V-Versorgung z.Vfg. stellen würdest für alles "was Strom braucht" um den armen Onboard-Spannungswandler des Arduino davon zu entlasten.


Ja genau das hab ich vor - so möchte ich es haben. :)
Muss ich dann alle + Leitungen an den Spannungswandler an dem ja der 12V Akku hängt, anschließen.
Und alle GND Leitungen samt Arduino GND zusammen das is klar .

Oder was muss ich mit der + Leitung machen ?

cdk
20.04.2014, 01:41
Muss ich dann alle + Leitungen an den Spannungswandler an dem ja der 12V Akku hängt, anschließen. In erster Näherung ja. Aber wohlgemerkt an den 5V-Ausgang Deines Wandlers.
Und weiterhin würde ich noch etwas selektieren - die empfindlicheren und wenig stromfressenden Komponenten würde ich am Arduino lassen und nur die "Stromverbraucher" an die Wandler-5V.

Glaube nämlich nicht daß das von Dir beobachtete Phänomen auf die Schwäche der 9V-Batterie zurückzuführen ist. Da ist erstmal die "lumpige" Verdrahtung der Stromversorgung (= Experimentieraufbau mit vielen gesteckten, dünnen Kabeln - besonders bei der Masseführung) verantwortlich, denke ich.

Wenn Du Deine Arduino-5V von groben Stromfressern (LEDs, auch die Backlight-LEDs der LCDs) befreit hast kannst Du auch mal versuchen dem Arduino an der DC-Buchse direkt die Batterie-12V zu verfüttern aber dann gleich erstmal vorsichtig den Finger auf den Onboardregler um zu prüfen wie heiß der wird und ob man ihm das auf Dauer zumuten kann. Vorsichtig weil heiß werden wird's schon... :)

*Nur geschätzt*: Wenn der unter 50mA bleibt sollte er das schaffen, bei 100mA wird's schon sehr knapp und darüber laß es lieber sein.

HeXPloreR
20.04.2014, 08:55
Frohe Ostern :-b

Benny1989
20.04.2014, 10:35
Hallo Community,

Wünsche euch allen Frohe Ostern,

ich hab mein Schaltplan nochmal überarbeitet!

Ich habe jetzt die beiden LCD Display´s an den Spannungswandler angeschlossen.
Also das + und das GND hab ich an den vom Arduino angeschlossen.

So währe es doch richtig oder ?
Wenn ich es richtig verstanden habe, kann ich alles was wenig Strom benötigt, an den Arduino anschliessen
und alles was etwas mehr Strom brauch an den Spannungswandler anschließen, aber immer nur das + und
GND an den GND vom Arduino? Hab ich das so richtig verstanden?

28021

Mfg Benny

cdk
20.04.2014, 13:40
Also mit dem Fritzing-Zeugs tue ich mir schwer, aber so wie's aussieht versorgst Du jetzt doch nur die LCDs mit dem Wandler, die LED-Platine dagegen nach wie vor per Arduino. Für meinen Geschmack also gerade falsch herum...
Oder gleich *alle* Peripherie auf den Wandler hängen. Damit wären die Arduino-5V vermutlich genügend geschont daß man ihm die Batterie-12V direkt auf die DC-Buchse geben kann.

Außerdem würde ich die Masseverteilung nicht auf einem gesonderten Steckbrett vornehmen sondern direkt und ohne Umwege (d.h. ohne zusätzliche Kabel und Steckverbindungen) beispielsweise vom Wandler-Steckbrett aus verteilen.

Benny1989
20.04.2014, 13:48
ja die displays brauchen doch mehr als die LEDs ? oder nicht?

Aber ich kann ja auch gleich alle, wie du ja schon gesagt hast, an die + Leitung vom Wandler hängen.
Sollte auch funktionieren, oder muss das trotzdem noch mit dem Arduino verbunden werden?

Ja das sieht nur auf dem gezeichneten so wild aus, wir sind ja nachher auf eine Lochraster Platine, da sieht das ganz anderst aus.
Das gezeichnete von Fritzing ist nur als Anschauung und zu Orientierung .....

cdk
20.04.2014, 20:03
LCD-Displays brauchen nahezu überhauptkeinen Strom - denk mal an Deinen Taschenrechner. Wenn man von ihrem Backlight absieht, was ja auch wieder LEDs sind. Sind doch LCDs, die Du da hast, oder?


Aber ich kann ja auch gleich alle, wie du ja schon gesagt hast, an die + Leitung vom Wandler hängen.
Sollte auch funktionieren, oder muss das trotzdem noch mit dem Arduino verbunden werden? Die Massepotentiale müssen immer verbunden werden (außer bei galvanischer Trennung).

Benny1989
21.04.2014, 08:39
Danke CDK für deine Hilfe, ich werd es mal versuchen und kann ja berichten obs geklappt hat ...

cdk
21.04.2014, 12:55
Danke CDK für deine Hilfe, ich werd es mal versuchen und kann ja berichten obs geklappt hat ...
Ja, mach das!

021aet04
27.04.2014, 18:14
Ich würde die gesamte Schaltung vom 12V Akku aus versorgen. Wenn die Spannung für den Arduino zu groß ist (der Spannungsregler schafft die Verlustleistung nicht) kannst du entweder den Spannungsregler tauschen (wenn es ein Standard 7805 ist gibt es Schaltwandlervarianten) oder einen Spannungsregler bzw Zenerdiode davorsetzen. Bei der Zenerdiode den Vorwiderstand nicht vergessen.

MfG Hannes

Benny1989
08.05.2014, 11:29
Hallo Hannes,

also du meinst! Statt einem 9V Akku ein 12V Akku verwenden?
Also der Akku der den Arduino speist?

Das hab ich auch schon ausprobiert! da tritt das gleiche Phänomen auf! wenn alle 20 LED´s an sind
wird das Display dunkler, und ich will ja noch mehr Display´s anschließen.

Hab mir jetzt noch zwei LCD Display´s (20x4 ) besorgt, die mit I2C angeschlossen werden, da weis ich e noch nicht
wie ich zwei Display´s mit I2C anschließe , muss ich noch erkundigen.

Deswegen wollte ich den externen 12V Akku für die Verbraucher haben und der 9V Akku allein für den Arduino.

Mfg Benny

redround
08.05.2014, 12:04
ein ganz einfaches Beispiel für die Einführung in LCD mit Arduino findest Du unter: http://cboden.de/mikro-controller/digispark/lcd-anzeige

statt der TinyWireM musst Du aber wahrscheinlich WireM Bibliothek nehmen.

#define GPIO_ADDR 0x27 <-- hier musst Du die passende I2C Adresse des Displays eintragen

LiquidCrystal_I2C lcd(GPIO_ADDR,16,2); <-- für ein 20x4 Display musst Du das auch noch anpassen. Die Angaben sind für ein 16x2 Display

Rabenauge
08.05.2014, 15:45
Diese Displays brauchen relativ viel Strom-ich glaub, das Ding frisst mehr als mein kleines TFT! Keine Ahnung, wieso aber ist halt billig. Dafür illuminieren die Nachts auch die ganze Bude..
Hab da auch was im Hinterkopf, dass die nur einige (drei?) Adressen verpasst bekommen können, damit wärs schon unmöglich, viere von zu betreiben.
Müssen es denn diese Gurken sein?

Falls es darum geht, ausreichend Informationen anzeigen zu können, gibts ja nun wirklich besseres-für kleines Geld. So richtig stromsparend (und schnell) sind beispielsweise die kleinen OLED-Displays, aber auch auf nem 1.8" TFT (allerdings kenn ich da keine I2C-fähigen, die sprechen SPI) kann man mehr Informationen anzeigen, als auf vieren dieser LDD-Dinger- und das auch noch bunt.

redround
08.05.2014, 16:23
wenn mehrere Displays an einem I2C hängen sollen, sind übrigens diese Backplanes ganz praktisch: http://shop.cboden.de/Displays/I2C-Back-Plane-fuer-HD44780-Displays.html

Damit kannst Du 8 LCD an mit einem I2C steuern. Wenn Du den PCF auf dem Backplane austauscht, gehen nochmal 8 weitere. Irgendwo gabs 20x4 Displays auch schon mit diesen Backplanes ... finde ich jetzt aber nicht auf die Schnelle

Benny1989
08.05.2014, 20:37
okay danke für die Info, vorerst währen es mal zwei 20x4 über I2C.
Die OLED Geschichte muss ich mir mal anschauen, bin auch noch recht neu und das sind
ja alles Geschichten wo es richtig zur Sache geht!

Ich hab jetzt grad verstanden mein Roboter mittels NRF24L01+ Modul zu steuern,
User Sisor hat mir sehr sehr geholfen die Code Geschichte zu verstehn.

Wie sagt man ... Stück für Stück,
Also ein LCD 20x4 hab ich ja schon und würd ich auch gern behalten, da is schon alles Fertig im Roboter
bzw Fernsteuerung verbaut - Platine gelötet und Schaltung usw! genauso die eigentliche Thema Geschichte mit den 20 LED Bargraphen !

Für das zweite Display kann kann ich mir dann die OLED´s mal anschauen, hatte noch nie damit zu tun!

Mfg Benny