{"id":1137,"date":"2021-10-17T01:26:18","date_gmt":"2021-10-16T23:26:18","guid":{"rendered":"https:\/\/unckel.de\/blog\/?p=1137"},"modified":"2022-01-04T23:19:08","modified_gmt":"2022-01-04T22:19:08","slug":"trinkerinnerer-mit-arduino","status":"publish","type":"post","link":"https:\/\/unckel.de\/blog\/trinkerinnerer-mit-arduino\/","title":{"rendered":"Trink-Erinnerer mit Arduino"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">Untersetzer mit Trinkerinnerung<\/h2>\n\n\n\n<p>Zu wenig trinken ist nicht gesund. Daher habe ich einen kleinen Trinkerinnerer gebastelt. Ist keine neue Idee &#8211; so etwas wird in unterschiedlichen Ausf\u00fchrungen angeboten. Aber wieso kaufen wenn man es auch selbst bauen kann?<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Trink-Erinnerer Reminder mit Arduino\" width=\"640\" height=\"360\" src=\"https:\/\/www.youtube.com\/embed\/QUP8mZvtR28?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Funktion<\/h2>\n\n\n\n<p>Immer wenn ein Glas darauf gestellt wird, startet ein Timer. Nach 30 Minuten werden die LEDs blau und ein Piep ert\u00f6nt. Reagiert man nicht, blinkt es nach 45 Minuten. Und f\u00fcr die ganz Vergesslichen ist noch ein Z\u00e4hler der getrunkenen Gl\u00e4ser integriert! Da ich das nur f\u00fcrs B\u00fcro brauche, kommt der Strom einfach per USB.  Ein- und Ausschalten geht dann einfach \u00fcbers Notebook.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Bauteile<\/h2>\n\n\n\n<ul class=\"wp-block-list\"><li>Arduino Nano<\/li><li>Micortaster mit Lasche (wurde umgebogen)<\/li><li>Microtaster<\/li><li>RGB-LEDs mit entsprechenden Widerst\u00e4nden f\u00fcr Blau und Gr\u00fcn<\/li><li>Minilautsprecher aus einem alten Telefon<\/li><li>F\u00fcrs Geh\u00e4use ein St\u00fcck Hartholz, Plexiglas, Schrauben und Filz<\/li><\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/unckel.de\/blog\/wp-content\/uploads\/trinkerinnerer-P1060163-scaled.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"1000\" height=\"667\" src=\"https:\/\/unckel.de\/blog\/wp-content\/uploads\/trinkerinnerer-P1060163-1000x667.jpg\" alt=\"\" class=\"wp-image-1156\" srcset=\"https:\/\/unckel.de\/blog\/wp-content\/uploads\/trinkerinnerer-P1060163-1000x667.jpg 1000w, https:\/\/unckel.de\/blog\/wp-content\/uploads\/trinkerinnerer-P1060163-400x267.jpg 400w, https:\/\/unckel.de\/blog\/wp-content\/uploads\/trinkerinnerer-P1060163-768x512.jpg 768w, https:\/\/unckel.de\/blog\/wp-content\/uploads\/trinkerinnerer-P1060163-1536x1025.jpg 1536w, https:\/\/unckel.de\/blog\/wp-content\/uploads\/trinkerinnerer-P1060163-2048x1367.jpg 2048w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><\/a><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Schaltplan<\/h2>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/unckel.de\/blog\/wp-content\/uploads\/trinkerinnerer-schaltplan.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1000\" height=\"671\" src=\"https:\/\/unckel.de\/blog\/wp-content\/uploads\/trinkerinnerer-schaltplan-1000x671.png\" alt=\"\" class=\"wp-image-1152\" srcset=\"https:\/\/unckel.de\/blog\/wp-content\/uploads\/trinkerinnerer-schaltplan-1000x671.png 1000w, https:\/\/unckel.de\/blog\/wp-content\/uploads\/trinkerinnerer-schaltplan-400x268.png 400w, https:\/\/unckel.de\/blog\/wp-content\/uploads\/trinkerinnerer-schaltplan-768x515.png 768w, https:\/\/unckel.de\/blog\/wp-content\/uploads\/trinkerinnerer-schaltplan.png 1282w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><\/a><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Code<\/h2>\n\n\n\n<p>Ich hatte nur RGB-LEDs mit gemeinsamer Anode (+) was eher un\u00fcblich ist und kein Problem darstellt, aber den Code etwas unleserlich macht. Daher hier der bereinigte, grundlegenden Code.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/* \n *  Trinkerinnerer\n *  Erinnert nach 30 min ans Trinken\n *  Version 1.0 \/ Juni 2021\n *  Mike Unckel \/ www.unckel.de\n *\/\n\n\/\/ Pins setzen\nconst int LED_BLUE&#91;]  = {2, 4, 6, 8};\nconst int LED_GREEN&#91;] = {3, 5, 7, 9};\n\nconst int BUTTON_GLASS = 12;\nconst int BUTTON_MODE = 10;\n\nconst int SPEAKER = 11; \/\/ PWM-Pin\n\n\/\/ Timer-Variablen\nunsigned long interval = 30; \/\/ in min.\nunsigned long previousMillis = 0;\nunsigned long currentMillis;\n\n\/\/ Gl\u00e4ser-Z\u00e4hler\nint glassCount = 0;\n\n\/\/ Pieps-Z\u00e4hler\nint beepCount = 0;\n\nvoid setup() {\n\n  \/\/ Umrechnung min in ms\n  interval *= 60000;\n\n  pinMode(BUTTON_GLASS, INPUT_PULLUP);\n  pinMode(BUTTON_MODE, INPUT_PULLUP);\n\n  pinMode(SPEAKER, OUTPUT);\n\n  \/\/ LEDs und Taster initiieren\n  for (int i = 0; i &lt; 4; i++) {\n    pinMode(LED_GREEN&#91;i], OUTPUT);\n    digitalWrite(LED_GREEN&#91;i], LOW);\n    pinMode(LED_BLUE&#91;i], OUTPUT);\n    digitalWrite(LED_BLUE&#91;i], LOW);\n  }\n\n  \/\/ Start-Animation\/Sound\n  for (int i = 0; i &lt; 4; i++) {\n    tone(SPEAKER, 500*i+6000, 35);\n    digitalWrite(LED_GREEN&#91;i], HIGH);\n    delay(35);\n    digitalWrite(LED_GREEN&#91;i], LOW);\n    delay(35);\n  }\n}\n\n\nvoid loop() {\n  \n  currentMillis = millis();\n  \n  \/\/ Alarm wenn Zeit um\n  if (currentMillis - previousMillis > interval) {\n    alarm(HIGH);\n  }\n\n  \/\/ Alarm r\u00fccksetzen sobald Glas aufgestellt wird\n  if (digitalRead(BUTTON_GLASS) == HIGH) {\n    alarm(LOW);\n    previousMillis = currentMillis;\n\n    beepCount = 0;\n  }\n\n  \/\/ Gl\u00e4ser-Z\u00e4hler (LOW = gedr\u00fcckt da Pullup)\n  if (digitalRead(BUTTON_MODE) == LOW) {\n    \n    glassCount++;\n    if (glassCount > 4) {\n      glassCount = 0;\n    }\n    glasses(glassCount);\n    \n    delay(250); \/\/ Entprellung\n  }\n    \n  delay(10);\n}\n\n\nvoid alarm(bool state) {\n\n  \/\/ Gr\u00fcn (Gl\u00e4ser-Z\u00e4hler) aus wenn Blau (Alarm) an\n  if (state) {\n    for (int i = 0; i &lt; 4; i++) {\n      digitalWrite(LED_GREEN&#91;i], LOW);\n    }\n  }\n  else {\n    for (int i = 0; i &lt; glassCount; i++) {\n      digitalWrite(LED_GREEN&#91;i], HIGH);\n    }\n  }\n\n  \/\/ Blaue LEDs an\/aus\n  for (int i = 0; i &lt; 4; i++) {\n    digitalWrite(LED_BLUE&#91;i], !state);\n    delay(35);\n  }\n}\n\n\n\/\/ Gl\u00e4ser-Z\u00e4hler\nvoid glasses(int cnt) {\n\n  for (int i = 0; i &lt; 4; i++) {\n    digitalWrite(LED_GREEN&#91;i], LOW);\n  }\n  \n  for (int i = 0; i &lt; cnt; i++) {\n    digitalWrite(LED_GREEN&#91;i], HIGH);\n  }\n}<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Verbesserungen<\/h2>\n\n\n\n<p>Statt des Micortasters mit Lasche, was nicht gerade sch\u00f6n aussieht und auch eine gewisse H\u00f6he des Geh\u00e4uses mit sich bringt, k\u00f6nnte man unsichtbar einen Drucksensor verwenden. Da entstehen dann schnell weitere Ideen wie die Messung des Gewichts usw&#8230; Schick w\u00e4re auch anstatt des kleinen Microtasters zur Gl\u00e4serz\u00e4hlung ein unter dem Holz versteckter Touchtaster. Und die vier RGB-LEDs k\u00f6nnte man nat\u00fcrlich gegen schicke Neopixel u.\u00e4. tauschen. Aber man muss es ja nicht gleich \u00fcbertreiben \ud83d\ude42<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Noch ein paar Bilder<\/h2>\n\n\n\n<figure class=\"wp-block-gallery columns-3 is-cropped wp-block-gallery-1 is-layout-flex wp-block-gallery-is-layout-flex\"><ul class=\"blocks-gallery-grid\"><li class=\"blocks-gallery-item\"><figure><a href=\"https:\/\/unckel.de\/blog\/wp-content\/uploads\/trinkerinnerer-P1060165-scaled.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"1000\" height=\"667\" src=\"https:\/\/unckel.de\/blog\/wp-content\/uploads\/trinkerinnerer-P1060165-1000x667.jpg\" alt=\"\" data-id=\"1158\" data-full-url=\"https:\/\/unckel.de\/blog\/wp-content\/uploads\/trinkerinnerer-P1060165-scaled.jpg\" data-link=\"https:\/\/unckel.de\/blog\/trinkerinnerer-p1060165\/\" class=\"wp-image-1158\" srcset=\"https:\/\/unckel.de\/blog\/wp-content\/uploads\/trinkerinnerer-P1060165-1000x667.jpg 1000w, https:\/\/unckel.de\/blog\/wp-content\/uploads\/trinkerinnerer-P1060165-400x267.jpg 400w, https:\/\/unckel.de\/blog\/wp-content\/uploads\/trinkerinnerer-P1060165-768x512.jpg 768w, https:\/\/unckel.de\/blog\/wp-content\/uploads\/trinkerinnerer-P1060165-1536x1025.jpg 1536w, https:\/\/unckel.de\/blog\/wp-content\/uploads\/trinkerinnerer-P1060165-2048x1367.jpg 2048w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><\/a><\/figure><\/li><li class=\"blocks-gallery-item\"><figure><a href=\"https:\/\/unckel.de\/blog\/wp-content\/uploads\/trinkerinnerer-P1060154-scaled.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"1000\" height=\"667\" src=\"https:\/\/unckel.de\/blog\/wp-content\/uploads\/trinkerinnerer-P1060154-1000x667.jpg\" alt=\"\" data-id=\"1154\" data-full-url=\"https:\/\/unckel.de\/blog\/wp-content\/uploads\/trinkerinnerer-P1060154-scaled.jpg\" data-link=\"https:\/\/unckel.de\/blog\/trinkerinnerer-p1060154\/\" class=\"wp-image-1154\" srcset=\"https:\/\/unckel.de\/blog\/wp-content\/uploads\/trinkerinnerer-P1060154-1000x667.jpg 1000w, https:\/\/unckel.de\/blog\/wp-content\/uploads\/trinkerinnerer-P1060154-400x267.jpg 400w, https:\/\/unckel.de\/blog\/wp-content\/uploads\/trinkerinnerer-P1060154-768x512.jpg 768w, https:\/\/unckel.de\/blog\/wp-content\/uploads\/trinkerinnerer-P1060154-1536x1025.jpg 1536w, https:\/\/unckel.de\/blog\/wp-content\/uploads\/trinkerinnerer-P1060154-2048x1367.jpg 2048w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><\/a><\/figure><\/li><li class=\"blocks-gallery-item\"><figure><a href=\"https:\/\/unckel.de\/blog\/wp-content\/uploads\/trinkerinnerer-P1060143-scaled.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"1000\" height=\"667\" src=\"https:\/\/unckel.de\/blog\/wp-content\/uploads\/trinkerinnerer-P1060143-1000x667.jpg\" alt=\"\" data-id=\"1159\" data-full-url=\"https:\/\/unckel.de\/blog\/wp-content\/uploads\/trinkerinnerer-P1060143-scaled.jpg\" data-link=\"https:\/\/unckel.de\/blog\/trinkerinnerer-p1060143\/\" class=\"wp-image-1159\" srcset=\"https:\/\/unckel.de\/blog\/wp-content\/uploads\/trinkerinnerer-P1060143-1000x667.jpg 1000w, https:\/\/unckel.de\/blog\/wp-content\/uploads\/trinkerinnerer-P1060143-400x267.jpg 400w, https:\/\/unckel.de\/blog\/wp-content\/uploads\/trinkerinnerer-P1060143-768x512.jpg 768w, https:\/\/unckel.de\/blog\/wp-content\/uploads\/trinkerinnerer-P1060143-1536x1025.jpg 1536w, https:\/\/unckel.de\/blog\/wp-content\/uploads\/trinkerinnerer-P1060143-2048x1367.jpg 2048w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><\/a><\/figure><\/li><li class=\"blocks-gallery-item\"><figure><a href=\"https:\/\/unckel.de\/blog\/wp-content\/uploads\/trinkerinnerer-P1060146-scaled.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"1000\" height=\"667\" src=\"https:\/\/unckel.de\/blog\/wp-content\/uploads\/trinkerinnerer-P1060146-1000x667.jpg\" alt=\"\" data-id=\"1160\" data-full-url=\"https:\/\/unckel.de\/blog\/wp-content\/uploads\/trinkerinnerer-P1060146-scaled.jpg\" data-link=\"https:\/\/unckel.de\/blog\/trinkerinnerer-p1060146\/\" class=\"wp-image-1160\" srcset=\"https:\/\/unckel.de\/blog\/wp-content\/uploads\/trinkerinnerer-P1060146-1000x667.jpg 1000w, https:\/\/unckel.de\/blog\/wp-content\/uploads\/trinkerinnerer-P1060146-400x267.jpg 400w, https:\/\/unckel.de\/blog\/wp-content\/uploads\/trinkerinnerer-P1060146-768x512.jpg 768w, https:\/\/unckel.de\/blog\/wp-content\/uploads\/trinkerinnerer-P1060146-1536x1025.jpg 1536w, https:\/\/unckel.de\/blog\/wp-content\/uploads\/trinkerinnerer-P1060146-2048x1367.jpg 2048w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><\/a><\/figure><\/li><li class=\"blocks-gallery-item\"><figure><a href=\"https:\/\/unckel.de\/blog\/wp-content\/uploads\/trinkerinnerer-P1060160-scaled.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"1000\" height=\"667\" src=\"https:\/\/unckel.de\/blog\/wp-content\/uploads\/trinkerinnerer-P1060160-1000x667.jpg\" alt=\"\" data-id=\"1155\" data-full-url=\"https:\/\/unckel.de\/blog\/wp-content\/uploads\/trinkerinnerer-P1060160-scaled.jpg\" data-link=\"https:\/\/unckel.de\/blog\/trinkerinnerer-p1060160\/\" class=\"wp-image-1155\" srcset=\"https:\/\/unckel.de\/blog\/wp-content\/uploads\/trinkerinnerer-P1060160-1000x667.jpg 1000w, https:\/\/unckel.de\/blog\/wp-content\/uploads\/trinkerinnerer-P1060160-400x267.jpg 400w, https:\/\/unckel.de\/blog\/wp-content\/uploads\/trinkerinnerer-P1060160-768x512.jpg 768w, https:\/\/unckel.de\/blog\/wp-content\/uploads\/trinkerinnerer-P1060160-1536x1025.jpg 1536w, https:\/\/unckel.de\/blog\/wp-content\/uploads\/trinkerinnerer-P1060160-2048x1367.jpg 2048w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><\/a><\/figure><\/li><\/ul><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>Untersetzer mit Trinkerinnerung Zu wenig trinken ist nicht gesund. Daher habe ich einen kleinen Trinkerinnerer gebastelt. Ist keine neue Idee &#8211; so etwas wird in unterschiedlichen Ausf\u00fchrungen angeboten. Aber wieso kaufen wenn man es auch selbst bauen kann? Funktion Immer wenn ein Glas darauf gestellt wird, startet ein Timer. Nach 30 Minuten werden die LEDs [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":1154,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[64,62],"tags":[],"class_list":["post-1137","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-arduino","category-aus-der-werkstatt"],"_links":{"self":[{"href":"https:\/\/unckel.de\/blog\/wp-json\/wp\/v2\/posts\/1137","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/unckel.de\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/unckel.de\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/unckel.de\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/unckel.de\/blog\/wp-json\/wp\/v2\/comments?post=1137"}],"version-history":[{"count":11,"href":"https:\/\/unckel.de\/blog\/wp-json\/wp\/v2\/posts\/1137\/revisions"}],"predecessor-version":[{"id":1194,"href":"https:\/\/unckel.de\/blog\/wp-json\/wp\/v2\/posts\/1137\/revisions\/1194"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/unckel.de\/blog\/wp-json\/wp\/v2\/media\/1154"}],"wp:attachment":[{"href":"https:\/\/unckel.de\/blog\/wp-json\/wp\/v2\/media?parent=1137"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/unckel.de\/blog\/wp-json\/wp\/v2\/categories?post=1137"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/unckel.de\/blog\/wp-json\/wp\/v2\/tags?post=1137"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}