{"id":97,"date":"2015-12-02T18:27:05","date_gmt":"2015-12-02T15:27:05","guid":{"rendered":"http:\/\/arduinolab.pw\/?p=97"},"modified":"2015-12-14T16:44:21","modified_gmt":"2015-12-14T13:44:21","slug":"testiruem-litij-ionnyj-akkumulyator-kod-iz-video","status":"publish","type":"post","link":"https:\/\/arduinolab.pw\/index.php\/2015\/12\/02\/testiruem-litij-ionnyj-akkumulyator-kod-iz-video\/","title":{"rendered":"\u0422\u0435\u0441\u0442\u0438\u0440\u0443\u0435\u043c \u043b\u0438\u0442\u0438\u0439-\u0438\u043e\u043d\u043d\u044b\u0439 \u0430\u043a\u043a\u0443\u043c\u0443\u043b\u044f\u0442\u043e\u0440, \u043a\u043e\u0434 \u0438\u0437 \u0432\u0438\u0434\u0435\u043e"},"content":{"rendered":"<p><iframe loading=\"lazy\" src=\"https:\/\/www.youtube.com\/embed\/2bOCP86u1Wg\" width=\"560\" height=\"315\" frameborder=\"0\" allowfullscreen=\"allowfullscreen\"><\/iframe><\/p>\n<p><!--more--><\/p>\n<p>\u043a\u043e\u0434 \u0438\u0437 \u0432\u0438\u0434\u0435\u043e<\/p><div class=\"txkew6ab44a5fb9c80\" ><hr>\n<!-- Yandex.RTB R-A-1793072-2 -->\n<div id=\"yandex_rtb_R-A-1793072-2\"><\/div>\n<script>window.yaContextCb.push(()=>{\n  Ya.Context.AdvManager.render({\n    renderTo: 'yandex_rtb_R-A-1793072-2',\n    blockId: 'R-A-1793072-2'\n  })\n})<\/script><\/div><style type=\"text\/css\">\r\n@media screen and (min-width: 1201px) {\r\n.txkew6ab44a5fb9c80 {\r\ndisplay: block;\r\n}\r\n}\r\n@media screen and (min-width: 993px) and (max-width: 1200px) {\r\n.txkew6ab44a5fb9c80 {\r\ndisplay: block;\r\n}\r\n}\r\n@media screen and (min-width: 769px) and (max-width: 992px) {\r\n.txkew6ab44a5fb9c80 {\r\ndisplay: block;\r\n}\r\n}\r\n@media screen and (min-width: 768px) and (max-width: 768px) {\r\n.txkew6ab44a5fb9c80 {\r\ndisplay: block;\r\n}\r\n}\r\n@media screen and (max-width: 767px) {\r\n.txkew6ab44a5fb9c80 {\r\ndisplay: block;\r\n}\r\n}\r\n<\/style>\r\n\n<pre>#include\u00a0&lt;<span style=\"color: #cc6600;\">SD<\/span>.h&gt;\r\n#include\u00a0&lt;<span style=\"color: #cc6600;\">LiquidCrystal<\/span>.h&gt;\r\n\r\n<span style=\"color: #cc6600;\">LiquidCrystal<\/span> lcd(8, 9, 4, 5, 6, 7);\r\n\u00a0\r\n<span style=\"color: #cc6600;\">const<\/span> <span style=\"color: #cc6600;\">byte<\/span> chipSelect = 2;\r\n<span style=\"color: #cc6600;\">const<\/span> <span style=\"color: #cc6600;\">byte<\/span> relay = A1; \r\n<span style=\"color: #cc6600;\">float<\/span> Vbat;\r\n\r\n<span style=\"color: #cc6600;\">void<\/span> <span style=\"color: #cc6600;\"><b>setup<\/b><\/span>()\r\n{\u00a0\r\n\u00a0\u00a0lcd.<span style=\"color: #cc6600;\">begin<\/span>(16, 2);\r\n\u00a0\u00a0lcd.<span style=\"color: #cc6600;\">clear<\/span>();\r\n\u00a0\u00a0\r\n\u00a0\u00a0<span style=\"color: #cc6600;\">pinMode<\/span>(relay, <span style=\"color: #006699;\">OUTPUT<\/span>);\r\n\u00a0\u00a0<span style=\"color: #cc6600;\">digitalWrite<\/span>(relay, <span style=\"color: #006699;\">LOW<\/span>);\r\n\u00a0\r\n\u00a0\u00a0<span style=\"color: #cc6600;\">if<\/span> (!<span style=\"color: #cc6600;\">SD<\/span>.<span style=\"color: #cc6600;\">begin<\/span>(chipSelect)) {\r\n\u00a0\u00a0\u00a0\u00a0\u00a0lcd.<span style=\"color: #cc6600;\">setCursor<\/span>(0, 0);  \r\n\u00a0\u00a0\u00a0\u00a0\u00a0lcd.<span style=\"color: #cc6600;\">print<\/span>(<span style=\"color: #006699;\">\"Card failed\"<\/span>); \r\n\u00a0\u00a0\u00a0\u00a0<span style=\"color: #cc6600;\">return<\/span>;\r\n\u00a0\u00a0}\r\n\u00a0\u00a0lcd.<span style=\"color: #cc6600;\">print<\/span>(<span style=\"color: #006699;\">\"card initialized.\"<\/span>);\r\n}\r\n\r\n<span style=\"color: #cc6600;\">byte<\/span> key(){\r\n\u00a0\u00a0<span style=\"color: #cc6600;\">int<\/span> val = <span style=\"color: #cc6600;\">analogRead<\/span>(0);\r\n\u00a0\u00a0<span style=\"color: #cc6600;\">if<\/span> (val &lt; 50) <span style=\"color: #cc6600;\">return<\/span> 5;\r\n\u00a0\u00a0<span style=\"color: #cc6600;\">else<\/span> <span style=\"color: #cc6600;\">if<\/span> (val &lt; 150) <span style=\"color: #cc6600;\">return<\/span> 3;\r\n\u00a0\u00a0<span style=\"color: #cc6600;\">else<\/span> <span style=\"color: #cc6600;\">if<\/span> (val &lt; 350) <span style=\"color: #cc6600;\">return<\/span> 4;\r\n\u00a0\u00a0<span style=\"color: #cc6600;\">else<\/span> <span style=\"color: #cc6600;\">if<\/span> (val &lt; 500) <span style=\"color: #cc6600;\">return<\/span> 2;\r\n\u00a0\u00a0<span style=\"color: #cc6600;\">else<\/span> <span style=\"color: #cc6600;\">if<\/span> (val &lt; 800) <span style=\"color: #cc6600;\">return<\/span> 1;\r\n\u00a0\u00a0<span style=\"color: #cc6600;\">else<\/span> <span style=\"color: #cc6600;\">return<\/span> 0;  \r\n}<span style=\"color: #7e7e7e;\">\/\/ --- \u043a\u043e\u043d\u0435\u0446 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043a\u043d\u043e\u043f\u043e\u043a<\/span>\r\n\r\n\r\n<span style=\"color: #cc6600;\">void<\/span> file(<span style=\"color: #cc6600;\">float<\/span> data) {\r\n\u00a0\u00a0<span style=\"color: #cc6600;\">File<\/span> dataFile = <span style=\"color: #cc6600;\">SD<\/span>.<span style=\"color: #cc6600;\">open<\/span>(<span style=\"color: #006699;\">\"datalog.txt\"<\/span>, <span style=\"color: #006699;\">FILE_WRITE<\/span>);\r\n\r\n\u00a0\u00a0<span style=\"color: #7e7e7e;\">\/\/ if the file is available, write to it:<\/span>\r\n\u00a0\u00a0<span style=\"color: #cc6600;\">if<\/span> (dataFile) {\r\n\u00a0\u00a0\u00a0\u00a0dataFile.<span style=\"color: #cc6600;\">println<\/span>(data);\r\n\u00a0\u00a0\u00a0\u00a0dataFile.<span style=\"color: #cc6600;\">close<\/span>(); \r\n\u00a0\u00a0}\u00a0\u00a0\r\n\u00a0\u00a0<span style=\"color: #7e7e7e;\">\/\/ if the file isn't open, pop up an error:<\/span>\r\n\u00a0\u00a0<span style=\"color: #cc6600;\">else<\/span> {\r\n\u00a0\u00a0\u00a0\u00a0\u00a0lcd.<span style=\"color: #cc6600;\">clear<\/span>();\r\n\u00a0\u00a0\u00a0\u00a0\u00a0lcd.<span style=\"color: #cc6600;\">setCursor<\/span>(0, 0);  \r\n\u00a0\u00a0\u00a0\u00a0\u00a0lcd.<span style=\"color: #cc6600;\">print<\/span>(<span style=\"color: #006699;\">\"error open file\"<\/span>);    \r\n\u00a0\u00a0}\u00a0\r\n}\r\n\r\n\r\n<span style=\"color: #cc6600;\">void<\/span> test(){ \r\n\u00a0\u00a0file(0);\r\n\u00a0\u00a0<span style=\"color: #cc6600;\">digitalWrite<\/span>(relay, <span style=\"color: #006699;\">HIGH<\/span>);\r\n\u00a0\u00a0lcd.<span style=\"color: #cc6600;\">clear<\/span>();\r\n\u00a0\u00a0lcd.<span style=\"color: #cc6600;\">setCursor<\/span>(0, 0);  \r\n\u00a0\u00a0lcd.<span style=\"color: #cc6600;\">print<\/span>(<span style=\"color: #006699;\">\" !! test !! \"<\/span>); \r\n\u00a0\u00a0\u00a0\u00a0\r\n\u00a0\u00a0<span style=\"color: #cc6600;\">do<\/span>{\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0Vbat\u00a0=\u00a0(<span style=\"color: #cc6600;\">analogRead<\/span>(A3) * 5.0) \/ 1024.0;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0file(Vbat);\u00a0\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0lcd.<span style=\"color: #cc6600;\">setCursor<\/span>(0, 1);  \r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0lcd.<span style=\"color: #cc6600;\">print<\/span>(Vbat);\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0lcd.<span style=\"color: #cc6600;\">print<\/span>(<span style=\"color: #006699;\">\"V\"<\/span>);    \r\n\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #cc6600;\">delay<\/span>(1000);  \r\n\u00a0\u00a0}\u00a0<span style=\"color: #cc6600;\">while<\/span>(Vbat &gt; 2.5);\r\n\u00a0\u00a0\u00a0\r\n\u00a0<span style=\"color: #cc6600;\">digitalWrite<\/span>(relay, <span style=\"color: #006699;\">LOW<\/span>);\r\n\u00a0lcd.<span style=\"color: #cc6600;\">setCursor<\/span>(0, 0);  \r\n\u00a0lcd.<span style=\"color: #cc6600;\">print<\/span>(<span style=\"color: #006699;\">\"   !!!END!!!    \"<\/span>);\r\n\u00a0<span style=\"color: #cc6600;\">while<\/span>(1);  \r\n}\u00a0\r\n\r\n<span style=\"color: #cc6600;\">void<\/span> <span style=\"color: #cc6600;\"><b>loop<\/b><\/span>()\r\n{\u00a0\r\n\u00a0\u00a0Vbat\u00a0=\u00a0(<span style=\"color: #cc6600;\">analogRead<\/span>(A3) * 5.0) \/ 1024.0;\r\n\u00a0\u00a0lcd.<span style=\"color: #cc6600;\">setCursor<\/span>(0, 1);  \r\n\u00a0\u00a0lcd.<span style=\"color: #cc6600;\">print<\/span>(Vbat);\r\n\u00a0\u00a0lcd.<span style=\"color: #cc6600;\">print<\/span>(<span style=\"color: #006699;\">\"V\"<\/span>);\r\n\u00a0\u00a0\u00a0\r\n\u00a0\u00a0<span style=\"color: #cc6600;\">if<\/span> (key() == 1){\r\n\u00a0\u00a0\u00a0\u00a0test();\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\r\n\u00a0\u00a0}\u00a0\u00a0\u00a0\r\n\u00a0<span style=\"color: #cc6600;\">delay<\/span>(200); \r\n}\r\n\r\n\r\n\r\n<\/pre>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_links_to":"","_links_to_target":""},"categories":[7],"tags":[46,45,26],"class_list":["post-97","post","type-post","status-publish","format-standard","hentry","category-video","tag-lcd","tag-lcd-keypad-shield","tag-proekt"],"_links":{"self":[{"href":"https:\/\/arduinolab.pw\/index.php\/wp-json\/wp\/v2\/posts\/97","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/arduinolab.pw\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/arduinolab.pw\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/arduinolab.pw\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/arduinolab.pw\/index.php\/wp-json\/wp\/v2\/comments?post=97"}],"version-history":[{"count":0,"href":"https:\/\/arduinolab.pw\/index.php\/wp-json\/wp\/v2\/posts\/97\/revisions"}],"wp:attachment":[{"href":"https:\/\/arduinolab.pw\/index.php\/wp-json\/wp\/v2\/media?parent=97"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/arduinolab.pw\/index.php\/wp-json\/wp\/v2\/categories?post=97"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/arduinolab.pw\/index.php\/wp-json\/wp\/v2\/tags?post=97"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}