# Zeit bei Schaltung von Pins

**URL:** <https://forum.calliope.cc/t/zeit-bei-schaltung-von-pins/988>\
**Category:** Hardware Fragen und Probleme\
**Created:** [16. Januar 2019 um 05:36 UTC](https://forum.calliope.cc/t/zeit-bei-schaltung-von-pins/988 "2019-01-16T05:36:34Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![C\_R](https://avatars.discourse-cdn.com/v4/letter/c/b19c9b/32.png) [@C\_R](https://forum.calliope.cc/u/C_R)\
**Post date:** [16. Januar 2019 um 05:36 UTC](https://forum.calliope.cc/t/zeit-bei-schaltung-von-pins/988/1 "2019-01-16T05:36:34Z")

</div>

Hallo zusammen,  
ich versuche mit Hilfe des Calliope eine Funksteckdose zu schalten. Dazu muss ich eine Sequenz von Einsen und Nullen über einen 433 Mhz-Sender schicken.  
Die Dauer der einzelnen Sequenzeinheiten liegt bei 400 Microsek. bzw. 1000 Microsek., dh. ich der MicroPython-Code sieht beispielhaft so aus:

pin1.write\_digital(1)  
sleep(0.35)  
pin1.write\_digital(0)  
sleep(1)

Die ausgehende Sequenz funktioniert nicht - wenn ich sie mir mit Hilfe einer LED visualisiere, dann passt die Zeit nicht, dh. die Sequenz ist viel zu langsam…  
Wie genau kann der Calliope Zeiten messen/schalten? Ist da was im Microsekundenbereich zu machen?

Viele Grüße  
Marie

Bitte immer angeben:  
Versionsnummer auf dem mini 1:.3  
Betriebssystem: Win10  
Benutzter Editor: Portmu 1.0.0 / OpenRoberta

---

<div class="post-metadata">

**Author:** ![Weja](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.calliope.cc/weja/32/89_2.png) [@Weja](https://forum.calliope.cc/u/Weja)\
**Post date:** [16. Januar 2019 um 08:34 UTC](https://forum.calliope.cc/t/zeit-bei-schaltung-von-pins/988/2 "2019-01-16T08:34:39Z")

</div>

Hallo Marie,  
ich benutze zwar micropython nicht, habe aber vielleicht trotzdem eine Lösung, wie du die Ausführungszeiten für Befehle ermitteln kannst. Führe dazu in einem Programm 3 Schritte aus.

1. messe die Laufzeit einer leeren Schleife, die z.B. 10000 mal durchlaufen wird.  
for i in range(10000):  
pass
2. messe die Zeit für die Schleife inklusive den Befehlen z.B.  
for i in range(10000):  
pin1.write\_digital(1)  
sleep(0.35)
3. gebe das Ergebnis von Schritt2 minus Schritt1 geteilt durch 10000 aus.  
nun kennst du die tatsächliche Ausführungszeit deiner Befehle.

Gruß  
Weja
