{"id":568,"date":"2014-08-22T22:59:46","date_gmt":"2014-08-22T21:59:46","guid":{"rendered":"http:\/\/ofalcao.pt\/blog\/?p=568"},"modified":"2014-08-22T22:59:46","modified_gmt":"2014-08-22T21:59:46","slug":"ad4m4st0r-controlando-leds","status":"publish","type":"post","link":"https:\/\/ofalcao.pt\/blog\/2014\/ad4m4st0r-controlando-leds","title":{"rendered":"AD4M4ST0R &#8211; controlando LEDs"},"content":{"rendered":"<div class=\"seriesmeta\">This post is part 5 of 9 of \u00a0<a href=\"https:\/\/ofalcao.pt\/blog\/series\/ad4m4st0r-um-rover-lego\" class=\"series-122\" title=\"AD4M4ST0R - um rover LEGO\">AD4M4ST0R - um rover LEGO<\/a><\/div><p>A qualidade das fotos tiradas pela webcam Logitech C170 n\u00e3o \u00e9 m\u00e1&#8230; desde que haja suficiente luz ambiente. Por isso lembrei-me de ligar LED&#8217;s Power Functions a uma das portas de sa\u00edda ainda dispon\u00edveis para funcionar como \u00abflashes\u00bb ao tirar a fotografia.<\/p>\n<p>Infelizmente a vers\u00e3o actual do ev3dev ainda n\u00e3o permite o controlo individual das portas (foi aberto hoje um issue, depois de uma troca de ideias) por isso a \u00fanica maneira \u00e9 enganar o ev3dev fazendo-o acreditar que tem um motor.<\/p>\n<p>Os motores e os sensores EV3 t\u00eam uma funcionalidade \u00ab<a href=\"http:\/\/www.legomindstormsev3.com\/ev3-hardware\/lego-mindstorms-ev3-programmable-brick\/ev3-technical-overview\/\">Auto-ID<\/a>\u00bb que permite ao EV3 identificar que dispositivo foi ligado a cada porta (g\u00e9nero &#8220;Plug and Play&#8221;). Nos videos do utilizador &#8220;<a title=\"Youtube Channel: TecnicjRobot\" href=\"https:\/\/www.youtube.com\/user\/TechnicRobot\/\">TecnicRobot<\/a>&#8221; ele utiliza um par de resist\u00eancias para que os seus dispositivos de sa\u00edda pare\u00e7am ser motores EV3.<\/p>\n<p>Para isso fiz um cabo semelhante <a href=\"https:\/\/www.youtube.com\/watch?feature=player_detailpage&amp;list=PL5ntyFspLD1RRGOq-Hl0zem0HvM5MC2Zv&amp;v=C3CG5JNmRBI\">a este<\/a> (n\u00e3o tinha resist\u00eancias de 1K\u03a9 e 10 K\u03a9 \u00e0 m\u00e3o mas como o que interessa \u00e9 a propor\u00e7\u00e3o usei de 2.2K\u03a9 e 22K\u03a9) e funciona.<\/p>\n<p>(o pinout do cabo EV3 foi baseado <a href=\"http:\/\/ev3-wissen.engeln.info\/doku.php?id=pin-belegung_der_nxt_western-stecker_kabel\">neste<\/a>)<\/p>\n<pre>\u00a0\u00a0 \u00a0EV3 Cable\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0                     PF Cable\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0                           - 9V\nWhite\u00a0\u00a0 \u00a0Pin 1 (M1)\u00a0\u00a0 \u00a0 -------------------- C2 (middle)\nBlack\u00a0\u00a0 \u00a0Pin 2 (M2)\u00a0\u00a0 \u00a0 -------------------- C1 (middle)\nRed\u00a0\u00a0 \u00a0  Pin 3 (GND)\u00a0\u00a0  ----[R1]---x       - GND\nGreen\u00a0\u00a0 \u00a0Pin 4 (POWER)  ----[R2]---x\nYellow\u00a0\u00a0 Pin 5 (TACHO0) -----------x\nBlue\u00a0\u00a0 \u00a0 Pin 6 (TACHO1) -------- Pin 3 (GND)\n\nR2 ~10xR1\nR1 = 1K, 2K2, 3K3...\nR2 = 10K, 22K, 33K...<\/pre>\n<pre>dmesg:\ntacho-motor tacho-motor2: Tacho motor registered.\nev3-tacho-motor outC:motor: A Tacho Motor connected to port outC gpio 93 irq 194<\/pre>\n<p>Para acender os LEDs a meia intensidade:<\/p>\n<pre>echo 50 &gt; \/sys\/class\/tacho-motor\/tacho-motor2\/duty_cycle_sp\necho 1 &gt; \/sys\/class\/tacho-motor\/tacho-motor2\/run<\/pre>\n<p>Para acender na m\u00e1xima intensidade:<\/p>\n<pre>echo 100 &gt; \/sys\/class\/tacho-motor\/tacho-motor2\/duty_cycle_sp\necho 1 &gt; \/sys\/class\/tacho-motor\/tacho-motor2\/run<\/pre>\n<p><a href=\"https:\/\/i0.wp.com\/151.236.52.166\/blog\/wp-content\/uploads\/2014\/08\/ad4m4st0r-02.jpg\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-570\" src=\"https:\/\/i0.wp.com\/151.236.52.166\/blog\/wp-content\/uploads\/2014\/08\/ad4m4st0r-02-1024x576.jpg?resize=584%2C328\" alt=\"ad4m4st0r-02\" width=\"584\" height=\"328\" srcset=\"https:\/\/i0.wp.com\/ofalcao.pt\/blog\/wp-content\/uploads\/2014\/08\/ad4m4st0r-02.jpg?resize=1024%2C576&amp;ssl=1 1024w, https:\/\/i0.wp.com\/ofalcao.pt\/blog\/wp-content\/uploads\/2014\/08\/ad4m4st0r-02.jpg?resize=300%2C168&amp;ssl=1 300w, https:\/\/i0.wp.com\/ofalcao.pt\/blog\/wp-content\/uploads\/2014\/08\/ad4m4st0r-02.jpg?w=1920&amp;ssl=1 1920w, https:\/\/i0.wp.com\/ofalcao.pt\/blog\/wp-content\/uploads\/2014\/08\/ad4m4st0r-02.jpg?w=1680&amp;ssl=1 1680w\" sizes=\"auto, (max-width: 584px) 85vw, 584px\" \/><\/a> (parece-me que \u00e9 altura de fazer um cabo decente e dar uma arruma\u00e7\u00e3o aos cabos do AD4M4ST0R).<\/p>\n<p>Durante a noite, numa sala com pouca ilumina\u00e7\u00e3o (halog\u00e9neo)<\/p>\n<p><a href=\"https:\/\/i0.wp.com\/151.236.52.166\/blog\/wp-content\/uploads\/2014\/08\/ad4m4st0r-03.jpg\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-574\" src=\"https:\/\/i0.wp.com\/151.236.52.166\/blog\/wp-content\/uploads\/2014\/08\/ad4m4st0r-03.jpg?resize=638%2C240\" alt=\"ad4m4st0r-03\" width=\"638\" height=\"240\" srcset=\"https:\/\/i0.wp.com\/ofalcao.pt\/blog\/wp-content\/uploads\/2014\/08\/ad4m4st0r-03.jpg?w=638&amp;ssl=1 638w, https:\/\/i0.wp.com\/ofalcao.pt\/blog\/wp-content\/uploads\/2014\/08\/ad4m4st0r-03.jpg?resize=300%2C112&amp;ssl=1 300w\" sizes=\"auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 984px) 61vw, (max-width: 1362px) 45vw, 600px\" \/><\/a>Durante a manh\u00e3, no mesmo local com ilumina\u00e7\u00e3o m\u00e9dia (natural mas indirecta):<\/p>\n<p><a href=\"https:\/\/i0.wp.com\/151.236.52.166\/blog\/wp-content\/uploads\/2014\/08\/ad4m4st0r-04.jpg\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-575\" src=\"https:\/\/i0.wp.com\/151.236.52.166\/blog\/wp-content\/uploads\/2014\/08\/ad4m4st0r-04.jpg?resize=840%2C211\" alt=\"ad4m4st0r-04\" width=\"840\" height=\"211\" srcset=\"https:\/\/i0.wp.com\/ofalcao.pt\/blog\/wp-content\/uploads\/2014\/08\/ad4m4st0r-04.jpg?w=956&amp;ssl=1 956w, https:\/\/i0.wp.com\/ofalcao.pt\/blog\/wp-content\/uploads\/2014\/08\/ad4m4st0r-04.jpg?resize=300%2C75&amp;ssl=1 300w\" sizes=\"auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><\/a>A terceira imagem foi tirada com um segundo par de LED&#8217;s Power Functions o que me levou na noite seguinte a acrescentar um terceiro par:<\/p>\n<p><a href=\"https:\/\/i0.wp.com\/151.236.52.166\/blog\/wp-content\/uploads\/2014\/08\/ad4m4st0r-06.jpg\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-577\" src=\"https:\/\/i0.wp.com\/151.236.52.166\/blog\/wp-content\/uploads\/2014\/08\/ad4m4st0r-06.jpg?resize=640%2C480\" alt=\"ad4m4st0r-06\" width=\"640\" height=\"480\" srcset=\"https:\/\/i0.wp.com\/ofalcao.pt\/blog\/wp-content\/uploads\/2014\/08\/ad4m4st0r-06.jpg?w=640&amp;ssl=1 640w, https:\/\/i0.wp.com\/ofalcao.pt\/blog\/wp-content\/uploads\/2014\/08\/ad4m4st0r-06.jpg?resize=300%2C225&amp;ssl=1 300w\" sizes=\"auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 984px) 61vw, (max-width: 1362px) 45vw, 600px\" \/><\/a>As 4 imagens correspondem a Duty Cycles de 0%, 33%, 67% e 100% (ou seja os LED&#8217;s apagados, o equivalente a um par aceso, o equivalente a dois pares acesos e os tr\u00eas pares acesos).<\/p>\n<p>Assim que me for poss\u00edvel vou tentar medir a luminosidade ambiente com um <a title=\"LEGO: EV3 Color Sensor\" href=\"http:\/\/shop.lego.com\/en-US\/EV3-Color-Sensor-45506\">EV3 Color Sensor (45506)<\/a> para determinar automaticamente o Duty Cycle a aplicar aos LEDs antes de cada fotografia.<\/p>\n","protected":false},"excerpt":{"rendered":"<div class=\"seriesmeta\">This post is part 5  of 9 of \u00a0<a href=\"https:\/\/ofalcao.pt\/blog\/series\/ad4m4st0r-um-rover-lego\" class=\"series-122\" title=\"AD4M4ST0R - um rover LEGO\">AD4M4ST0R - um rover LEGO<\/a><\/div><p>A qualidade das fotos tiradas pela webcam Logitech C170 n\u00e3o \u00e9 m\u00e1&#8230; desde que haja suficiente luz ambiente. Por isso lembrei-me de ligar LED&#8217;s Power Functions a uma das portas de sa\u00edda ainda dispon\u00edveis para funcionar como \u00abflashes\u00bb ao tirar a fotografia. Infelizmente a vers\u00e3o actual do ev3dev ainda n\u00e3o permite o controlo individual das &hellip; <a href=\"https:\/\/ofalcao.pt\/blog\/2014\/ad4m4st0r-controlando-leds\" class=\"more-link\">Continuar a ler<span class=\"screen-reader-text\"> &#8220;AD4M4ST0R &#8211; controlando LEDs&#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":[13,18,19],"tags":[31,53,73,221],"series":[122],"class_list":["post-568","post","type-post","status-publish","format-standard","hentry","category-ev3dev","category-lego","category-lego-mindstorms","tag-auto-id","tag-diy-cable","tag-led","tag-power-functions","series-ad4m4st0r-um-rover-lego"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p2Mhyv-9a","_links":{"self":[{"href":"https:\/\/ofalcao.pt\/blog\/wp-json\/wp\/v2\/posts\/568","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=568"}],"version-history":[{"count":0,"href":"https:\/\/ofalcao.pt\/blog\/wp-json\/wp\/v2\/posts\/568\/revisions"}],"wp:attachment":[{"href":"https:\/\/ofalcao.pt\/blog\/wp-json\/wp\/v2\/media?parent=568"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ofalcao.pt\/blog\/wp-json\/wp\/v2\/categories?post=568"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ofalcao.pt\/blog\/wp-json\/wp\/v2\/tags?post=568"},{"taxonomy":"series","embeddable":true,"href":"https:\/\/ofalcao.pt\/blog\/wp-json\/wp\/v2\/series?post=568"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}