Hallo,
ich bin Anfänger im Thema Arduino.
Habe mir zwei Arduino Uno besorgt. Ein UNO mit SMD und ein UNO mit normalen AVR 328. Dazu habe ich ein LCD-Shield von SainSmart. Dabei habe ich festgestellt das die Belegung wie folgt ist:
RS - Pin 8
E- Pin 9
Db4 - Pin4
Db5 - Pin5
Db6 - Pin6
Db7 - Pin7
Habe versucht den Sketch "Hello World" zum Laufen zu bekommen.
Der Arduino UNO SMD läuft korrekt, alles wird wie gewünscht angezeigt.
Setze ich das LCD-Shield auf den anderen Arduino UNO werden nur in der ersten Zeile des LCD undefinierbare Zeichen (Längs- bzw. Querstriche) angezeigt. Trotz mehrfachen kompilen und laden sowie Reset keine Änderung.
Gibt es hier möglicherweise Jemand der mir dieses Phänomen erklären kann?
Danke
Gruss
helix1
Wenn das Shield an einem Arduino-Board funktioniert, würde ich davon ausgehen, dass dieses auch korrekt funktioniert. Also würde ich die verwendeten Pins des DIP-Unos direkt testen, dazu einfach eine LED mit Vorwiderstand zwischen Pin und Masse klemmen (Polarität beachten!). Diese Prozedur wiederholst du für jeden der vom LCD-Shield verwendeten Pins. Wenn es hier Fehler gibt, kann man weiter sehen.
Habe mal das Blink-Sketch zur Hilfe genommen. Statt Pin13 die Pins 4, 5, 6, 7, 8. 9 blinken lassen. Bei dem UNO SMD blinkte die LED an allen Pins. Beim Uno mit DIP28 gingen alle Pins ausser Pin5. Habe eine Durchgangsmessung von der Buchse Pin5 zum AVR328 Bein11 (PD5) gemacht. Voller Durchgang. Das heisst dann wohl das aus dem AVR PD5 kein Wechsel von HIGH nach LOW und umgekehrt erfolgt.
Bedeutet das nun das der AVR einen Defekt hat, oder wird der PD5 intern noch für etwas anderes genutzt?
Gruss
helix1
Der digitale Pin 5 (entspricht zufällig auch PD5 gemäß http://arduino.cc/en/Hacking/Atmega168Hardware) sollte wie jeder andere Pin funktionieren. Tut er es nicht, ist irgendwas defekt - und somit als Grund zu sehen, dass dein Display nicht funktioniert. Dass intern was verstellt ist, glaube ich eher nicht, eventuell könnte man versuchen, den Bootloader neu aufzubrennen, große Chancen räume ich dem aber nicht ein.
Da hilft nur eines: Sauber dokumentieren und zurück an den Händler. Alternativ einen neuen Mikrocontroller draufsetzen, aber es ist ja dein Recht als Käufer, ein funktionierendes Produkt vorauszusetzen. Das gilt natürlich nicht, wenn du den Pin selbst auf dem Gewissen hast...
Herzlichen Dank für die Unterstützung bei der Fehlersuche.
Werde den ATmega 328 mit Bootloader bestellen und dann berichten, ob das die Ursache war.
Gruss
helix1
Hallo,
habe mir einen neuen ATmega328 (PDIP) besorgt. Alles ist wie vorher. An PD5 kommt nichts an. Ich kann mir nur vorstellen, das an diesem Pin noch etwas anderes läuft. Ich bin ziemlich ratlos.
Gruss
helix1
Auch nochmal den Blink-Sketch mit diesem Pin durchlaufen lassen? Und tatsächlich am Pin des Mikrocontrollers oder an der Buchse getestet, ob die LED leuchtet?
Den folgenden Sketch habe ich durchlaufen lassen. Alle LED haben geblinkt, nur die LED an Pin 5 blieb dunkel
void setup() {
// initialize the digital pin as an output.
// Pin 4, 5, 6, 7, 8, 9 has an LED connected on Arduino UNO board:
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(7, OUTPUT);
pinMode(8, OUTPUT);
pinMode(9, OUTPUT);
}
void loop() {
digitalWrite(4, HIGH); // set the LED on
digitalWrite(5, HIGH);
digitalWrite(6, HIGH);
digitalWrite(7, HIGH);
digitalWrite(8, HIGH);
digitalWrite(9, HIGH);
delay(1000); // wait for a second
digitalWrite(4, LOW); // set the LED off
digitalWrite(5, LOW);
digitalWrite(6, LOW);
digitalWrite(7, LOW);
digitalWrite(8, LOW);
digitalWrite(9, LOW);
delay(1000); // wait for a second
}
Bin mit dem Bein der LED direkt an das Bein 11 des Controlers gegangen. Kein blinken. An den anderen Beinen des Controlers reagiert die LED wie gewünscht.
Mitlerweile habe ich noch eine neue Vermutung. Habe den Controler aus der Fassung genommen und den Pin 11 an der Fassung gegen GND gemessen. Voller Durchgang. Daher kann vermutlich auch kein High am Stift 5 des Arduino anliegen. Jetzt muss ich noch suchen wo der Masseschluss entsteht.
Gruss
helix1
helix1:
Mitlerweile habe ich noch eine neue Vermutung. Habe den Controler aus der Fassung genommen und den Pin 11 an der Fassung gegen GND gemessen. Voller Durchgang. Daher kann vermutlich auch kein High am Stift 5 des Arduino anliegen. Jetzt muss ich noch suchen wo der Masseschluss entsteht.
Genau deshalb hat Uwe um die Fotos gebeten. Leider ist das sehr schwer anhand der Fotos zu erkennen, da bist du klar im Vorteil. Wenn du etwas nicht richtig erkennen kannst, kannst du immer noch einen anderen Betrachtungswinkel wählen.
Hallo,
es war tatsächlich ein Masseschluss. Habe sowohl die Lötstelle an der IC-Fassung wie auch an der Buchse entlötet. Mit einem Durchgangsprüfer konnte ich feststellen das die Lötstelle an der Buchse wohl einen Masseschluss hatte. Wieder alles sauber verlötet. Das Ergebnis - jetzt funktioniert Hello world!
Danke für Eure Unterstützung.
Gruss
helix1
Mitlerweile habe ich noch eine neue Vermutung. Habe den Controler aus der Fassung genommen und den Pin 11 an der Fassung gegen GND gemessen. Voller Durchgang. Daher kann vermutlich auch kein High am Stift 5 des Arduino anliegen. Jetzt muss ich noch suchen wo der Masseschluss entsteht.
Gruss
helix1
Ohne Dir nahe zu treten oder über Dich zu urteilen sondern um Ursachensuche zu betreiben.
Die Frage nach den Fotos war nicht für diesen Zweck gedacht, sondern um die Lötstellen zu kontrollieren.
Ich habe irgenwie den Verdacht, daß dieser Arduino eine Fälschung ist. Unter Fälschung verstehe ich einen Arduino, der ein Clone ist, aber als Arduino verkauft wird
Wie ich darauf komme?
Premesse: Es sollte ein Arduino UNO sein. Sicher nicht Version R3 und auch nicht R2 ( da ist der ATmega8U2 um 45 Grad verdreht). Also R1.
Die Bilder des orginalen UNO R1 sind:
Wen Du sie mit Deinem Arduino vergleichst dann fällt auf:
Vorderseite: es fehlt "Made in Italy" links oben neben der USB-Buschse
Alle Schriften und das Unendlich Symbol sind etwas anders, ähnlich aber anders. Das Unendlich Symbol ist an der Kreuzung der beiden Schleifen nicht richtig x-förmig sondern etwas wellig.
Mein Arduino hat keine Option für einen Quarz für den Atmega328 vorgesehen sondern nur für einen Resonator. Das Orginal Foto hat einen Quarz vorgesehen, aber ohne weiße Umrandung.
Es fehlt der Schriftzug "WWW.ARDUINO.CC" rechts neben dem Sockel.
Hinterseite:
Die Landkarte Italiens ist wenig detailtreu und Sizilien ist spiegelverkehrt gezeichnet (der schmale Teil ist rechts nicht links gegen Italien)
Der Schriftzug "Made in Italy" ist durch den Schriftzug "design in Italy" ersetzt.
Also kannst Du Dich nicht über die mangelnde Qualität des Arduino beklagen, da Du gar keinen Arduino hast.
Hallo Uwe,
den Arduino habe ich bei ebay von einem deutschen Händler erworben. Da konnte ich nicht erkennen wo das Teil hergestellt wurde. Ich habe mich auch nicht über die Qualität des Arduino beklagt, sondern wollte eigentlich hier nur etwas Hilfestellung zur Fehlerlokalisation und Beseitigung erhalten. War das falsch?
Wichtig für mich ist, das das Teil jetzt läuft. Vielleicht dient dieser Beitrag ja auch dazu das andere Arduinobesitzer mit ähnlichen Problemen jetzt wissen wo sie suchen müssen.
Gruss
helix1
Trotzdem wäre es evtl. gut, den Händler auf die eventuelle Fälschung hinzuweisen. Vermutlich weiss der noch nicht mal, das er ein gefälschtes Produkt verkauft. (Sollte man zumindest erstmal annehmen). Arduino erlaubt ausdrücklich den Verkauf von Arduino-Clonen, solange nicht der Name Arduino verwendet wird. Auch das Design ist ja offen verfügbar. Es gibt also im Prinzip keinen Grund für Produktpiraterie.
Nur wenn bei dieser vermutlichen Fälschungen auch noch die Qualität schlecht ist, gibt es im schlimmsten Fall eine Menge Leute die bei ihren Projekten Probleme haben, weil irgendwelche Pins einen Masseschluss haben.
Mario.