My Useless Box

Hallo Leute

Darf ich euch meine Useless Box vorstellen? Filmchen auf YouTube

Dies ist mein erstes richtiges Arduino-Projektchen, das ich nun realisiert habe. Logisch existieren bereits diverse Lösungen einer Useless Box, aber ich wollte natürlich mein eigene, da die sowieso viel besser ist als alle anderen :smiling_imp: und da ich dadurch einiges lernen konnte. Die Lösung ist ja bekanntlich einfach, sinnfrei, aber wirkungsvoll.

Ich wollte keine grobe Holzbox, sondern etwas ansprechendes und fand dann eine schöne Box bei www.getdigital.de. Da diese aber zu unflexibel funktionierte, habe ich die ganzen Innereien weggelassen und mit einem Arduino Nano realisiert. Anstelle des vorgegebenen Motors habe ich zwei Servos verwendet: einen für den Kippschalter-Drücker und einen für das Heben des Deckels. Der Schalter ist aus der Originalbox, als Stromversorgung dienen mir 4 Batterien des Typs AA.

Wenn’s euch interessiert, erkläre ich gerne mehr über den Innenausbau der Box. Fürs erste reicht mal ein Foto. Siehe Attachment.

Den Code habe ich ebenfalls als Attachment eingestellt.

Den grundsätzlichen Code habe ich von www.lamja.com genommen, diesen aber massiv verändert und ausgebaut.

Der Code sollte einigermassen funktionieren. Da ich in der Software zu Hause bin, gäbe es sicher Möglichkeiten, die Hardware besser zu gestalten. Auf die ganze Verkabelung bin ich nicht stolz. Aber es funktioniert. Jetzt. :grinning:

Auf euer Urteil bin ich gespannt. :sunglasses:

Lieben Gruss aus der Schweiz.

UselessBox.ino (21.2 KB)

Sieht gut aus, funktioniert, gefällt!

Wo ist denn der Unterschied zu dieser ?

Na, andere Innereien wie unser schweizer Freund schreibt.

Die Software von unserem Kollegen find ich auch sehr, sehr geil :slight_smile:
Weil das ding eben nicht nur den Schalter betätigt sondern einem auch ein wenig suggeriert, dass er/sie/es jetzt angepisst ist :stuck_out_tongue:
Also von meiner Seite kann ich nur sagen, sehr cooles und sehr sinn-freies Projekt...
Daumen hoch :slight_smile:

Danke für das lustige Video!

LG aus Tirol

erni-berni:
Wo ist denn der Unterschied zu dieser ?

"Diese" hat ein edles Gehäuse, das Amarganth wohl auch verwendet, und zeigt, mit wie wenig Hardware und ganz ohne Elektronik der Prototyp einer Useless Machine funktioniert und auch fasziniert.
Kreuzungen aus Ur-Version und Tamagotchi sind auf vielerlei Arten möglich. Diese hier gefällt mir auch !

Danke, Jungs :slight_smile:

Dir, erni-berni empfehle ich, das Video mindestens bis zur dritten Einschaltsequenz anzuschauen, dann siehst du den Unterschied.

Eine Frage an die Gurus in diesem Forum: wenn ich die Servos detache und erst beim Einschalten wieder attache, spare ich da Batteriepower? Benötigt detached der Servo weniger Power?

Sorry für die Anfängerfrage, Jungs :disappointed_relieved:

Tolles Ding-das Gehäuse ist nicht soo nach meinem Geschmack aber muss mir ja nicht gefallen.
Gemacht ist es Klasse.

Zur Servo-Frage: kommt drauf an. 8)
Wenn die Servos nicht gegen irgendeinen anschlag drücken müssen, wirst du nichts sparen, denn es wird ja nur die Leitung nicht mit Daten gefüttert- das dürft vernachlässigbar sein.
Sparen wirst du nur ernsthaft, wenn die Servos dauernd versuchen müssen, ihre Position zu halten.
Wenn mechanisch alles sauber aufgebaut ist, wohl kaum.
Z.B.: der ausschalt-Hebel hängt innen frei am Servo. So dass es den dauernd in der Schwebe halten muss- das würde (vermutlich wenig, weil der ja nicht schwer ist) schon etwas Strom brauchen.
Tipp: halt mal das Ohr an die Schachtel-wenn eins der Servos auch nur minimal brummt, braucht es auch nennenswert Strom.

Danke, sly-Rabenauge, für die Tipps.

Die beiden Servos verhalten sich im Ruhezustand völlig lautlos. Also Entwarnung. :sunglasses:

Rolf-Amarganth

Hy,
ich habe mir ebenfalls eine solche Box gebaut, und verzweifle gerade am Code!

