Show Posts
Pages: 1 ... 68 69 [70] 71 72 ... 163
1036  International / Deutsch / Re: LCD I2C Arduino MEGA 2560 on: September 16, 2013, 08:10:38 am
schwere Geburt

Tja, gegen den hochgelobten technischen Support eines Langhaarperücken-Verkäufers aus China hat so ein Reply #9 es natürlich sehr schwer, Beachtung zu finden.
 smiley-wink

Gratulation zum funktionierenden I2C-LCD!
1037  International / Deutsch / Re: LCD I2C Arduino MEGA 2560 on: September 16, 2013, 07:09:29 am
Nee also zwecks löten mache ich mir da keine Sorgen.

OK, und hast Du die in  Reply #9 genannte Library mal installiert und verschiedene alternative Initialisierungen mit abweichenden Pinbelegungen für weniger handelsübliche (aber dennoch verfügbare) Backpack-Platinen ausprobiert?
1038  International / Deutsch / Re: LCD I2C Arduino MEGA 2560 on: September 16, 2013, 06:57:30 am
Mit ner alten Library konnte ich jetzt dann doch nen blinkenden Cursor darstellen, aber der Text davor fehlte einfach.

Wie sieht es denn mit Deinen Lötkünsten beim Auflöten der Backpack-Platine aus?
Sind das alles saubere und einwandfreie Lötstellen geworden?

Oder könnte es sein, dass es zwischen Backpack-Platine und LCD-Platine nun entweder "kalte" Lötstellen gibt (kein Kontakt, Wackelkontakt) oder eine Lötbrücke zwischen zwei Pins?
1039  International / Deutsch / Re: Passende Buchsenleiste für Shield-Platine gesucht on: September 16, 2013, 04:55:21 am
Allerdings müssten die Metallpins unten an der Buchsenleiste so lange sein, dass ich sie durch die Platine stecken kann und dann, wenn sie verlötet sind, in die Steckerleiste der Arduino-Platine einstecken kann.

Weiß jemand vielleicht, wie diese Dinger genau heißen (am liebsten bei Reichelt, da ich da sowieso was bestellen will)? Oder wo und unter welchem Namen man die Teile sonst bekommt?

Bei eBay findet man mit der Suchoption "weltweit" was mit den Suchbegriffen "header pin female long" von Versendern in den USA, Kanada und China. Die sind wohl nicht besonders handelsüblich.
1040  International / Deutsch / Re: Hilfe für Arduino Uno und Encoder on: September 15, 2013, 06:25:54 pm
Wenn ich die von dir vorgeschlagene Änderungen mache funktioniert das zählen einwandfrei aber ich kann nicht mehr andere Menüs wählen.

Die vorgeschlagene Änderung benötigt 2 Bytes zusätzlichen RAM-Speicher für die deklarierte Hilfsvariable.

Wenn eine kleine Programmänderung mit zusätzlichem RAM-Verbrauch dazu führt, dass ein Programm komplett durchdreht und Programmteile, die gar nicht geändert wurden, aus unerklärlichen Gründen nicht mehr funktionieren, dann könnte es sein, dass im Programm der gesamte freie RAM-Speicher aufgebraucht ist und Speicherbereiche nun doppelt belegt sind und sich gegenseitig überschreiben.

Teste mal, ob es mit Änderung dann wieder funktioniert, wenn Du RAM-Speicher beim Programmieren einsparst. In Deinem Programm kannst Du auf sehr einfache Art RAM-Speicher sparen, indem Du einige oder alle Text-Konstanten, die per "print()" ausgegeben werden, auf das F-Makro umstellst. Mit dem F-Makro werden die Texte nur im Flash-Programmspeicher angelegt, aber benötigen kein RAM.

Beispielsweise:
Statt: lcd.print(" Sekunde  ");
Setze: lcd.print(F(" Sekunde  "));

Diese Änderungen an den print()-Befehlen für konstante Texte zur Ausgabe mittels F-Makro lassen sich leicht durchführen und sparen so viel RAM so lang die Texte sind. Einziger Nachteil: Das Programm wird insgesamt etwas größer. Großer Vorteil: Mehr freier RAM-Speicher.
1041  International / Deutsch / Re: LCD I2C Arduino MEGA 2560 on: September 15, 2013, 01:20:59 pm
Hast Du denn mal probiert die Adresse durch 2 zu teilen?

Das muß er normalerweise nicht.

Die vom Anbieter angegebene Adresse ist 0X20 und muß dann auch als 0X20 für die Initialisierung der Library angegeben werden.

Und auch der I2C-Scanner Sketch sollte 0x20 als Adresse ausgeben, wenn man mal den I2C-Bus nach angeschlossenen I2C-Geräten absucht.
1042  International / Deutsch / Re: Auslesen des seriellen Empfangsbuffers on: September 15, 2013, 01:13:55 pm
Was wird hierbei also (ganz einfach gedacht und unabhängig von eventuellen Überlaufproblemen) ausgelesen?

Der serielle Eingangspuffer ist ein strikter FIFO-Puffer: First In - First Out,

