{"id":2836,"date":"2013-09-30T23:07:26","date_gmt":"2013-10-01T03:07:26","guid":{"rendered":"https:\/\/teach.alimomeni.net\/2013fall2\/?p=2836"},"modified":"2013-09-30T23:24:46","modified_gmt":"2013-10-01T03:24:46","slug":"group-project-wireless-data-wireless-video-system-part-1-2","status":"publish","type":"post","link":"https:\/\/teach.alimomeni.net\/2013fall2\/?p=2836","title":{"rendered":"Group Project: Wireless Data + Wireless Video System (part 2)"},"content":{"rendered":"<h1>Overview<\/h1>\n<p>This project combines a Wixel wireless data system, servos, microcontrollers and wireless analog video in a small, custom-built box to provide wireless video with \u00a0remote viewfinding control.<\/p>\n<p><a href=\"https:\/\/teach.alimomeni.net\/2013fall2\/wp-content\/uploads\/2013\/09\/IMG_0052-2.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-2841\" alt=\"IMG_0052-2\" src=\"https:\/\/teach.alimomeni.net\/2013fall2\/wp-content\/uploads\/2013\/09\/IMG_0052-2.jpg\" width=\"500\" height=\"375\" srcset=\"https:\/\/teach.alimomeni.net\/2013fall2\/wp-content\/uploads\/2013\/09\/IMG_0052-2.jpg 500w, https:\/\/teach.alimomeni.net\/2013fall2\/wp-content\/uploads\/2013\/09\/IMG_0052-2-300x225.jpg 300w\" sizes=\"auto, (max-width: 500px) 100vw, 500px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<h2>Hardware<\/h2>\n<h3>Camera-Box:<\/h3>\n<ul>\n<li>Wixel wireless module<\/li>\n<li>Teensey 2.0 (code found <a href=\"https:\/\/github.com\/jmarsico\/portable_video_box\/tree\/master\/Wixel_Servo_arduino\">HERE<\/a>)<\/li>\n<li>Wireless video transmitter<\/li>\n<li>3.3v servo (2x)<\/li>\n<li>FatShark analog video camera<\/li>\n<li>12v NiMH battery<\/li>\n<li>9v battery<\/li>\n<li>3.7v LiPo battery<\/li>\n<li>Adafruit LiPo USB charger<\/li>\n<\/ul>\n<p><a href=\"https:\/\/teach.alimomeni.net\/2013fall2\/wp-content\/uploads\/2013\/09\/IMG_0048.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-2843\" alt=\"IMG_0048\" src=\"https:\/\/teach.alimomeni.net\/2013fall2\/wp-content\/uploads\/2013\/09\/IMG_0048.jpg\" width=\"500\" height=\"375\" srcset=\"https:\/\/teach.alimomeni.net\/2013fall2\/wp-content\/uploads\/2013\/09\/IMG_0048.jpg 500w, https:\/\/teach.alimomeni.net\/2013fall2\/wp-content\/uploads\/2013\/09\/IMG_0048-300x225.jpg 300w\" sizes=\"auto, (max-width: 500px) 100vw, 500px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<h3>Control Side:<\/h3>\n<ul>\n<li>Alpha wireless video receiver<\/li>\n<li>Analog to Digital video converter (ImagingSource DFG firewire module)<\/li>\n<li>Wixel Wireless unit<\/li>\n<li>Max\/MSP (patch found <a href=\"https:\/\/github.com\/jmarsico\/portable_video_box\">HERE<\/a>)<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<h3>System Diagram:<\/h3>\n<p><a href=\"https:\/\/teach.alimomeni.net\/2013fall2\/wp-content\/uploads\/2013\/09\/wireless_servo_camera-2.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-2839\" alt=\"wireless_servo_camera-2\" src=\"https:\/\/teach.alimomeni.net\/2013fall2\/wp-content\/uploads\/2013\/09\/wireless_servo_camera-2.jpg\" width=\"500\" height=\"375\" srcset=\"https:\/\/teach.alimomeni.net\/2013fall2\/wp-content\/uploads\/2013\/09\/wireless_servo_camera-2.jpg 500w, https:\/\/teach.alimomeni.net\/2013fall2\/wp-content\/uploads\/2013\/09\/wireless_servo_camera-2-300x225.jpg 300w\" sizes=\"auto, (max-width: 500px) 100vw, 500px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><!-- This version of the embed code is no longer supported. Learn more: https:\/\/vimeo.com\/help\/faq\/embedding --> <object width=\"500\" height=\"375\" classid=\"clsid:d27cdb6e-ae6d-11cf-96b8-444553540000\" codebase=\"http:\/\/download.macromedia.com\/pub\/shockwave\/cabs\/flash\/swflash.cab#version=6,0,40,0\"><param name=\"allowfullscreen\" value=\"true\" \/><param name=\"allowscriptaccess\" value=\"always\" \/><param name=\"src\" value=\"http:\/\/vimeo.com\/moogaloop.swf?clip_id=75824309&amp;force_embed=1&amp;server=vimeo.com&amp;show_title=0&amp;show_byline=0&amp;show_portrait=0&amp;color=ffffff&amp;fullscreen=1&amp;autoplay=0&amp;loop=0\" \/><\/object><\/p>\n<p>&nbsp;<\/p>\n<h3>Tips and Gotchas:<\/h3>\n<p>1. <a href=\"https:\/\/github.com\/jmarsico\/portable_video_box\/blob\/master\/wirelessCam.maxpat\">Max\/MSP Patch<\/a> Setup:<\/p>\n<ol>\n<li>Connect the your preferred video ADC to your computer<\/li>\n<li>Open the patch<\/li>\n<li>hit the \u201cgetvdevlist\u201d message box , select your ADC in the drop-down menu<\/li>\n<li>hit the \u201cgetinputlist\u201d message box, select the correct input option (if there are multiple on your unit)<\/li>\n<li>if you see &#8220;\u201cNO SIGNALS\u201d in the max patch:<\/li>\n<\/ol>\n<ul>\n<li>double check the cables&#8230; this is a \u00a0problem with older analog video<\/li>\n<li>verify that the camera and wireless transmitter are powered at the correct voltage<\/li>\n<\/ul>\n<p>2. Power Choices:<\/p>\n<ol>\n<li>We ended up using three power sources within the box. This isn&#8217;t ideal, but we found that power requirement for the major components (teensey, wixel, transmitter, camera) are somewhat particular. \u00a0Also keep in mind that the video transmitter is the largest power consumer at \u00a0around 300mA.<\/li>\n<\/ol>\n<p>&nbsp;<\/p>\n<h1>\u00a0Applications:<\/h1>\n<p>&nbsp;<\/p>\n<h3><strong>1. Face Detection and 2. Blob Tracking<\/strong><\/h3>\n<p><!-- This version of the embed code is no longer supported. Learn more: https:\/\/vimeo.com\/help\/faq\/embedding --> <object width=\"500\" height=\"281\" classid=\"clsid:d27cdb6e-ae6d-11cf-96b8-444553540000\" codebase=\"http:\/\/download.macromedia.com\/pub\/shockwave\/cabs\/flash\/swflash.cab#version=6,0,40,0\"><param name=\"allowfullscreen\" value=\"true\" \/><param name=\"allowscriptaccess\" value=\"always\" \/><param name=\"src\" value=\"http:\/\/vimeo.com\/moogaloop.swf?clip_id=75833628&amp;force_embed=1&amp;server=vimeo.com&amp;show_title=0&amp;show_byline=0&amp;show_portrait=0&amp;color=ffffff&amp;fullscreen=1&amp;autoplay=0&amp;loop=0\" \/><\/object><\/p>\n<p>&nbsp;<\/p>\n<p>Using the cv.jit suite of objects, we built a <a href=\"https:\/\/github.com\/jmarsico\/portable_video_box\/blob\/master\/wirelessCam.maxpat\">patch<\/a> that pulls in the wireless video feed from the box and uses openCV&#8217;s face detection capabilities to identify people&#8217;s faces. The same patch also uses openCV&#8217;s background removal and blob tracking functions to follow blob movement in the video feed.<\/p>\n<p>Future projects can use this capability to send movement data to the camera servos once a face was detected, either to center the person&#8217;s face in the frame, or to look away as if it were shy.<\/p>\n<p>We can also use the blob tracking data to adjust playback speed or signal processing parameters for the delayed video installation mentioned in the first part of this project.<\/p>\n<p>&nbsp;<\/p>\n<h3><strong>3. Handheld Control<\/strong><\/h3>\n<p><a href=\"https:\/\/teach.alimomeni.net\/2013fall2\/wp-content\/uploads\/2013\/09\/IMG_0065-2.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-2863\" alt=\"IMG_0065-2\" src=\"https:\/\/teach.alimomeni.net\/2013fall2\/wp-content\/uploads\/2013\/09\/IMG_0065-2.jpg\" width=\"500\" height=\"375\" srcset=\"https:\/\/teach.alimomeni.net\/2013fall2\/wp-content\/uploads\/2013\/09\/IMG_0065-2.jpg 500w, https:\/\/teach.alimomeni.net\/2013fall2\/wp-content\/uploads\/2013\/09\/IMG_0065-2-300x225.jpg 300w\" sizes=\"auto, (max-width: 500px) 100vw, 500px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p><!-- This version of the embed code is no longer supported. Learn more: https:\/\/vimeo.com\/help\/faq\/embedding --> <object width=\"500\" height=\"281\" classid=\"clsid:d27cdb6e-ae6d-11cf-96b8-444553540000\" codebase=\"http:\/\/download.macromedia.com\/pub\/shockwave\/cabs\/flash\/swflash.cab#version=6,0,40,0\"><param name=\"allowfullscreen\" value=\"true\" \/><param name=\"allowscriptaccess\" value=\"always\" \/><param name=\"src\" value=\"http:\/\/vimeo.com\/moogaloop.swf?clip_id=75833629&amp;force_embed=1&amp;server=vimeo.com&amp;show_title=0&amp;show_byline=0&amp;show_portrait=0&amp;color=ffffff&amp;fullscreen=1&amp;autoplay=0&amp;loop=0\" \/><\/object><\/p>\n<p>In an effort to increase the mobility and potential covertness of the project, we also developed a handheld control device that could fit in a user&#8217;s pocket. The device uses the same Wixel technology as the computer-based controls, but is battery operated and contains its own microcontroller.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Overview This project combines a Wixel wireless data system, servos, microcontrollers and wireless analog video in a small, custom-built box to provide wireless video with \u00a0remote viewfinding control. &nbsp; Hardware Camera-Box: Wixel wireless module Teensey 2.0 (code found HERE) Wireless video transmitter 3.3v servo (2x) FatShark analog video camera 12v NiMH battery 9v battery 3.7v [&hellip;]<\/p>\n","protected":false},"author":59,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[62,5,47,49,60,44],"tags":[],"coauthors":[],"class_list":["post-2836","post","type-post","status-publish","format-standard","hentry","category-arduino","category-assignment","category-hardware","category-max","category-opencv","category-submission"],"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/teach.alimomeni.net\/2013fall2\/index.php?rest_route=\/wp\/v2\/posts\/2836","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/teach.alimomeni.net\/2013fall2\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/teach.alimomeni.net\/2013fall2\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/teach.alimomeni.net\/2013fall2\/index.php?rest_route=\/wp\/v2\/users\/59"}],"replies":[{"embeddable":true,"href":"https:\/\/teach.alimomeni.net\/2013fall2\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2836"}],"version-history":[{"count":9,"href":"https:\/\/teach.alimomeni.net\/2013fall2\/index.php?rest_route=\/wp\/v2\/posts\/2836\/revisions"}],"predecessor-version":[{"id":2867,"href":"https:\/\/teach.alimomeni.net\/2013fall2\/index.php?rest_route=\/wp\/v2\/posts\/2836\/revisions\/2867"}],"wp:attachment":[{"href":"https:\/\/teach.alimomeni.net\/2013fall2\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2836"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/teach.alimomeni.net\/2013fall2\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2836"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/teach.alimomeni.net\/2013fall2\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2836"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/teach.alimomeni.net\/2013fall2\/index.php?rest_route=%2Fwp%2Fv2%2Fcoauthors&post=2836"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}