{"id":398,"date":"2014-02-07T10:38:09","date_gmt":"2014-02-07T10:38:09","guid":{"rendered":"http:\/\/ofalcao.pt\/blog\/?p=398"},"modified":"2014-02-07T10:38:09","modified_gmt":"2014-02-07T10:38:09","slug":"pitagoras-e-a-esfinge","status":"publish","type":"post","link":"https:\/\/ofalcao.pt\/blog\/2014\/pitagoras-e-a-esfinge","title":{"rendered":"Pitagoras e a Esfinge"},"content":{"rendered":"<p>Faltava ainda um tipo qualquer de sensor para ter um sistema verdadeiramente aut\u00f3nomo por isso liguei um sensor de toque LEGO Mindstorms (ainda estilo RCX) a uma das entradas digitais PiFace.<\/p>\n<div class=\"jetpack-video-wrapper\"><iframe loading=\"lazy\" title=\"Pit\u00e1goras e a Esfinge (II)\" width=\"840\" height=\"473\" src=\"https:\/\/www.youtube.com\/embed\/DujYkAHC5RU?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><\/div>\n<p>O PiFace tem 8 entradas digitais com pull-ups internos (li algures que se podem desligar, deixando as entradas \u00abflutuantes\u00bb). Como o sensor de toque RCX \u00e9 um mero interruptor basta ligar um dos cabos a uma das entradas e o outro \u00e0 massa. Com o sensor em repouso (interruptor aberto) a entrada do PiFace vai ler um &#8220;1&#8221; e quando ocorrer contacto (interruptor fechado) a entrada vai ficar ligada \u00e0 massa e \u00e9 lido um &#8220;0&#8221;.<\/p>\n<figure style=\"width: 257px\" class=\"wp-caption alignnone\"><a href=\"http:\/\/www.bricklink.com\/catalogItem.asp?P=879\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" class=\" \" alt=\"\" src=\"https:\/\/i0.wp.com\/www.bricklink.com\/PL\/879.gif?resize=257%2C179\" width=\"257\" height=\"179\" \/><\/a><figcaption class=\"wp-caption-text\">bricklink.com: Lego Touch Sensor (879)<\/figcaption><\/figure>\n<p>\u00c9 muito f\u00e1cil acompanhar o estado do sensor, basta ler continuamente o estado da entrada. No script abixo usei a entrada #0 e acrescentei um atraso de 200 ms entre cada leitura para n\u00e3o inundar o terminal com mensagens &#8220;ON!&#8221; ou &#8220;OFF!&#8221;<\/p>\n<pre>#!\/usr\/bin\/python3\n\nimport sys\nfrom time import sleep\nimport pifacedigitalio\n\npifacedigital = pifacedigitalio.PiFaceDigital()\nled7=pifacedigital.leds[7]\nled6=pifacedigital.leds[6]\nled7.turn_off()\nled6.turn_off()\nin0=pifacedigital.input_pins[0]\n\nwhile(True):\n\u00a0if(in0.value != 0):\n\u00a0\u00a0 print(\"ON!\")\n\u00a0else:\n\u00a0\u00a0 print(\"OFF!)\n\u00a0sleep(0.2)<\/pre>\n<p>E se quisermos usar o sensor para controlar o le\u00e3o basta juntar tudo:<\/p>\n<pre>#!\/usr\/bin\/python3\n\nimport sys\nfrom time import sleep\nimport pifacedigitalio\n\nDELAY_UP = 0.17\nDELAY_DOWN = 0.14\nDELAY_WAIT = 0.75\n\npifacedigital = pifacedigitalio.PiFaceDigital()\nled7=pifacedigital.leds[7]\nled6=pifacedigital.leds[6]\nled7.turn_off()\nled6.turn_off()\nin0=pifacedigital.input_pins[0]\n\nwhile(True):\n\u00a0if(in0.value != 0):\n\u00a0\u00a0 print(\"Para cima!\")\n\u00a0\u00a0 led7.turn_on()\n\u00a0\u00a0 sleep(DELAY_UP)\n\u00a0\u00a0 led7.turn_off()\n\u00a0\u00a0 print(\"Espera!\")\n\u00a0\u00a0 sleep(DELAY_WAIT)\n\u00a0\u00a0 print(\"Para baixo!\")\n\u00a0\u00a0 led6.turn_on()\n\u00a0\u00a0 sleep(DELAY_DOWN)\n\u00a0\u00a0 led6.turn_off()<\/pre>\n<p>Para ligar o sensor \u00e0 entrada #0 do Piface Digital cortei um <a title=\"Bricklink: cabo RCX (5306bc036) \" href=\"http:\/\/www.bricklink.com\/catalogItem.asp?P=5306bc036\">cabo RCX<\/a> a meio:<\/p>\n<p style=\"text-align: left;\"><a href=\"https:\/\/i0.wp.com\/151.236.52.166\/blog\/wp-content\/uploads\/2014\/02\/rcx-cable.jpg\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" class=\"aligncenter  wp-image-401\" alt=\"rcx-cable\" src=\"https:\/\/i0.wp.com\/151.236.52.166\/blog\/wp-content\/uploads\/2014\/02\/rcx-cable.jpg?resize=384%2C263\" width=\"384\" height=\"263\" srcset=\"https:\/\/i0.wp.com\/ofalcao.pt\/blog\/wp-content\/uploads\/2014\/02\/rcx-cable.jpg?w=640&amp;ssl=1 640w, https:\/\/i0.wp.com\/ofalcao.pt\/blog\/wp-content\/uploads\/2014\/02\/rcx-cable.jpg?resize=300%2C205&amp;ssl=1 300w\" sizes=\"auto, (max-width: 384px) 85vw, 384px\" \/><\/a>O diagrama abaixo ilustra a configura\u00e7\u00e3o final, no que diz respeito \u00e0s liga\u00e7\u00f5es el\u00e9ctricas:<\/p>\n<p style=\"text-align: center;\"><a href=\"https:\/\/i0.wp.com\/151.236.52.166\/blog\/wp-content\/uploads\/2014\/02\/pitagoras-e-a-esfinge.jpg\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" class=\"aligncenter  wp-image-406\" alt=\"pitagoras-e-a-esfinge\" src=\"https:\/\/i0.wp.com\/151.236.52.166\/blog\/wp-content\/uploads\/2014\/02\/pitagoras-e-a-esfinge-939x1024.jpg?resize=584%2C636\" width=\"584\" height=\"636\" srcset=\"https:\/\/i0.wp.com\/ofalcao.pt\/blog\/wp-content\/uploads\/2014\/02\/pitagoras-e-a-esfinge.jpg?resize=939%2C1024&amp;ssl=1 939w, https:\/\/i0.wp.com\/ofalcao.pt\/blog\/wp-content\/uploads\/2014\/02\/pitagoras-e-a-esfinge.jpg?resize=275%2C300&amp;ssl=1 275w, https:\/\/i0.wp.com\/ofalcao.pt\/blog\/wp-content\/uploads\/2014\/02\/pitagoras-e-a-esfinge.jpg?w=1680&amp;ssl=1 1680w\" sizes=\"auto, (max-width: 584px) 85vw, 584px\" \/><\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Faltava ainda um tipo qualquer de sensor para ter um sistema verdadeiramente aut\u00f3nomo por isso liguei um sensor de toque LEGO Mindstorms (ainda estilo RCX) a uma das entradas digitais PiFace. O PiFace tem 8 entradas digitais com pull-ups internos (li algures que se podem desligar, deixando as entradas \u00abflutuantes\u00bb). Como o sensor de toque &hellip; <a href=\"https:\/\/ofalcao.pt\/blog\/2014\/pitagoras-e-a-esfinge\" class=\"more-link\">Continuar a ler<span class=\"screen-reader-text\"> &#8220;Pitagoras e a Esfinge&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","enabled":false},"version":2}},"categories":[18,24],"tags":[207,74,94,221,211,103],"series":[],"class_list":["post-398","post","type-post","status-publish","format-standard","hentry","category-lego","category-raspberry-pi","tag-lego","tag-lego-wedo","tag-piface-digital","tag-power-functions","tag-raspberry-pi","tag-sensor"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p2Mhyv-6q","_links":{"self":[{"href":"https:\/\/ofalcao.pt\/blog\/wp-json\/wp\/v2\/posts\/398","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ofalcao.pt\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ofalcao.pt\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ofalcao.pt\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ofalcao.pt\/blog\/wp-json\/wp\/v2\/comments?post=398"}],"version-history":[{"count":0,"href":"https:\/\/ofalcao.pt\/blog\/wp-json\/wp\/v2\/posts\/398\/revisions"}],"wp:attachment":[{"href":"https:\/\/ofalcao.pt\/blog\/wp-json\/wp\/v2\/media?parent=398"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ofalcao.pt\/blog\/wp-json\/wp\/v2\/categories?post=398"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ofalcao.pt\/blog\/wp-json\/wp\/v2\/tags?post=398"},{"taxonomy":"series","embeddable":true,"href":"https:\/\/ofalcao.pt\/blog\/wp-json\/wp\/v2\/series?post=398"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}