D.h. immer das Zeichen, das zuerst im Puffer ankommt, wird per read() auch zuerst aus dem Puffer ausgelesen.

Solange der Eingangspuffer nie überläuft, ist die Reihenfolge der ausgelesenen Zeichen immer identisch mit der Reihenfolge der gesendeten Zeichen.

Und falls der Eingangspuffer doch überläuft, ist die Reihenfolge immer noch dieselbe. Nur fehlen dann bei den ausgelesenen Zeichen welche, die zwar gesendet wurden, aber nicht mehr in den Eingangspuffer reingepaßt haben, weil er übergelaufen ist.

Hat es einen bestimmten Hintergrund, dass Du das fragst?
1043  International / Deutsch / Re: Hilfe für Arduino Uno und Encoder on: September 15, 2013, 01:07:32 pm
Ich möchte den kompleten Code posten aber kommt immer eine Fehlermeldung weil mein Text 9500 Zeichen übersteigt.

Wenn Du längere, komplette Sketche ins Forum posten möchtest, so kannst Du das als Dateianhang über "Addional Options" beim Schreiben einer Nachricht. "Addional Options", dann "Datei Auswählen", dann wird sie mit dem Beitrag zusammen gepostet.

Hilft das was?

Nicht wirklich. Soweit ich Deinen Codeausschnitt verstehe, hast Du ein LCD-Menü, das mit einem Drehencoder gesteuert wird: Der Encoder hat einen Tastbutton auf der Achse und man kann die Drehrichtung rechts/links erkennen.

Wenn man bei nicht gedrücktem Button links/rechts dreht, kann eine bestimmte Einstellungsoption als Menüpunkt ausgewählt werden.
Wenn man dann bei gedrücktem Button links/rechts dreht, wird der Einstellwert hoch/runter verändert.

Und das funktioniert nach irgendwelchen von Dir durchgeführten Änderungen nicht mehr?
1044  International / Deutsch / Re: Hilfe für Arduino Uno und Encoder on: September 15, 2013, 09:20:23 am
Das zählen funktioniert jetzt wie ich mir gewünscht habe aber ich kann jetzt nicht mehr zum nächsten oder Vorherigen Menü Abschnitt wechseln.
Würdest du mir noch einmal retten?

Ich sehe in dem, was Du gepostet hast, weder einen "nächsten" noch einen "vorherigen" Abschnitt und auch kein "Menü".

Das einzige was ich sehe: In Deinem geposteten Code hast Du offenbar eine switch-case Anweisung.
In solche case-Behandlungen mußt Du im Regelfall am Ende ein "break;" setzen, damit der Code von dort zum Ende der switch-Anweisung springt, also:

Code:
case 1:
   // hier der Code für Fall 1
  break;
case 2:
   // hier der Code für Fall 2
  break;
case 3:
   // hier der Code für Fall 3
  break;
1045  International / Deutsch / Re: LCD I2C Arduino MEGA 2560 on: September 15, 2013, 08:38:25 am
ich habe schon auf anraten des Admins ne Mail an den Verkäufer geschickt mit der Bitte mir ein Sheet zukommen zu lassen, ebenso wie eine Library.

 smiley-grin smiley-grin smiley-grin

Falls es Dir nicht aufgefallen ist: Der Verkäufer Deines I2C-Adapters verscherbelt fast überhaupt keine Elektronik, dafür solche Artikel wie eine "Deluxe Golden Curly Lady Long Sexy Blonde Wavy Party Hair Cosplay Hairpiece Wig", was wohl übersetzt eine "Blondgelockte Luxus-Langhaarperücke als Haarteil für eine Cosplay Lady" sein soll: http://www.ebay.de/itm/Deluxe-Golden-Curly-Lady-Long-Sexy-Blonde-Wavy-Party-Hair-Cosplay-Hairpiece-Wig-/400545897308?pt=UK_Women_s_Wigs&hash=item5d42655b5c

Also dass er bei technischen Fragen wie "kann ich diese Perücke mit den Plastikhaaren mit Haarschampoo waschen" eine Antwort weiß, würde ich ja vermuten. Aber ich würde nicht unbedingt auf qualifizierten technischen Support für Deinen I2C-Adapter wetten.

Aber lasse Dich überraschen!
Die Hoffnung stirbt bekanntlich zuletzt.
 smiley-twist
1046  International / Deutsch / Re: Auslesen des seriellen Empfangsbuffers on: September 15, 2013, 08:05:42 am
angenommen ich lasse mir die ASCII-Zeichen A, B und C in dieser Reihenfolge an den seriellen Eingangsbuffer eines Arduinos schicken und lese dessen Eingangsbuffer mit Serial.read() in regelmäßigen Abständen aus, kann es dann theoretisch sein, dass mein Prozessor anstatt ABC auf einmal ACB liest?

Ja klar kann das passieren: Und zwar, wenn der serielle Eingangspuffer (max. Kapazität: 63 Zeichen) überläuft, weil er nicht schnell genug ausgelesen wird.

