Pequi

Angehender Modder
wenn es nix ausmacht auch die Anderen löschen bitte :)
Schaltplan ist in Arbeit
 
Zuletzt bearbeitet:

Steed

Blasted Kenner
Nö. Hab deinen letzten von hier direkt draufgebraten...
Das Intro läuft auch nicht. Ganz kurz sieht man ne halbe Patrone...

D.


Edith sagt: Falsches Display?

Ich muss mich mal mit dem Code beschäftigen.
 
Zuletzt bearbeitet:

Pequi

Angehender Modder
Das Intro läuft deswegen so kurz, weil ich die delay-Zeit verkürzt habe zum Debuggen. Hat mir immer zu lange gedauert. Werde eine neue Version einstellen.
 

Pequi

Angehender Modder
Ich habe ein weiteres seltsames Verhalten des Arduino gefunden:
Ich hatte den Abzugschalter zunächst nur mit einem Pullup-Widerstand und einem Kondensator 100nF nach GND ausgestattet. Als ich die Schaltung am Motorschalter, wie zuvor beim Pusher-Taster mit der kompletten RC-Glied-Pullup-Schaltung, wie im Schaltplan zu sehen, vervollständigen wollte, hat der Motortaster gar kein LOW-Signal mehr produziert, der Pusher-Taster aber schon. Ich habe es nachgemessen: Pushertaster wenn gedrückt +/-1V, losgelassen 5V; Motortaster gedrückt: von 5V Pullup auf 4,8-4,9V herunter. Also keine Signaländerung.
Ich habe die Programmierung verändert, die internen Pullups entfernt: keine Änderung. Taster, Widerstände und Kondensatoren getauscht und geprüft: alles Ordnung, aber keine Änderung.
Wie gesagt: beim Pushertaster funktioniert die Schaltung, beim Motortaster nicht...
Ein Tausch der Pins an der Schaltung zeigt, daß am Pin 4 (Motortaster) es nicht funktioniert, am Pin 12 (Pushertaster) schon. Liegt nicht an der Schaltung, sondern am Arduino.

@Lorcan meinte, ich solle mal die Frequenz am Pin 4 (MotortasterPin) messen. Möglicherweise liegt dort ein PWM-Signal an. Interessanterweise differierte dort auch die Spannung im Vergleich zum Pushertaster. Mein neues DMM kann zwar Frequenzen messen, allerdings muß ich mich damit erst mal auseinander setzen. Dennoch denke ich, daß er recht hat. Warum der Pin, obwohl er auf "INPUT" gesetzt wurde ein PWM-Signal aussendet, ist mir unklar...

Immerhin:
Verlegen des MotorPins von Pin 4 auf 13, der kein PWM-Pin ist, hat die Schaltung wieder funktionieren lassen. Damit bekomme ich eine noch bessere Entstörung als zuvor.
 
Zuletzt bearbeitet:

Pequi

Angehender Modder
Update des Schaltplanes und des Codes:
- ich habe eine zusätzliche LED an (den nun freigewordenen Pin 4) getüddelt, um ein Ausmessen der Lauflänge/Flugdistanz im Lauf mit den Lichtschranken zu ermöglichen. Wenn man ein Maßband in den Lauf schiebt, triggern die Lichtschranken nacheinander die LEDs (Alarm und Test). Dann kann man, wenn die LEDs angehen, die Distanz messen und im Code verankern, um eine genauere Chrony-funktion zu bekommen. Kann man dann im Code wieder deaktivieren, wenn die Lauflänge geeicht ist.

Problem gelöst, warum der Pin 4 beim Arduino beim Booten auf "HIGH" gesetzt wird:Habe mal einen Test gemacht: eine LED an Pin 4 gesteckt: Die LED leuchtet beim Booten des Arduino kontinuierlich. Erst ein "digitalWrite(4, LOW);" hat dem ein Ende gemacht.Warum der Arduino den Pin 4 auf HIGH schaltet (oder mit PWM beschickt) ist mir unklar. Aber des Pudels Kern scheint gefunden.
Edith:Habe den Schuldigen gefunden: Die Displayinitialisierungsroutine der Adafruit-Library setzt den Pin 4 auf "HIGH".
Code:
display.begin(SSD1306_SWITCHCAPVCC, 0x3C);
ein manuelles Setzen auf "LOW" nach der Initialisierung schaltet ihn dann wieder aus:
Code:
    pinMode (TestLEDPin, OUTPUT);    digitalWrite(TestLEDPin, LOW);
 
