{"id":562,"date":"2008-12-10T07:22:36","date_gmt":"2008-12-10T12:22:36","guid":{"rendered":"http:\/\/php.astolfo.com\/?p=562"},"modified":"2014-12-21T06:32:35","modified_gmt":"2014-12-21T11:32:35","slug":"picocam","status":"publish","type":"post","link":"https:\/\/www.plastibots.com\/index.php\/2008\/12\/10\/picocam\/","title":{"rendered":"PicoCam"},"content":{"rendered":"<p>PicoCam was built as a proof of concept.\u00a0 Its purpose was simple, navigate an area using typical avoidance routines while capturing live wireless video\/audio and transmitting it to a receiver.<a href=\"\/image\/picocam\/front_left_L.gif\"><img loading=\"lazy\" decoding=\"async\" class=\"alignright\" style=\"border: 0pt none;\" src=\"\/image\/picocam\/front_left_S.gif\" border=\"0\" alt=\"\" width=\"217\" height=\"207\" \/><\/a> The was never really completed because I had other ideas brewing&#8230;\u00a0 The pictures shown here are of the final version, with working navigation, but I did not bother going the last step to get the live video to display (even though it will work).<br \/>\n <!--more--><\/p>\n<p>PicoCam consists of a variety of sensors and other components.\u00a0 For navigation, the primary sensor is the DIRPD (grey) sensor mounted at the front (top).\u00a0 Setting this as <code>SENSOR_TYPE_LIGHT<\/code> in NQC allows it to provide readings for detection on the left, center and right sides.\u00a0 Most of the robots avoidance capibilities come from this sensor.\u00a0 It is able to avoid most objects with the exception of those that are low (it cannot &#8220;see&#8221; them).\u00a0 This is where the touch sensors come in.\u00a0 Their purpose is to allow the robot to react when the DIRP does not catch obstacles from the front, and when the robot backs into something from the back.<br \/>\n [ad name=&#8221;GoogleAS728x90&#8243;]<\/p>\n<p style=\"text-align: center;\"><a href=\"\/image\/picocam\/side2_L.gif\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" src=\"\/image\/picocam\/side2_S.gif\" border=\"0\" alt=\"\" width=\"302\" height=\"253\" \/><\/a><\/p>\n<p>A close-up view of the DIRP light sensor showing the emitter and dual receivers.<\/p>\n<p style=\"text-align: center;\"><img decoding=\"async\" class=\"aligncenter\" src=\"\/image\/dirpd\/dirpd.gif\" border=\"0\" alt=\"\" \/><\/p>\n<p>PicoCam gets its name because of the tiny wireless camera that was mounted to it.\u00a0 This is one of those &#8220;spy \/ nanny&#8221; cams that you can get from pretty much anywhere &#8211; or Ebay&#8230;\u00a0 It is powered by a single 9V battery (does not last long) and transmits live colour video and audio to a receiver that can be plugged into a TV or computer (with the right video converter cabling).\u00a0 My original intention was simple &#8211; just build a robot that could navigate a room and transmit live video &#8211; providing a robot point of view. I never did test the camera on this robot because, soon after it was done, I started building the next&#8230;<\/p>\n<p style=\"text-align: center;\"><a href=\"\/image\/picocam\/camFar_L.gif\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" src=\"\/image\/picocam\/camFar_s.gif\" border=\"0\" alt=\"\" width=\"302\" height=\"180\" \/><\/a><\/p>\n<p>A close-up view of the camera showing more detail on how it is mounted.\u00a0 It was pretty easy to fit it into the Lego standard dimensions.<\/p>\n<p style=\"text-align: center;\"><a href=\"\/image\/picocam\/camclose_L.gif\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" src=\"\/image\/picocam\/camclose_S.gif\" border=\"0\" alt=\"\" width=\"275\" height=\"206\" \/><\/a><\/p>\n<p>This is a view from the top rear of the robot.\u00a0 It shows the rear Cybermaster touch sensor used to detect collisions from the back.<\/p>\n<p style=\"text-align: center;\"><a href=\"\/image\/picocam\/back_l.gif\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" src=\"\/image\/picocam\/back_S.gif\" border=\"0\" alt=\"\" width=\"261\" height=\"195\" \/><\/a><\/p>\n<p style=\"text-align: center;\">Picture of Cybermaster sensor from underneath.\u00a0 The sensor was wired to 1 port along with 2 other Cybermaster sensors.\u00a0 These sensors coded as Light sensors and values vary depending on which is engaged.\u00a0 By doing this, we can detect and react to all combinations (i.e. touch on FL + R, FR + R, FL + FR etc). This allows for great flexibility in programming responses to hitting obstacles.<br \/>\n [ad name=&#8221;GoogleAS728x90&#8243;]<br \/>\n <img decoding=\"async\" class=\"aligncenter\" src=\"\/image\/picocam\/backsensor_L.gif\" border=\"0\" alt=\"\" \/><\/p>\n<p>A bottom view of the robot showing the line following light sensor.\u00a0 This activity was never programmed in code as I moved on to bigger and better things.\u00a0 The intent was to have to robot perform typical navigation routines and if it detected a line (black), it could start a line following routine.<\/p>\n<p style=\"text-align: center;\"><a href=\"\/image\/picocam\/bottom_L.gif\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" src=\"\/image\/picocam\/bottom_S.gif\" border=\"0\" alt=\"\" width=\"275\" height=\"245\" \/><\/a><\/p>\n<p>Rate This Post: <span id=\"post-ratings-562\" class=\"post-ratings\" data-nonce=\"2ee4e4415d\"><img decoding=\"async\" id=\"rating_562_1\" src=\"https:\/\/www.plastibots.com\/wordpress\/wp-content\/plugins\/wp-postratings\/images\/stars\/rating_on.gif\" alt=\"1 Star\" title=\"1 Star\" onmouseover=\"current_rating(562, 1, '1 Star');\" onmouseout=\"ratings_off(4, 0, 0);\" onclick=\"rate_post();\" onkeypress=\"rate_post();\" style=\"cursor: pointer; border: 0px;\" \/><img decoding=\"async\" id=\"rating_562_2\" src=\"https:\/\/www.plastibots.com\/wordpress\/wp-content\/plugins\/wp-postratings\/images\/stars\/rating_on.gif\" alt=\"2 Stars\" title=\"2 Stars\" onmouseover=\"current_rating(562, 2, '2 Stars');\" onmouseout=\"ratings_off(4, 0, 0);\" onclick=\"rate_post();\" onkeypress=\"rate_post();\" style=\"cursor: pointer; border: 0px;\" \/><img decoding=\"async\" id=\"rating_562_3\" src=\"https:\/\/www.plastibots.com\/wordpress\/wp-content\/plugins\/wp-postratings\/images\/stars\/rating_on.gif\" alt=\"3 Stars\" title=\"3 Stars\" onmouseover=\"current_rating(562, 3, '3 Stars');\" onmouseout=\"ratings_off(4, 0, 0);\" onclick=\"rate_post();\" onkeypress=\"rate_post();\" style=\"cursor: pointer; border: 0px;\" \/><img decoding=\"async\" id=\"rating_562_4\" src=\"https:\/\/www.plastibots.com\/wordpress\/wp-content\/plugins\/wp-postratings\/images\/stars\/rating_on.gif\" alt=\"4 Stars\" title=\"4 Stars\" onmouseover=\"current_rating(562, 4, '4 Stars');\" onmouseout=\"ratings_off(4, 0, 0);\" onclick=\"rate_post();\" onkeypress=\"rate_post();\" style=\"cursor: pointer; border: 0px;\" \/><img decoding=\"async\" id=\"rating_562_5\" src=\"https:\/\/www.plastibots.com\/wordpress\/wp-content\/plugins\/wp-postratings\/images\/stars\/rating_off.gif\" alt=\"5 Stars\" title=\"5 Stars\" onmouseover=\"current_rating(562, 5, '5 Stars');\" onmouseout=\"ratings_off(4, 0, 0);\" onclick=\"rate_post();\" onkeypress=\"rate_post();\" style=\"cursor: pointer; border: 0px;\" \/> (<strong>1<\/strong> votes, average: <strong>4.00<\/strong> out of 5)<br \/><span class=\"post-ratings-text\" id=\"ratings_562_text\"><\/span><\/span><span id=\"post-ratings-562-loading\" class=\"post-ratings-loading\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.plastibots.com\/wordpress\/wp-content\/plugins\/wp-postratings\/images\/loading.gif\" width=\"16\" height=\"16\" class=\"post-ratings-image\" \/>Loading...<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>PicoCam was built as a proof of concept.\u00a0 Its purpose was simple, navigate an area using typical avoidance routines while capturing live wireless video\/audio and transmitting it to a receiver. The was never really completed because I had other ideas brewing&#8230;\u00a0 The pictures shown here are of the final version, with working navigation, but I did not bother going the last step to get the live video to display (even though it will work).<\/p>\n","protected":false},"author":4,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[18,3,5],"tags":[32,34,33,35],"class_list":["post-562","post","type-post","status-publish","format-standard","hentry","category-autonomous","category-legorobots","category-rcxrobots","tag-brickxcc","tag-dirpd-sensor","tag-rcx","tag-spycam","has_no_thumb"],"aioseo_notices":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/sK41j-picocam","jetpack_sharing_enabled":true,"post_mailing_queue_ids":[],"_links":{"self":[{"href":"https:\/\/www.plastibots.com\/index.php\/wp-json\/wp\/v2\/posts\/562","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.plastibots.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.plastibots.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.plastibots.com\/index.php\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/www.plastibots.com\/index.php\/wp-json\/wp\/v2\/comments?post=562"}],"version-history":[{"count":0,"href":"https:\/\/www.plastibots.com\/index.php\/wp-json\/wp\/v2\/posts\/562\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.plastibots.com\/index.php\/wp-json\/wp\/v2\/media?parent=562"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.plastibots.com\/index.php\/wp-json\/wp\/v2\/categories?post=562"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.plastibots.com\/index.php\/wp-json\/wp\/v2\/tags?post=562"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}