Hilfestellung bei drei Schieberegistern und 20 LED´s
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
Liste der Anhänge anzeigen (Anzahl: 2)
ja sisor hab es richtig verbunden denke ich, habe es nach diesem Schaltbild ausgebaut:
Anhang 27830
das is mein code dazu, habe ihn schon von zwei auf drei Schieberegister geändert:
hier der code:
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:
Anhang 27831
Liste der Anhänge anzeigen (Anzahl: 1)
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:
Anhang 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 :)
Liste der Anhänge anzeigen (Anzahl: 2)
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.
Anhang 27841Anhang 27842
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
Liste der Anhänge anzeigen (Anzahl: 1)
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
Anhang 27858
Liste der Anhänge anzeigen (Anzahl: 1)
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...
Anhang 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...
Liste der Anhänge anzeigen (Anzahl: 1)
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 )
Anhang 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 ???
Liste der Anhänge anzeigen (Anzahl: 1)
danke für die viele Info, CDK.
ich bin auch bei Arduino.cc auf folgendes gestoßen.
http://playground.arduino.cc/Main/Li...l#.UzMMK9xAigg
Anhang 27862
Code:
#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
Liste der Anhänge anzeigen (Anzahl: 1)
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...
Anhang 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?
Liste der Anhänge anzeigen (Anzahl: 5)
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 ...
Anhang 27876Anhang 27877Anhang 27878Anhang 27879Anhang 27880
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