Vom Einbau her habe ich mir PIN8 "verbaut", komme an den nicht dran.
Also habe ich für den Kippschalter den PIN2 verwendet, was ich im Code bei "define KIPPSCHALTER_PIN 8" auch angegeben habe (define KIPPSCHALTER_PIN 2).

Der Kippschalter ist von PIN2 auf GND verbunden.

Wenn ich die Box nun an die Batterie hänge (Schalter auf aus), dann fängt die Box sofort an zu arbeiten!
Die Servos spielen das Programm ab.
Erst wenn ich den Kippschalter auf "AUS" stelle, hört die Sequenz auf.

Nun gut, kein Thema dachte ich mir, drehst den Schalter halt um.
Das hat zur Folge, dass die Sequenz gar nicht mehr aufhört, egal in welcher Position der Schalter ist :frowning:

Was mache ich falsch?

Gruß Chris

Hi

Wenn Du den Sketch aus dem Eröffnungs-Post benutzt - dort steht drin

pinMode(KIPPSCHALTER_PIN, INPUT);

Denke, Dein Kippschalter liefert GND und 'offen' - was als 'Alles Mögliche' interpretiert werden kann.
Wenn Du Das auf INPUT_PULLUP änderst, dürfte die Sache bereits besser aussehen.
Je nachdem den Sketch anpassen, oder den Schalter 'falsch herum' benutzen - müsste auch funktionieren.

MfG

Hy,
vielen Dank für deine Antwort!
Leider hilft sie mir nicht weiter :frowning:

Ich muss zugeben, dass ich von der Programmierung nicht viel Ahnung habe!!!

Deine Änderung habe ich getestet, hilft aber leider nicht weiter.
Egal in welcher Position der Kippschalter ist, die Servos machen stetig weiter!

Den Schalter habe ich jetzt auf "GND" und "Pin8" geklemmt, so wie es im Code vorgegeben ist.
Ist dies überhaupt korrekt?

Vom Verständnis her:
Müsste der Pin8 nicht ein Ausgang sein?
Wenn von Masse auf "Eingang" geschaltet wird ... was soll da gemessen werden?

Zu "INPUT_PULLUP" habe ich das hier gefunden:
https://playground.arduino.cc/Deutsch/Eingang
Wenn ich dann also den einen Pol vom Schalter mit "GND" und "PIN8" verbinde, den anderen Pol des Schalters mit "5V" ... dann geht der Arduino aus, sobald ich den Kippschalter betätige :frowning:

Gruß Chris

Hi

INPUT_PULLUP schaltet den Pin auf INPUT und schaltet den internen PullUp-Widerstand zu.
An diesem Pin liegt also, unbeschaltet, +5V an.
Diese 5V kann man per Schalter auf GND ziehen.
Der Pin DARF NIEMALS so als OUTPUT geschaltet werden, da Du so bei HIGH-Pegel die 5V des Pin mit GND kurzschließt - da der Pin AKTIV 5V liefert (bis 20mA kein Problem, drüber schmilzt der Chip).
Einige Grundlagen wären hier sinnvoll.

  • INPUT_PULLUP kann HIGH und LOW unterscheiden, unbetätigt (wegen PullUp) auf HIGH, betätigt auf GND gezogen LOW

Du solltest versuchen, den Sketch zu VERSTEHEN und nicht nur über ‘geht nicht’ klagen.

MfG

Der Pin DARF NIEMALS so als OUTPUT geschaltet werden, da Du so bei HIGH-Pegel die 5V des Pin mit GND kurzschließt - da der Pin AKTIV 5V liefert (bis 20mA kein Problem, drüber schmilzt der Chip).
Einige Grundlagen wären hier sinnvoll.

Das ist ein bißche unglücklich forumuliert. ich versuchs auch mal:

Ein Pin an dem ein Schalter oder Taster angeschlossen ist, darf nicht an einen Schalter oder Taster angeschlossen werden.

Ein Pin an dem ein Schalter oder Taster angeschlossen ist, darf nicht als Ausgang definiert werden.

Das ist aber klar da niemals (Totem Pole) Ausgange zusammmengeschalten werden dürfen.

Außnahme wo zB ein Zusammenschalten zulässig ist:
Open Collektor oder Open Source Ausgänge. zB I2C Bus
Tristateausgänge: (H,L und Z (hochohmig) bzw Eingang)bei denen wird der Ausgangskonflikt durch das abschalten der Ausgänge (Enable) realisiert wird. zB beim SPI Bus

Grüße Uwe

