{"id":38,"date":"2017-03-10T11:50:25","date_gmt":"2017-03-10T11:50:25","guid":{"rendered":"http:\/\/iludis.de\/?p=38"},"modified":"2018-12-24T15:59:27","modified_gmt":"2018-12-24T15:59:27","slug":"interrupts-am-arduino-rundenzaehler","status":"publish","type":"page","link":"https:\/\/iludis.de\/?page_id=38","title":{"rendered":"Interrupts am Arduino: Rundenz\u00e4hler"},"content":{"rendered":"<p><a href=\"https:\/\/iludis.de\/wp-content\/uploads\/2017\/03\/RundenzaehlerII.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-37 size-full\" src=\"https:\/\/iludis.de\/wp-content\/uploads\/2017\/03\/RundenzaehlerII.jpg\" alt=\"\" width=\"599\" height=\"431\" srcset=\"https:\/\/iludis.de\/wp-content\/uploads\/2017\/03\/RundenzaehlerII.jpg 599w, https:\/\/iludis.de\/wp-content\/uploads\/2017\/03\/RundenzaehlerII-300x216.jpg 300w\" sizes=\"auto, (max-width: 599px) 100vw, 599px\" \/><\/a><\/p>\n<p><a href=\"https:\/\/iludis.de\/wp-content\/uploads\/2017\/03\/RundenzaehlerK.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-36 size-full\" src=\"https:\/\/iludis.de\/wp-content\/uploads\/2017\/03\/RundenzaehlerK.png\" alt=\"\" width=\"774\" height=\"606\" srcset=\"https:\/\/iludis.de\/wp-content\/uploads\/2017\/03\/RundenzaehlerK.png 774w, https:\/\/iludis.de\/wp-content\/uploads\/2017\/03\/RundenzaehlerK-300x235.png 300w, https:\/\/iludis.de\/wp-content\/uploads\/2017\/03\/RundenzaehlerK-768x601.png 768w\" sizes=\"auto, (max-width: 774px) 100vw, 774px\" \/><\/a><\/p>\n<pre class=\"brush: c; gutter: true\">#include &lt;Wire.h&gt;\r\n#include &quot;Adafruit_LEDBackpack.h&quot;\r\n#include &quot;Adafruit_GFX.h&quot;\r\n#include &lt;LiquidCrystal.h&gt;\r\n\/\/\r\nAdafruit_7segment matrix = Adafruit_7segment();\r\nLiquidCrystal lcd(9, 8, 5, 4, 6, 7);\r\n\/\/\r\nvolatile unsigned long zaehlerrechts = 0;\r\nvolatile unsigned long millisrechts = 0;\r\nvolatile unsigned long speedrechts = 65000;\r\nvolatile unsigned long zaehlerlinks = 0;\r\nvolatile unsigned long millislinks = 0;\r\nvolatile unsigned long speedlinks = 65000;\r\n\/\/\r\nvoid setup() {\r\n\u00a0 \u00a0 Wire.begin();\r\n\u00a0 \u00a0 attachInterrupt(0, rechtsHoch, CHANGE);\r\n\u00a0 \u00a0 attachInterrupt(1, linksHoch, CHANGE);\r\n\u00a0 \u00a0 matrix.begin(0x70);\r\n\u00a0 \u00a0 millisrechts = millislinks = millis();\r\n\u00a0 \u00a0 lcd.begin(16, 2);\r\n\u00a0 \u00a0 delay(500);\r\n}\r\n\/\/\r\nvoid loop() {\r\n\u00a0 \u00a0 lcd.setCursor(0, 0);\r\n\u00a0 \u00a0 lcd.print(&quot;schnellste Runde&quot; );\r\n\u00a0 \u00a0 lcd.setCursor(0, 1);\r\n\u00a0 \u00a0 lcd.print(&quot; &quot;);\r\n\u00a0 \u00a0 lcd.setCursor(0, 1);\r\n\u00a0 \u00a0 if (speedrechts &lt; 65000) {\r\n\u00a0 \u00a0 \u00a0 \u00a0 lcd.print(speedrechts + &quot;ms&quot;);\r\n\u00a0 \u00a0 } else {\r\n\u00a0 \u00a0 \u00a0 \u00a0 lcd.print(&quot;---- ms&quot;);\r\n\u00a0 \u00a0 }\r\n\u00a0 \u00a0 lcd.setCursor(8, 1);\r\n\u00a0 \u00a0 lcd.print(&quot; &quot;);\r\n\u00a0 \u00a0 lcd.setCursor(8, 1);\r\n\u00a0 \u00a0 if (speedlinks &lt; 65000) {\r\n\u00a0 \u00a0 \u00a0 \u00a0 lcd.print(speedlinks + &quot; ms&quot;);\r\n\u00a0 \u00a0 } else {\r\n\u00a0 \u00a0 \u00a0 \u00a0 lcd.print(&quot;---- ms&quot;);\r\n\u00a0 \u00a0 }\r\n\u00a0 \u00a0 int zaehler = 100 * zaehlerrechts + zaehlerlinks;\r\n\u00a0 \u00a0 matrix.writeDigitNum(0, (zaehler \/ 1000), false);\r\n\u00a0 \u00a0 matrix.writeDigitNum(1, (zaehler \/ 100) % 10, false);\r\n\u00a0 \u00a0 matrix.drawColon(true);\r\n\u00a0 \u00a0 matrix.writeDigitNum(3, (zaehler \/ 10) % 10, false);\r\n\u00a0 \u00a0 matrix.writeDigitNum(4, zaehler % 10, false);\r\n\u00a0 \u00a0 matrix.writeDisplay();\r\n\u00a0 \u00a0 delay(100);\r\n}\r\nvoid rechtsHoch() {\r\n\u00a0 \u00a0 unsigned long temprechts = millis() - millisrechts;\r\n\u00a0 \u00a0 if (temprechts &gt; 700) {\r\n\u00a0 \u00a0 \u00a0 \u00a0 zaehlerrechts++;\r\n\u00a0 \u00a0 \u00a0 \u00a0 if (speedrechts &gt; temprechts) {\r\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 speedrechts = temprechts;\r\n\u00a0 \u00a0 \u00a0 \u00a0 }\r\n\u00a0 \u00a0 \u00a0 \u00a0 millisrechts = millis();\r\n\u00a0 \u00a0 }\r\n}\r\nvoid linksHoch() {\r\n\u00a0 \u00a0 unsigned long templinks = millis() - millislinks;\r\n\u00a0 \u00a0 if (templinks &gt; 700) {\r\n\u00a0 \u00a0 \u00a0 \u00a0 zaehlerlinks++;\r\n\u00a0 \u00a0 \u00a0 \u00a0 if (speedlinks &gt; templinks) {\r\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 speedlinks = templinks;\r\n\u00a0 \u00a0 \u00a0 \u00a0 }\r\n\u00a0 \u00a0 \u00a0 \u00a0 millislinks = millis();\r\n\u00a0 \u00a0 }\r\n}\r\n\r\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>#include &lt;Wire.h&gt; #include &quot;Adafruit_LEDBackpack.h&quot; #include &quot;Adafruit_GFX.h&quot; #include &lt;LiquidCrystal.h&gt; \/\/ Adafruit_7segment matrix = Adafruit_7segment(); LiquidCrystal lcd(9, 8, 5, 4, 6, 7); \/\/ volatile unsigned long zaehlerrechts = 0; volatile unsigned long millisrechts = 0; volatile unsigned long speedrechts = 65000; volatile unsigned long zaehlerlinks = 0; volatile unsigned long millislinks = 0; volatile unsigned long speedlinks&hellip; <\/p>\n<p class=\"toivo-read-more\"><a href=\"https:\/\/iludis.de\/?page_id=38\" class=\"more-link\">Read more <span class=\"screen-reader-text\">Interrupts am Arduino: Rundenz\u00e4hler<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":{"0":"post-38","1":"page","2":"type-page","3":"status-publish","5":"entry"},"_links":{"self":[{"href":"https:\/\/iludis.de\/index.php?rest_route=\/wp\/v2\/pages\/38","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/iludis.de\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/iludis.de\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/iludis.de\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/iludis.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=38"}],"version-history":[{"count":0,"href":"https:\/\/iludis.de\/index.php?rest_route=\/wp\/v2\/pages\/38\/revisions"}],"wp:attachment":[{"href":"https:\/\/iludis.de\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=38"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}