Zuletzt bearbeitet:

Steed

Blasted Kenner
Hallo Pequi,
ich hab immer noch Probleme mit meinem Display...
Das soll ein SSD1306 sein. Zumindest hab ich es als solches gekauft.
Irgendwas ist da faul.
So meldet sich das:
Medium 34270 anzeigen
Soft ist orginal.

D.
 
Zuletzt bearbeitet:

Pequi

Angehender Modder
Kann ich dir leider nicht helfen. Vielleicht ist es defekt? Oder es benötigt eine andre ID. Musst mal googeln.
 

Steed

Blasted Kenner
Ich hab 2 Displays...
Beide haben das gleiche Erscheinungsbild.
Das sieht mir so aus als wenn immer 1 Leerzeile drin ist...
Ich werde Mutter Google mal nerven.

D.
 

medusa

Auf Blasted zuhause
Bei Videodisplays gibt (gab es, in der Steinzeit) auch mal einen "interlaced mode". In dem werden zwei Halbbilder nacheinander angezeigt. Mal checken?
 

Pequi

Angehender Modder
Endlich das Geraffel auf eine Lochrasterplatine gedengelt. 5V-Spannungsregelung funktioniert ebenso wie der Spannungsteiler. Der Rest wurde noch nicht getestet.
Der Arduino Pro Mini ist nun als Nächstes dran und muß mit der Platine verkabelt werden.
 
Zuletzt bearbeitet:

Steed

Blasted Kenner
Ich hatt heute Sonntag, war von gestern (16 Stunden Arbeit) noch völlig groggy und hab heute nix gemacht...
Ich werd morgen mal ne andere OLED Library ausprobieren.

Pequi: Kannst du mal ein Foto von der Rückseite deines Displays machen? Danke.
Und: Wo gekauft? Bitte mal nen Link.


Dirk
 
Zuletzt bearbeitet:

Steed

Blasted Kenner
Die alte Weisheit hat sich mal wieder bewahrheitet:

Mao_RTFM_vectorize_by_cmenghi.png



schimpfen_majestix_schild.jpg

Die Adafruit_SSD1306.h Library ist von Haus aus auf 128x32 Pixel eingestellt!
Dann kommt da ja auch nur Mist bei raus...


Dirk
 
Zuletzt bearbeitet:

Pequi

Angehender Modder
Die letzte Zeile wird als Millivolt mit 5 Stellen ausgegeben. Eine Umrechnung in double, sprich "Kommazahlen" ist zwar möglich kostet aber Rechenzeit. Berechnungen in "Double"sollten generell vermieden werden, da langwierig und ungenau. Wie schon mal erwähnt muß 6.0/2.0 nicht zwingend 3.0 ergeben.
Wenn du den Cursor weiter nach rechts gesetzt hast, reicht es für die 5-stellige Zahl evtl. nicht und es wird auf die nächste Zeile gesprungen…
 
Zuletzt bearbeitet:

Steed

Blasted Kenner
Ich warte mal wie sich der Prototyp entwickelt weil ich erst mal die SuperArduinoStryfe fertigmachen will...
Alles der Reihe nach sonst komm ich durcheinander...
Und der "Soundblaster" wartet auch noch. :D

D.
 

medusa

Auf Blasted zuhause
Kleiner Tip aus dem Embedded Universum: viele Berechnungen lassen sich schnell und genau genug machen, wenn man Integer verwendet und einfach auf 10 oder 100 normiert. Man kann das entsprechend als "Hunderterstelle + Punkt + Zehnerstelle + Einerstelle" oder so ausgeben. Reicht meistens aus.
Wenns unbedingt Fließkomma sein soll, verwenden wir grundsätzlich nur float statt double.
 

Being blasted

Du bist Dartblaster Fan? Dann lass' dir blasted.de nicht entgehen!
Wir sind die größte deutsche Community rund um Nerf und Dartblaster-Modding.
Finde tausende Anleitungen für Mods, Hilfe bei Problemen, Antworten auf deine Fragen.
Verpasse keine Neuigkeiten aus der großartigen, bunten Welt der Schaumstoff-Guns.
Die Mitgliedschaft im Forum ist kostenlos und die Community freut sich auf dich!

Noch Fragen? Dann kontaktiere uns. Wir sind nur ein bisschen verrückt. ;)

Get blasted

Oben Unten