Hy,
ich "klage" nicht, ich versuche es zu verstehen!
Da ich aber kein (Hobby)Programmierer bin, benötige ich hierbei Hilfe ... deshalb frage ich nach.

Wenn ich also mit INPUT_PULLUP arbeite, dann sollten am Schalter 5V anliegen, von PIN8?
Verstehe ich dich richtig?
Dem ist bei mir nämlich nicht so.

Hy Uwe,

uwefed:
Ein Pin an dem ein Schalter oder Taster angeschlossen ist, darf nicht an einen Schalter oder Taster angeschlossen werden.

ähhhm ... jetzt versteh ich nur noch Bahnhof!

Gruß Chris

Hi

Ggf. hast Du bei Deinen Versuchen den Pin bereits beschädigt - oder, Du hast den Schalter geschlossen, daß Dieser den Pin nach GND zieht - dann hast Du 0V und die Abfrage per digitalRead ergibt LOW.
Der offene Pin, also gar Nichts angeschlossen, muß bei INPUT_PULLUP auf Vcc (Versorgungsspannung) liegen.

Was uwe meint: NIEMALSNICHT zwei Ausgänge gegeneinander schalten.
Der eine Ausgang sagt HIGH und prügelt dafür Strom bis zum Erbrechen aus dem Pin raus, der andere Ausgang sagt LOW und saugt Strom bis zum Sankt-Nimmerleins-Tag in sich hinein - Beide können Das nicht ab, Einer wird daran sterben.

Der Eingang nimmt so gut wie gar keinen Strom auf (High-Z, das Z steht dabei für die Impedanz ... den Widerstand).
Der PullUP verbindet PLUS eben über diesen Widerstand mit dem Pin.
Unbetätigt hast Du nun einen Spannungsteiler mit dem Pull-UP (5...20kΩ ... müsste nachsehen) und einem nahezu unendlichem Widerstand nach GND durch den abgeschalteten Treiber.
Das ergibt 5V am Pin.
Wenn Du jetzt den Pin nach GND ziehst, hast Du PLUS - Widerstand - GND und der Pin 'misst' unterhalb des Widerstand die Spannung - jetzt nahezu GND-Potential.
Durch den Widerstand ist der mögliche Strom stark begrenzt - 5V und 1kΩ ergäbe 5mA - bei 5kΩ nur noch 1mA - bei 20kΩ 250nA 250µA (Mykro-Ampere oder 0,25mA) - Strom, Der dem Schalter nicht nicht weh tut.

MfG

PS: Ausgebessert durch #18
Uwe hat natürlich Recht: Bei 5-fachem Widerstand kommt 1/5tel an Strom raus - und nach Milli kommt Mykro (und nicht Nano, wie ich zuvor hier geschrieben hatte).
Milli(1.000) Mykro(.1000.000) Nano(1.000.000.000 ... Nano wie Neun Nullen) Piko, und ab Jetzt muß ich Raten ... oder Wikipedia befragen)

Danke für die Erklärung, so hab ich das verstanden!
Ich werde das nochmals probieren

Gruß Chris

Hoib3rgA:
Hy Uwe,ähhhm ... jetzt versteh ich nur noch Bahnhof!
Gruß Chris

Entschuldig, da habe ich mal Blödsinn geschrieben. Habs ausgebessert.
Uwe

postmaster-ino:
Unbetätigt hast Du nun einen Spannungsteiler mit dem Pull-UP (5...20kΩ ... müsste nachsehen) und einem nahezu unendlichem Widerstand nach GND durch den abgeschalteten Treiber.
Das ergibt 5V am Pin.
Wenn Du jetzt den Pin nach GND ziehst, hast Du PLUS - Widerstand - GND und der Pin 'misst' unterhalb des Widerstand die Spannung - jetzt nahezu GND-Potential.
Durch den Widerstand ist der mögliche Strom stark begrenzt - 5V und 1kΩ ergäbe 5mA - bei 5kΩ nur noch 1mA - bei 20kΩ 250nA (Nano-Ampere oder 0,25mA) - Strom, Der dem Schalter nicht nicht weh tut.

MfG

Die internen Pullup haben 20k bis 50kOhm. Widerstände aus Halbleitermaterial auf dem Die gemacht sind sehr ungenau aber als Pullup ist der genaue Wet nicht so wichtig.

Ok; postmaster-ino ich habe heute schon mal Blödsinn geschrieben. Warum eiferst Du mir aber nach? :wink: :wink: :wink: 8)

Bei 5V und 20kOhm fließen 250µA. 1000 mal mehr als Du schreibst.

Grüße Uwe

Hi Uwe

Sorry, Da habe ich mich echt verhauen - ist oben korrigiert.
Danke der Korrektur!!

MfG