Hallo,
ich bin derzeit ein wenig am spielen mit Arduino, nachdem ich bereits HM-Komponenten und WifiLight sowie FritzBox und XBMC erfolgreich in fhem eingebunden habe und momentan mitten in einem größeren Umbau stecke.
Ich habe einen Mega 2560 plus Ethernet-Shield, was auch gut mit fhem interagiert (also Relais und LEDs zum Testen).
Nun habe ich Pin 8 als digital in definiert:
define A1_8_IN FRM_IN 8
Funktioniert so weit auch gut, aber sobald ich auch nur ein Kabel (diese Jumper-Kabel aus einem Arduino Starter-Set) anschließe, bekomme ich dauern aus/ein/aus/ein etc. auf Pin 8 angezeigt. Wohlgemerkt - das Kabel ist nur mit einem Ende mit Pin 8 verbunden, das andere Ende hängt in der Luft.
Ich bin absolut kein Elektroniker - vielleicht verstehe ich daher dieses für mich merkwürdige Verhalten nicht. Weiß jemand, warum das so ist?
Hintergrund meiner Frage: Es wäre eine kostengünstige Variante, Taster, Schalter usw. per Arduino (oder auch 1wire) anzubinden, anstatt teure fertige Komponenten zu kaufen. Dafür sollte es doch eigentlich reichen, den Pin mit GND zu verbinden, um ein HIGH bzw LOW zu bekommen?
Sorry für diese absoluten noob-Fragen, aber ich steh ziemlich am Schlauch....
Danke im Voraus und cheers,
Pula
Hi,
setz mal das Attibut internal pullup auf on. Zum schalten musst du dann den Eingang auf Masse legen.
Gruß Denis
argh.... lesen hilft manchmal ^^
Habs rausgefunden - der interne Pullup-Widerstand muß gesetzt sein, damit das funktioniert.
In meinem Fall:
attr A1_8_IN internal-pullup on
Nur, falls mal ein anderern Noob über genau dieses Verhalten stolpert...
Cheers,
Pula
@golem: Vielen Dank :-)
Hatte es in der Zwischenzeit selber rausgefunden :-)
Cheers,
Pula
Hallo,
um das Thema noch einmal hervorzukramen:
hat jemand mit Firmata bereits erfolgreich Taster entprellt?
Zusatzfrage: Hat jemand mit Taster und firmata bereits jemand ein long-press hinbekommen?
Cheers,
Pula
"Mechanische" FRM INs (Taster, Relais, Mikroschalter) lassen sich gut mit einen 100nF Kondensator parallel zu den Kontakten entprellen, aber was bitte ist ein "long-press" ?
Danke für den Tip!
Ein Long Press (bekannt unter anderem von Homematic) ist, wenn man einen Taster eine gewisse Dauer lang drückt (zb länger als eine halbe Sekunde). Dann wird ein anderes Ereignis ausgelöst als bei einem "normalen" (kurzen) Druck - und man kann zusätzliche Funktionen hinterlegen....
Ich habe mein Taster auch nicht per Software sondern per Elektronik mit einem RC-Tiefpass entprellt.
Dadurch sind meine zusätzlichen Probleme beim Einschalten von Pumpen, Ringkerntrafos, etc...
auch behoben worden. (Elektromagnetische Störungen)
Siehe hier:
https://www.mikrocontroller.net/articles/Entprellung#Einfacher_Taster (https://www.mikrocontroller.net/articles/Entprellung#Einfacher_Taster)
Gruß
Rossini600