Ich bin mir nicht genau sicher, was dann passiert, wenn ein neues Zeichen eintrifft obwohl der Puffer komplett voll ist, aber entweder überschreibt das neue Zeichen das letzte Zeichen im Puffer, oder das neue Zeichen geht verloren.

Aber egal wie: Wenn Du auf einen vollen Puffer immer weiter "ABC" sendest, wirst Du nicht immer "ABC" aus dem Puffer rauslesen können, nachdem es einmal einen Puffer-Overrun bei vollem Eingangspuffer gab.
1047  International / Deutsch / Re: LCD I2C Arduino MEGA 2560 on: September 15, 2013, 07:50:17 am
Wie gesagt, ich hab noch keine Ahnung von der Materie (I2C), ich lese mich immer ein wenn ich was benötige oder frage halt nach.
Doppelt initialisieren hilft leider auch nicht, blinkt halt nur mehrmals smiley-grin

Da fällt mir nicht viel zu ein. Vielleicht handelt es sich um einen I2C Adapter mit abweichender LCD-Verdrahtung, von denen gibt es auch diverse Ausführungen, die nicht zu der "Standard" LiquidCrystal_I2C-Library kompatibel sind.

Dann müßtest Du eine alternative LiquidCrystal_I2C-Library installieren, bei der Du im Sketch zur Laufzeit die richtige LCD-Verdrahtung initialisieren kannst. Z.B. diese Library von hier:
https://bitbucket.org/fmalpartida/new-liquidcrystal/downloads


Und dann kannst Du es ggf. mit dieser Library versuchen mit:
Code:
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x20, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);  // Set the LCD I2C address
Oder wie auch immer die Hardware bei Deinem Adapter zu initialisieren ist.
Ohne Datenblatt mit Schaltplan ist das schwierig vorhersagbar.

Die I2C-Adresse bekommst Du jedenfalls mit dem I2C-Scanner heraus.
Und wenn Du keinen Schaltplan hast, müßtest Du wohl mal verschiedene gängige "alternative" Pinbelegungen ausprobieren.
1048  International / Deutsch / Re: Hilfe für Arduino Uno und Encoder on: September 15, 2013, 06:56:29 am
Kann mir jemand ein Tipp Geben?

Falsch gesetzte Endbedingungen, falsche Logik beim Hoch- und Runtersteppen.

Diese Logik hier würde zwischen 1 und 200 in Einzelschritten zählen und zwischen 200 und 6000 in 20er Schritten, und zwar sowohl beim Hochzählen wie auch beim Runterzählen:
Code:
  int movement=read_encoder ();
  if (rbbuttonState == LOW && steps+movement <=200) 
    steps += movement;
  else if (rbbuttonState == LOW && steps+movement >200) //press rotary encoder button within this menu item to edit variable
    steps += movement*20;
  steps = constrain(steps, 1, 6000); //limits choice of input step size to specified range

Ein Programm macht immer genau das, was darin programmiert wird.
1049  International / Deutsch / Re: Arduino UNO R3 --> RF-ID12 Modul auslesen funktioniert nicht! on: September 15, 2013, 06:05:13 am
Hallo, bin ein absoluter Anfänger, wenn's um den Arduino geht!
Vielleicht kann mir jemand helfen, mein Problem zu lösen.
Leider schaffe ich es nicht, einigermaßen vernünftige Zeichen aus dem RF-Modul ID-12 (von Innovations) auszulesen.
Im "Serial Monitor" erscheinen komische Zeichen! Wie z.B.: ÿÿÿÿÿÿÿ

Prüfe als erstes mal, ob das Modul richtig angeschlossen ist!

Bei seriellen Schnittstellen ist es so, dass der Sendepin (TX) eines Geräts mit dem Empfangspin (RX) eines anderen Geräts verbunden werden muss und umgekehrt.

Die korrekte Verkabelung sähe also so aus
Code:
Reader Arduino
  5V     5V
  GND    GND
  TX     RX

Hast Du TX/RX über Kreuz verbunden oder hast Du nicht?

Welches Arduino-Board verwendest Du denn?

Bei Boards wie dem UNO mit nur einer einzigen seriellen Schnittstelle müßtest Du jedesmal zum Hochladen eines neuen Sketches den RX-Pin am Arduino abklemmen.
1050  International / Deutsch / Re: Problem LCD 1602 I2C on: September 14, 2013, 03:39:28 pm
Das hatte ich ja jetzt nachträglich schon gemacht.
Aber ohne verbesserung. Hab eben mal nen PortExpander und das Display
über I2C angeschlossen und den Scanner laufen lassen.
Ohne Probleme mehrere Minuten.
Nur sobald ich wieder die Testausgabe aufspiele bleibt es hängen.

Welche Liquidcrystal I2C Library verwendest Du?
Ich verwende: http://hmario.home.xs4all.nl/arduino/LiquidCrystal_I2C/
(allerdings mit einer etwas anderen Backpack-Platine)
Pages: 1 ... 68 69 [70] 71 72 ... 163