<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-34125912</id><updated>2011-07-28T23:16:27.373-04:00</updated><title type='text'>DigiLife</title><subtitle type='html'>A Digital Artist's Blog of Projects and Technology.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://amcohendigital.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://amcohendigital.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default?start-index=101&amp;max-results=100'/><author><name>Aaron M  Cohen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>134</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-34125912.post-3233541484541322722</id><published>2011-03-09T10:43:00.003-05:00</published><updated>2011-03-09T20:56:13.279-05:00</updated><title type='text'></title><content type='html'>Servos came on the weekend.  Been trying to teach myself Objective-C for the iOS since everyone is asking me if I program for the iPhone and/or iPad.  Guess it's time to learn.  I am aiming to have the servo sign through the alphabet with toothpicks since I have not made flags yet.  Next step will be making the flags.&lt;br /&gt;&lt;br /&gt;Edit, these are not the servos I thought they were.  They are contiguous and not wide arc so this might be delayed or very complicated.  They are not very accurate so what might be a quarter turn on way does not equal the next quarter turn.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34125912-3233541484541322722?l=amcohendigital.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amcohendigital.blogspot.com/feeds/3233541484541322722/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34125912&amp;postID=3233541484541322722' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/3233541484541322722'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/3233541484541322722'/><link rel='alternate' type='text/html' href='http://amcohendigital.blogspot.com/2011/03/servos-came-on-weekend.html' title=''/><author><name>Aaron M  Cohen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34125912.post-2119343513532143536</id><published>2011-03-03T13:42:00.003-05:00</published><updated>2011-03-03T13:46:06.415-05:00</updated><title type='text'>Sparkfun</title><content type='html'>Next project set and waiting for the parts.  I need 360 degree servo motors so I ordered a set from Sparkfun and well as a XBee breakout board to make my life easier when I get back to play with radios.  The servos should arrive soon.  I am hoping to have a video of the test within a week.  I'll publish the code at well.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34125912-2119343513532143536?l=amcohendigital.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amcohendigital.blogspot.com/feeds/2119343513532143536/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34125912&amp;postID=2119343513532143536' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/2119343513532143536'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/2119343513532143536'/><link rel='alternate' type='text/html' href='http://amcohendigital.blogspot.com/2011/03/sparkfun.html' title='Sparkfun'/><author><name>Aaron M  Cohen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34125912.post-8587960316816436451</id><published>2010-10-20T10:24:00.002-04:00</published><updated>2010-10-20T10:31:20.281-04:00</updated><title type='text'>Cross fading web banner</title><content type='html'>I just finished creating a web banner consisting of 5 spaces for photographs. Each space randomly cross fades to a different picture every four seconds. It is currently only in JavaScript using the &lt;a href="http://script.aculo.us/"&gt;script.aculo.us&lt;/a&gt; library. I will want to add some AJAX aspects to it using PHP to read a directory of pictures. I'll post the example and the code later today.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34125912-8587960316816436451?l=amcohendigital.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amcohendigital.blogspot.com/feeds/8587960316816436451/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34125912&amp;postID=8587960316816436451' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/8587960316816436451'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/8587960316816436451'/><link rel='alternate' type='text/html' href='http://amcohendigital.blogspot.com/2010/10/cross-fading-web-banner.html' title='Cross fading web banner'/><author><name>Aaron M  Cohen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34125912.post-1306978392770916279</id><published>2010-08-23T13:45:00.002-04:00</published><updated>2010-08-23T13:47:17.235-04:00</updated><title type='text'>And there went the summer...</title><content type='html'>I have not gotten far on any project this summer.  I've been reading books and various computer languages and HCI.  I hope this fall to finish the projects I have started.  Updated my website with a new look.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34125912-1306978392770916279?l=amcohendigital.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amcohendigital.blogspot.com/feeds/1306978392770916279/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34125912&amp;postID=1306978392770916279' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/1306978392770916279'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/1306978392770916279'/><link rel='alternate' type='text/html' href='http://amcohendigital.blogspot.com/2010/08/and-there-went-summer.html' title='And there went the summer...'/><author><name>Aaron M  Cohen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34125912.post-236401511543576395</id><published>2010-05-18T11:18:00.002-04:00</published><updated>2010-05-18T11:20:11.366-04:00</updated><title type='text'>Upcoming Projects</title><content type='html'>The website is up and running.  I'll have some more content soon.  There are three projects I have in the works one involves model rockets, I will attempt to code my own game, and I will be possibly be switching the FACE project over to OpenFrameWorks.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34125912-236401511543576395?l=amcohendigital.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amcohendigital.blogspot.com/feeds/236401511543576395/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34125912&amp;postID=236401511543576395' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/236401511543576395'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/236401511543576395'/><link rel='alternate' type='text/html' href='http://amcohendigital.blogspot.com/2010/05/upcoming-projects.html' title='Upcoming Projects'/><author><name>Aaron M  Cohen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34125912.post-762128503533651352</id><published>2010-02-17T11:47:00.000-05:00</published><updated>2010-02-17T11:48:17.570-05:00</updated><title type='text'>Domain Name</title><content type='html'>The domain is bought.  Nothing on it yet.&lt;br /&gt;&lt;a href="http://www.elusivebit.com"&gt;www.elusivebit.com&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34125912-762128503533651352?l=amcohendigital.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amcohendigital.blogspot.com/feeds/762128503533651352/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34125912&amp;postID=762128503533651352' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/762128503533651352'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/762128503533651352'/><link rel='alternate' type='text/html' href='http://amcohendigital.blogspot.com/2010/02/domain-name.html' title='Domain Name'/><author><name>Aaron M  Cohen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34125912.post-1251823297653104889</id><published>2010-01-26T12:38:00.003-05:00</published><updated>2010-01-26T12:40:10.767-05:00</updated><title type='text'>New Website</title><content type='html'>Currently brain storming a domain name to purchase to display my art portfolio and some of my other works.&lt;br /&gt;&lt;br /&gt;Stay tuned... I should be buying a domain tonight or tomorrow.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34125912-1251823297653104889?l=amcohendigital.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amcohendigital.blogspot.com/feeds/1251823297653104889/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34125912&amp;postID=1251823297653104889' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/1251823297653104889'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/1251823297653104889'/><link rel='alternate' type='text/html' href='http://amcohendigital.blogspot.com/2010/01/new-website.html' title='New Website'/><author><name>Aaron M  Cohen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34125912.post-4779926385472855958</id><published>2010-01-26T10:56:00.002-05:00</published><updated>2010-01-26T11:00:05.726-05:00</updated><title type='text'>F.A.C.E.</title><content type='html'>I should be uploading the code to FACE, facial animation capture engine, from the Pratt Digital Arts Lab soon.  It is a home brew open source MoCap project. &lt;br /&gt;&lt;br /&gt;It will be living here:&lt;br /&gt;&lt;a href="http://code.google.com/p/facemocap/"&gt;http://code.google.com/p/facemocap/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Hopefully I can get some of the documentation up tomorrow and the code up by the end of the week.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34125912-4779926385472855958?l=amcohendigital.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amcohendigital.blogspot.com/feeds/4779926385472855958/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34125912&amp;postID=4779926385472855958' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/4779926385472855958'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/4779926385472855958'/><link rel='alternate' type='text/html' href='http://amcohendigital.blogspot.com/2010/01/face.html' title='F.A.C.E.'/><author><name>Aaron M  Cohen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34125912.post-4399384900910961401</id><published>2009-12-20T21:53:00.000-05:00</published><updated>2009-12-20T21:54:00.250-05:00</updated><title type='text'>Video</title><content type='html'>&lt;object width="400" height="300"&gt;&lt;param name="allowfullscreen" value="true" /&gt;&lt;param name="allowscriptaccess" value="always" /&gt;&lt;param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=8302078&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=&amp;amp;fullscreen=1" /&gt;&lt;embed src="http://vimeo.com/moogaloop.swf?clip_id=8302078&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=&amp;amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="300"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;p&gt;&lt;a href="http://vimeo.com/8302078"&gt;Da'at&lt;/a&gt; from &lt;a href="http://vimeo.com/user2837152"&gt;Aaron Cohen&lt;/a&gt; on &lt;a href="http://vimeo.com"&gt;Vimeo&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34125912-4399384900910961401?l=amcohendigital.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amcohendigital.blogspot.com/feeds/4399384900910961401/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34125912&amp;postID=4399384900910961401' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/4399384900910961401'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/4399384900910961401'/><link rel='alternate' type='text/html' href='http://amcohendigital.blogspot.com/2009/12/video.html' title='Video'/><author><name>Aaron M  Cohen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34125912.post-6246937074130914307</id><published>2009-12-11T18:21:00.003-05:00</published><updated>2009-12-11T18:25:27.903-05:00</updated><title type='text'></title><content type='html'>The installation (with a brighter light and the blue gel off):&lt;br&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_P_DAofpOOA0/SyLUot8XzKI/AAAAAAAAAJQ/yQaJJPrsHOI/s1600-h/Daat.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 300px; height: 200px;" src="http://2.bp.blogspot.com/_P_DAofpOOA0/SyLUot8XzKI/AAAAAAAAAJQ/yQaJJPrsHOI/s320/Daat.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5414123498045426850" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br&gt;&lt;br /&gt;Hey look bottles!&lt;br&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_P_DAofpOOA0/SyLUASlvy5I/AAAAAAAAAJA/U1Y92CNpt8U/s1600-h/Bottles.jpg"&gt;&lt;img style="cursor: pointer; width: 320px; height: 214px;" src="http://1.bp.blogspot.com/_P_DAofpOOA0/SyLUASlvy5I/AAAAAAAAAJA/U1Y92CNpt8U/s320/Bottles.jpg" alt="" id="BLOGGER_PHOTO_ID_5414122803508005778" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br&gt;&lt;br /&gt;A pitcher too:&lt;br&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_P_DAofpOOA0/SyLUgDxb6BI/AAAAAAAAAJI/kbRCx1ZsLGo/s1600-h/Pitcher.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 300px; height: 200px;" src="http://4.bp.blogspot.com/_P_DAofpOOA0/SyLUgDxb6BI/AAAAAAAAAJI/kbRCx1ZsLGo/s320/Pitcher.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5414123349286316050" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34125912-6246937074130914307?l=amcohendigital.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amcohendigital.blogspot.com/feeds/6246937074130914307/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34125912&amp;postID=6246937074130914307' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/6246937074130914307'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/6246937074130914307'/><link rel='alternate' type='text/html' href='http://amcohendigital.blogspot.com/2009/12/installation-with-brighter-light-and.html' title=''/><author><name>Aaron M  Cohen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_P_DAofpOOA0/SyLUot8XzKI/AAAAAAAAAJQ/yQaJJPrsHOI/s72-c/Daat.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34125912.post-4693673134679787582</id><published>2009-12-03T14:51:00.001-05:00</published><updated>2009-12-03T14:53:47.909-05:00</updated><title type='text'>Thesis Show</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_P_DAofpOOA0/SxgXRZ01ncI/AAAAAAAAAI4/783hIGS7Xd4/s1600-h/web.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 320px; height: 247px;" src="http://1.bp.blogspot.com/_P_DAofpOOA0/SxgXRZ01ncI/AAAAAAAAAI4/783hIGS7Xd4/s320/web.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5411100540043369922" /&gt;&lt;/a&gt;&lt;br /&gt;We are up an running.  Documentation will be posted Dec 11th.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34125912-4693673134679787582?l=amcohendigital.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amcohendigital.blogspot.com/feeds/4693673134679787582/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34125912&amp;postID=4693673134679787582' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/4693673134679787582'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/4693673134679787582'/><link rel='alternate' type='text/html' href='http://amcohendigital.blogspot.com/2009/12/thesis-show.html' title='Thesis Show'/><author><name>Aaron M  Cohen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_P_DAofpOOA0/SxgXRZ01ncI/AAAAAAAAAI4/783hIGS7Xd4/s72-c/web.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34125912.post-5315195129437899311</id><published>2009-10-26T10:33:00.004-04:00</published><updated>2009-10-26T10:41:36.671-04:00</updated><title type='text'>Updates</title><content type='html'>The lectern is finished!  Pictures to come soon, I need a camera first.  Some revisions being done on the interaction of the program and the third mode will have new images to play with.  The bottle design should be finished by Tuesday or Wednesday and will be printed.  If the 3D print works I'll be able to print out the other 6.  If not I'll have to buy bottles cut the bottom out, have them sand blasted, and tape the bottoms shut each day after loading in the batteries.  The Arduini are running on 6Ah LiPo batteries so they will last a long time.  The Wiimotes will need new batteries every day.  I need to pick up a large AA battery recharger.  Ambient sounds are recorded and need to be edited.  The opening will be November 9th in E-9 in the ARC building at Pratt Brooklyn.&lt;br /&gt;&lt;br /&gt;Some other projects in the works for the end of November and December but they will have to wait.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34125912-5315195129437899311?l=amcohendigital.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amcohendigital.blogspot.com/feeds/5315195129437899311/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34125912&amp;postID=5315195129437899311' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/5315195129437899311'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/5315195129437899311'/><link rel='alternate' type='text/html' href='http://amcohendigital.blogspot.com/2009/10/updates.html' title='Updates'/><author><name>Aaron M  Cohen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34125912.post-7228605232189241425</id><published>2009-07-29T12:10:00.005-04:00</published><updated>2009-07-29T12:17:05.642-04:00</updated><title type='text'>Lectern</title><content type='html'>I "sanded" some of the base.  I use quotes since I used a Dremel, not the most subtle of sanders.  It took two coats of stain to get the dark color I wanted.  If I sand this I will have to do it correctly with coarse to fine paper because the wood is fairly soft and marks easily.  I could also paint over it but I tend to hate the look of painted wood.  My Mac Mini is sitting in a repair shop and they are taking a look at it. I should get an answer today or tomorrow.  Whether they fix it or not I still have to go to the mac store to have my laptop fixed it does not want to give me my CD back.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34125912-7228605232189241425?l=amcohendigital.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amcohendigital.blogspot.com/feeds/7228605232189241425/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34125912&amp;postID=7228605232189241425' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/7228605232189241425'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/7228605232189241425'/><link rel='alternate' type='text/html' href='http://amcohendigital.blogspot.com/2009/07/i-sanded-some-of-base.html' title='Lectern'/><author><name>Aaron M  Cohen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34125912.post-2803633742284700626</id><published>2009-07-27T14:01:00.003-04:00</published><updated>2009-07-27T14:08:09.375-04:00</updated><title type='text'>Eureka! One Problem Down!</title><content type='html'>The lectern has a light laminate on it.  I'll either paint it or sand it down and stain it.  I am going to sand some of the bottom tomorrow to see if it will work.  The wood might be too cheap.  On another note the thing that caused my Mac to crash repeatedly during my opening show was the network card.  I was beta testing it with a wireless connection which is why I never had the problem before.  At the gallery the computers were not connecting wirelessly so I switched to a wired connection.  Time to call Apple and get a replacement.  The problem might be my mac mini or architectural problem, a new computer will answer that.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34125912-2803633742284700626?l=amcohendigital.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amcohendigital.blogspot.com/feeds/2803633742284700626/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34125912&amp;postID=2803633742284700626' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/2803633742284700626'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/2803633742284700626'/><link rel='alternate' type='text/html' href='http://amcohendigital.blogspot.com/2009/07/lectern-has-light-laminate-on-it.html' title='Eureka! One Problem Down!'/><author><name>Aaron M  Cohen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34125912.post-3454353499674418974</id><published>2009-07-24T17:39:00.005-04:00</published><updated>2009-07-24T17:47:19.392-04:00</updated><title type='text'>Thesis Updates</title><content type='html'>I have ordered a lectern.  Hopefully I can stain it dark.  Oddly it arrived at my parents house as I was typing this.  If I cannot stain it I will have to build one myself.  It seems my Mac Mini did not have a bluetooth problem but rather a networking problem.  If I send the OSC data via cat5 cable the computer crashes.  I will try to connect wirelessly and see if that solves the problem.&lt;br /&gt;&lt;br /&gt;As for the &lt;a href="http://code.google.com/p/facemocap/"&gt;motion capture&lt;/a&gt; project that is on a hiatus for now.  The files should be uploaded next week to the subversion server and documentation will go up when Dylan and I have a moment to write it up.  For more information on that go &lt;a href="http://notes.binarytree.org/"&gt;here&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34125912-3454353499674418974?l=amcohendigital.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amcohendigital.blogspot.com/feeds/3454353499674418974/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34125912&amp;postID=3454353499674418974' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/3454353499674418974'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/3454353499674418974'/><link rel='alternate' type='text/html' href='http://amcohendigital.blogspot.com/2009/07/thesis-updates.html' title='Thesis Updates'/><author><name>Aaron M  Cohen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34125912.post-8595040361170793258</id><published>2009-05-14T12:05:00.004-04:00</published><updated>2009-05-14T16:59:53.349-04:00</updated><title type='text'>Firewire Cameras</title><content type='html'>Some links to what &lt;a href="http://damien.douxchamps.net/ieee1394/libdc1394/"&gt;LIBDC1394&lt;/a&gt; is actually doing:&lt;br /&gt;&lt;br /&gt;Following link is a PDF:&lt;br /&gt;&lt;a href="http://www.cs.unc.edu/Research/stc/FAQs/1394Firewire/DCAM_Spec_V1_30.pdf"&gt;DCAM IIDC Specs&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34125912-8595040361170793258?l=amcohendigital.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amcohendigital.blogspot.com/feeds/8595040361170793258/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34125912&amp;postID=8595040361170793258' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/8595040361170793258'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/8595040361170793258'/><link rel='alternate' type='text/html' href='http://amcohendigital.blogspot.com/2009/05/firewire-cameras.html' title='Firewire Cameras'/><author><name>Aaron M  Cohen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34125912.post-1258731545116620389</id><published>2009-04-11T17:07:00.001-04:00</published><updated>2009-04-11T17:09:28.604-04:00</updated><title type='text'>Thesis Documentation</title><content type='html'>Its coming soon.  Need to get a working computer and someone to test it out.  I will have to edit the video I have currently.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34125912-1258731545116620389?l=amcohendigital.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amcohendigital.blogspot.com/feeds/1258731545116620389/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34125912&amp;postID=1258731545116620389' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/1258731545116620389'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/1258731545116620389'/><link rel='alternate' type='text/html' href='http://amcohendigital.blogspot.com/2009/04/thesis-documentation.html' title='Thesis Documentation'/><author><name>Aaron M  Cohen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34125912.post-3205737985990653858</id><published>2009-02-26T15:43:00.003-05:00</published><updated>2009-02-26T16:10:45.345-05:00</updated><title type='text'>Shaders</title><content type='html'>So it helps when you initialize the array of classes.  Now the multiple shaders work!  &lt;br /&gt;&lt;br /&gt;You create your array of pointers in the .h file:&lt;br /&gt;Atom **atomArray;  // ** designates an array of pointers&lt;br /&gt;&lt;br /&gt;Initialize them in the .ccp file:&lt;br /&gt;atomArray = new Atom*[numAtoms];  //creates the array &lt;br /&gt;&lt;br /&gt;create the objects like so:&lt;br /&gt;if (key == '1'){&lt;br /&gt;     atomArray[numAtoms] = new Atom(0,0,0,"brick");&lt;br /&gt;     numAtoms++; &lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;call the methods:&lt;br /&gt;&lt;br /&gt;for (int i=0;i &lt; numAtoms;i++){&lt;br /&gt;    atomArray[i] -&gt; draw();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;and then things don't crash so often.&lt;br /&gt;&lt;br /&gt;Onward and forward!&lt;br /&gt;&lt;br /&gt;I realize this post is labeled Shaders and does not talk about them other than they are working.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34125912-3205737985990653858?l=amcohendigital.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amcohendigital.blogspot.com/feeds/3205737985990653858/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34125912&amp;postID=3205737985990653858' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/3205737985990653858'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/3205737985990653858'/><link rel='alternate' type='text/html' href='http://amcohendigital.blogspot.com/2009/02/shdaers.html' title='Shaders'/><author><name>Aaron M  Cohen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34125912.post-2503266762825417373</id><published>2009-02-26T13:08:00.003-05:00</published><updated>2009-02-26T13:16:53.769-05:00</updated><title type='text'>Crunch Time!</title><content type='html'>I am having memory issues with the ofShader add on.  If I can't get an answer I will have to add the shader purely in OpenGL.  It is fairly easy but a lot of extra coding.  I have the default base mode up and running.  There is one glitch that all the alchemy symbols appear in the corner when the program first runs but after that they are fine.  Occasionally they move when they have not finished fading out so I will add a if statement to stop that from happening.  The pixel class for mode 2 is almost done.  I need to add a movement behavior and then make some keys to test out functionality.  From nothingness the user will create pixels of varying color and movement.  Once a certain number is met they will form primitives and fog entering mode three.  Mode three will be more complex. The maya file for the bottles was emailed and will hopefully be printed soon.  A very dear thanks to George for a superb job modeling the bottles.  Well its off to get a sandwich and program some more. Half way done with today's work if I have good luck I can start working in on tomorrows to do list.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34125912-2503266762825417373?l=amcohendigital.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amcohendigital.blogspot.com/feeds/2503266762825417373/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34125912&amp;postID=2503266762825417373' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/2503266762825417373'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/2503266762825417373'/><link rel='alternate' type='text/html' href='http://amcohendigital.blogspot.com/2009/02/i-am-having-memory-issues-with-ofshader.html' title='Crunch Time!'/><author><name>Aaron M  Cohen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34125912.post-5674819852331253782</id><published>2009-02-24T14:16:00.004-05:00</published><updated>2009-02-24T14:24:24.844-05:00</updated><title type='text'>This Week's Report</title><content type='html'>Three classes up and running.  Hopefully I can finish the bottle file today.  &lt;br /&gt;&lt;br /&gt;Things not working:&lt;br /&gt;I can't get more than one shader at a time.&lt;br /&gt;&lt;br /&gt;Things to get done tomorrow:&lt;br /&gt;Create some nice looking shaders.&lt;br /&gt;Render a video of smoke to overlay over the graphics.&lt;br /&gt;Add the video as a texture to a 3D plane.&lt;br /&gt;&lt;br /&gt;Thursday THESIS MADNESS DAY:&lt;br /&gt;Finish coding the next two steps in the "alchemy" process. (that leaves 3 more to go!)&lt;br /&gt;Add some wiimote interaction into the main program.&lt;br /&gt;&lt;br /&gt;Friday:&lt;br /&gt;Bother ID about bottles.&lt;br /&gt;Code...code...make pretty art.&lt;br /&gt;&lt;br /&gt;Weekend:&lt;br /&gt;Code...code...make pretty art.  Order that last bits needed.  Probably should sleep and clean my apartment sometime.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34125912-5674819852331253782?l=amcohendigital.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amcohendigital.blogspot.com/feeds/5674819852331253782/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34125912&amp;postID=5674819852331253782' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/5674819852331253782'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/5674819852331253782'/><link rel='alternate' type='text/html' href='http://amcohendigital.blogspot.com/2009/02/this-weeks-report.html' title='This Week&apos;s Report'/><author><name>Aaron M  Cohen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34125912.post-3436367858989272049</id><published>2009-02-18T18:18:00.002-05:00</published><updated>2009-02-18T18:25:52.896-05:00</updated><title type='text'>Display Lists</title><content type='html'>I am running my openGL primitives through a display list and now my program is much faster.  I actually will have to change the movement algorithms to slow some of the objects down.  However I did get the following error after creating many many shapes.&lt;br /&gt;&lt;br /&gt;2009-02-18 18:12:50.225 openFrameworksDebug[2294:10b] *** -[GLUTView wantsLayer]: unrecognized selector sent to instance 0x47c050&lt;br /&gt;2009-02-18 18:12:50.227 openFrameworksDebug[2294:10b] GLUT Fatal Error: internal error: NSInvalidArgumentException, reason: *** -[GLUTView wantsLayer]: unrecognized selector sent to instance 0x47c050&lt;br /&gt;&lt;br /&gt;Looking into whatever this is.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34125912-3436367858989272049?l=amcohendigital.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amcohendigital.blogspot.com/feeds/3436367858989272049/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34125912&amp;postID=3436367858989272049' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/3436367858989272049'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/3436367858989272049'/><link rel='alternate' type='text/html' href='http://amcohendigital.blogspot.com/2009/02/display-lists.html' title='Display Lists'/><author><name>Aaron M  Cohen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34125912.post-7612478311140040724</id><published>2009-02-05T17:06:00.003-05:00</published><updated>2009-02-05T17:13:10.874-05:00</updated><title type='text'>Wiimotes</title><content type='html'>I have OpenFrameWorks taking in information from three Wiimotes simultaneously.  Through OSC I can easily send the roll, pitch, yaw, and x and y coordinates.  The Wiimote is a nifty little piece of hardware.  It internally triangulates its location with the four IR points and sends the data.  Less math for me to do and less processes for my program to run.  I created a program that you can move simple glut shapes with the location of the wiimote.  There is less false data when you change your z position that I expected.  It might be accurate enough and not require modifications.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34125912-7612478311140040724?l=amcohendigital.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amcohendigital.blogspot.com/feeds/7612478311140040724/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34125912&amp;postID=7612478311140040724' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/7612478311140040724'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/7612478311140040724'/><link rel='alternate' type='text/html' href='http://amcohendigital.blogspot.com/2009/02/wiimotes.html' title='Wiimotes'/><author><name>Aaron M  Cohen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34125912.post-1052150583766768905</id><published>2009-02-04T15:21:00.002-05:00</published><updated>2009-02-04T15:38:13.639-05:00</updated><title type='text'>Updates</title><content type='html'>I got some GLSL to work in &lt;a href="http://www.openframeworks.cc"&gt;OpenFrameWorks&lt;/a&gt;.  I also have two wiimotes working in OF by using &lt;a href="http://www.osculator.net/wiki/"&gt;Osculator&lt;/a&gt; and sending it through &lt;a href="http://opensoundcontrol.org/"&gt;OSC&lt;/a&gt;.  The creators of Osculator stated that the program only worked with five to six wiimote leaving me one to two short.  The easiest solution is to have a second computer control five to four wiimote and send them over a port using OSC.  This leaves the remaining computer to control the other wiimotes and the graphics.  I beat in the corners of my apothecary to give it a more aged look.  The flow chart for the program behaviors should be done tomorrow.  I should also get the wiimote IR in OpenFrameWorks running tomorrow.  By Friday or Monday I will have a 3D print of the bottle and will start casting.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34125912-1052150583766768905?l=amcohendigital.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amcohendigital.blogspot.com/feeds/1052150583766768905/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34125912&amp;postID=1052150583766768905' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/1052150583766768905'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/1052150583766768905'/><link rel='alternate' type='text/html' href='http://amcohendigital.blogspot.com/2009/02/updates.html' title='Updates'/><author><name>Aaron M  Cohen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34125912.post-8510153075151669852</id><published>2008-12-03T21:58:00.004-05:00</published><updated>2008-12-04T00:04:44.611-05:00</updated><title type='text'>Video of L-System</title><content type='html'>&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/A7661JQVKqU&amp;hl=en&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/A7661JQVKqU&amp;hl=en&amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br&gt;&lt;br /&gt;&lt;br /&gt;A little failure in my logic.  I switched the book example which use GL_NEVER and GL_NOTEQUAL.  This made the mask subtractive.  I changed it to GL_ALWAYS and GL_EQUALS which worked except it was drawing the mask thus the white lines in the previous posts picture.  I changed it to GL_NEVER (never draw the mask) and GL_EQUALS (be additive) and it works.  Enjoy the video.&lt;br /&gt;&lt;br /&gt;Second video recording on a CRT.  Some of the code modded by Dylan Moore.  The CRT does not flash.  I will have figure out why there is a flicker.&lt;br&gt;&lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="350"&gt; &lt;param name="movie" value="http://www.youtube.com/v/mIMC3L5oURQ"&gt; &lt;/param&gt; &lt;embed src="http://www.youtube.com/v/mIMC3L5oURQ" type="application/x-shockwave-flash" width="425" height="350"&gt; &lt;/embed&gt; &lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34125912-8510153075151669852?l=amcohendigital.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amcohendigital.blogspot.com/feeds/8510153075151669852/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34125912&amp;postID=8510153075151669852' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/8510153075151669852'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/8510153075151669852'/><link rel='alternate' type='text/html' href='http://amcohendigital.blogspot.com/2008/12/video-of-l-system.html' title='Video of L-System'/><author><name>Aaron M  Cohen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34125912.post-7831691027524989826</id><published>2008-12-03T19:21:00.006-05:00</published><updated>2008-12-03T19:25:35.977-05:00</updated><title type='text'>Stencil Test Done!</title><content type='html'>With the help of Dylan Moore (&lt;a href="http://binarytree.org" target="_blank"&gt;binarytree.org&lt;/a&gt;) I have a working stencil buffer in OF.  I need to work on the aesthetic and the growing of the image but at least it works!&lt;br&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_P_DAofpOOA0/STciyGWsKkI/AAAAAAAAAIw/CBa9RhEP8vc/s1600-h/StencilTest.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 320px; height: 240px;" src="http://2.bp.blogspot.com/_P_DAofpOOA0/STciyGWsKkI/AAAAAAAAAIw/CBa9RhEP8vc/s320/StencilTest.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5275723732582410818" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34125912-7831691027524989826?l=amcohendigital.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amcohendigital.blogspot.com/feeds/7831691027524989826/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34125912&amp;postID=7831691027524989826' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/7831691027524989826'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/7831691027524989826'/><link rel='alternate' type='text/html' href='http://amcohendigital.blogspot.com/2008/12/stencil-test-done.html' title='Stencil Test Done!'/><author><name>Aaron M  Cohen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_P_DAofpOOA0/STciyGWsKkI/AAAAAAAAAIw/CBa9RhEP8vc/s72-c/StencilTest.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34125912.post-22712984734686570</id><published>2008-12-03T18:08:00.003-05:00</published><updated>2008-12-03T18:16:12.980-05:00</updated><title type='text'>Timeline</title><content type='html'>I should have a tiny 3D print of the work by next week.  I am working on a stencil buffer test for my visuals.  This should be done by tomorrow.  My spy microphone project should be up next week.  End of December I should have the documentation of the Nerf gun and the microphone project up on the internet.  I will also have a finished prototype of the element.  Production of the elements will occur in the beginning of January and hopefully finish before the start of the semester.  Visuals will finalized at the end of January.  Leaving February and March to work the algorithms in the program.  Deadline the start of April.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34125912-22712984734686570?l=amcohendigital.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amcohendigital.blogspot.com/feeds/22712984734686570/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34125912&amp;postID=22712984734686570' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/22712984734686570'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/22712984734686570'/><link rel='alternate' type='text/html' href='http://amcohendigital.blogspot.com/2008/12/updates.html' title='Timeline'/><author><name>Aaron M  Cohen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34125912.post-467842459420227132</id><published>2008-11-17T15:54:00.003-05:00</published><updated>2008-11-17T16:02:46.727-05:00</updated><title type='text'>Testing Xbee RSSI</title><content type='html'>I was going to use the RSSI data to determine the proximity of the elements to the apothecary.  When the element was brought closer the the apothecary the behaviors of each element would increase in strength.  However after testing the signal strength I have come to the conclusion I will not be able to use this data.  The orientation of the senders antenna could vary the signal strength about twenty points in the same location.  Also it was overly reactive and under reactive from distance to distance and orientation to orientation.  I will try to use a over head IR camera to track the elements.  I will try to get a 3D print of an elemental bottle this Wednesday.  I need help with the modeling in Maya so hopefully one of my friends will be able to come to my aid.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34125912-467842459420227132?l=amcohendigital.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amcohendigital.blogspot.com/feeds/467842459420227132/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34125912&amp;postID=467842459420227132' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/467842459420227132'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/467842459420227132'/><link rel='alternate' type='text/html' href='http://amcohendigital.blogspot.com/2008/11/testint-xbee-rssi.html' title='Testing Xbee RSSI'/><author><name>Aaron M  Cohen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34125912.post-2421789404796689270</id><published>2008-11-07T10:09:00.006-05:00</published><updated>2008-11-07T10:26:38.329-05:00</updated><title type='text'>OpenFrameWorks L-System</title><content type='html'>I finished my OF L-system.  I had to use some brute force code to make the string reiteration work but it works.  Now I have to work on it growing over time. Then I will use it as a mask to grow images.  By using C++ I was able to create a near instantaneous L-system.  Here are pictures of 5 iterations.&lt;br&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_P_DAofpOOA0/SRReGEW36_I/AAAAAAAAAHE/NMYqqMaiam4/s1600-h/OFLsys1.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 320px; height: 240px;" src="http://2.bp.blogspot.com/_P_DAofpOOA0/SRReGEW36_I/AAAAAAAAAHE/NMYqqMaiam4/s320/OFLsys1.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5265937322644859890" /&gt;&lt;/a&gt;&lt;br&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_P_DAofpOOA0/SRRccWmdYTI/AAAAAAAAAG8/j0XjyODMYd8/s1600-h/OFLsys2.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 320px; height: 244px;" src="http://1.bp.blogspot.com/_P_DAofpOOA0/SRRccWmdYTI/AAAAAAAAAG8/j0XjyODMYd8/s320/OFLsys2.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5265935506475934002" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34125912-2421789404796689270?l=amcohendigital.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amcohendigital.blogspot.com/feeds/2421789404796689270/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34125912&amp;postID=2421789404796689270' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/2421789404796689270'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/2421789404796689270'/><link rel='alternate' type='text/html' href='http://amcohendigital.blogspot.com/2008/11/openframeworks-l-system.html' title='OpenFrameWorks L-System'/><author><name>Aaron M  Cohen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_P_DAofpOOA0/SRReGEW36_I/AAAAAAAAAHE/NMYqqMaiam4/s72-c/OFLsys1.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34125912.post-8573728648252589656</id><published>2008-11-03T15:37:00.003-05:00</published><updated>2008-11-03T15:44:47.330-05:00</updated><title type='text'>XBee RSSI and Thesis Updates</title><content type='html'>Playing with the RSSI strength on my XBee's I have noticed they are not very accurate at close range.  Thursday I will set up an experiment in my apothecary to see if it can detect the distance well.  The closer the element is to the apothecary the more pronounced I would like its behaviors to be.  Since the XBee signal strength is not accurate enough I need a different way to detect whether the elements are over the apothecary or not.  By pulsing IR LEDs I will be able to detect which elements are upside down over the apothecary.  With multiple IR receivers I should be able to triangulate a rough location over the screen itself.  I should have an OF L-systems program running by Thursday.  Right now I am having issues with manipulating strings in C++.  I find Java much easier...but too slow.  If all goes well I will post a video of that running as well sometime Friday.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34125912-8573728648252589656?l=amcohendigital.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amcohendigital.blogspot.com/feeds/8573728648252589656/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34125912&amp;postID=8573728648252589656' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/8573728648252589656'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/8573728648252589656'/><link rel='alternate' type='text/html' href='http://amcohendigital.blogspot.com/2008/11/xbee-rssi-and-thesis-updates.html' title='XBee RSSI and Thesis Updates'/><author><name>Aaron M  Cohen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34125912.post-4679088226916479941</id><published>2008-11-03T15:33:00.002-05:00</published><updated>2008-11-03T15:36:56.345-05:00</updated><title type='text'>Failed Social Hacking</title><content type='html'>So I was going to do a project involving connecting a TV to Wifi and broadcasting into it (the hacking part was I was not asking permission).  However the module I need I have only found being sold in England.  I have to up this one on the back burner for now.  It will happen just not now.  So my next project might be taking visual data and converting it into sound.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34125912-4679088226916479941?l=amcohendigital.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amcohendigital.blogspot.com/feeds/4679088226916479941/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34125912&amp;postID=4679088226916479941' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/4679088226916479941'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/4679088226916479941'/><link rel='alternate' type='text/html' href='http://amcohendigital.blogspot.com/2008/11/failed-social-hacking.html' title='Failed Social Hacking'/><author><name>Aaron M  Cohen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34125912.post-3469523632293302733</id><published>2008-11-03T09:50:00.002-05:00</published><updated>2008-11-03T10:36:24.756-05:00</updated><title type='text'>Automated Nerf Turret</title><content type='html'>I did a project on surveillance using a Nerf gun.  I took the &lt;a href="http://www.hasbro.com/nerf/default.cfm?page=viewproduct&amp;product_id=22378"&gt;Nerf Vulcan&lt;/a&gt; and affixed a servo motor to the tripod base.  Then using &lt;a href="http://opencvlibrary.sourceforge.net/"&gt;OpenCV&lt;/a&gt; in &lt;a href="http://www.openframeworks.cc/"&gt;OpenFrameWorks&lt;/a&gt; I got the gun to track a single person in the room.  The installation has the picture of the person projected behind the gun.  Video documentation should be up soon.  I need to rapid prototype a base for the servo since it is being held by three pieces of plywood and two C-clamps.  The base will be attached to a tripod to make the art piece more mobile and the solve the problem of the servo wanting to turn because it weights less than the Nerf gun.  I bought the servo's &lt;a href="http://www.hobbyengineering.com/"&gt;here&lt;/a&gt;.  I used an &lt;a href="http://www.arduino.cc/"&gt;Arduino Mini&lt;/a&gt; to run the sevro and an &lt;a href="http://www.digi.com/products/wireless/point-multipoint/xbee-series1-module.jsp"&gt;Xbee&lt;/a&gt; to transmit the data.  I ran into several problems with the serial data.  The Arduino was reading the data from the serial port too quickly and I had to send a header to make sure the data was received correctly.  The OF Application had issues as well because the serial read is only read 60fps.  I would only have the application send data when the Arduino wanted it (which as practically constantly because the OF serial is slow.  The Arduino code for reading the serial will be posted soon.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34125912-3469523632293302733?l=amcohendigital.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amcohendigital.blogspot.com/feeds/3469523632293302733/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34125912&amp;postID=3469523632293302733' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/3469523632293302733'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/3469523632293302733'/><link rel='alternate' type='text/html' href='http://amcohendigital.blogspot.com/2008/11/automated-nerf-turret.html' title='Automated Nerf Turret'/><author><name>Aaron M  Cohen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34125912.post-6445136679876122569</id><published>2008-09-25T14:55:00.003-04:00</published><updated>2008-09-25T14:59:47.601-04:00</updated><title type='text'>Finished Apothecary</title><content type='html'>It is done:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_P_DAofpOOA0/SNvfHC6SE2I/AAAAAAAAAGU/Iseo93oVbfY/s1600-h/FinishedView.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://4.bp.blogspot.com/_P_DAofpOOA0/SNvfHC6SE2I/AAAAAAAAAGU/Iseo93oVbfY/s320/FinishedView.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5250035102763848546" /&gt;&lt;/a&gt;&lt;br /&gt;The center was cut by a jigsaw freehand.  17 inch wide screen DVI monitor:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_P_DAofpOOA0/SNvfHeNw74I/AAAAAAAAAGc/tHNz_Nl1BCg/s1600-h/FinishedTop.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://3.bp.blogspot.com/_P_DAofpOOA0/SNvfHeNw74I/AAAAAAAAAGc/tHNz_Nl1BCg/s320/FinishedTop.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5250035110093320066" /&gt;&lt;/a&gt;&lt;br /&gt;A close up so one can see the antiquing:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_P_DAofpOOA0/SNvfHdo0TAI/AAAAAAAAAGk/by80EnxbgwA/s1600-h/FinishedTopDetail.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://3.bp.blogspot.com/_P_DAofpOOA0/SNvfHdo0TAI/AAAAAAAAAGk/by80EnxbgwA/s320/FinishedTopDetail.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5250035109938351106" /&gt;&lt;/a&gt;&lt;br /&gt;The mounting bracket:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_P_DAofpOOA0/SNvfHqczVFI/AAAAAAAAAGs/Jyryzg8qQLE/s1600-h/FinishedMount.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://3.bp.blogspot.com/_P_DAofpOOA0/SNvfHqczVFI/AAAAAAAAAGs/Jyryzg8qQLE/s320/FinishedMount.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5250035113377616978" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34125912-6445136679876122569?l=amcohendigital.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amcohendigital.blogspot.com/feeds/6445136679876122569/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34125912&amp;postID=6445136679876122569' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/6445136679876122569'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/6445136679876122569'/><link rel='alternate' type='text/html' href='http://amcohendigital.blogspot.com/2008/09/finished-apothecary.html' title='Finished Apothecary'/><author><name>Aaron M  Cohen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_P_DAofpOOA0/SNvfHC6SE2I/AAAAAAAAAGU/Iseo93oVbfY/s72-c/FinishedView.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34125912.post-8405876844833091668</id><published>2008-09-02T11:32:00.004-04:00</published><updated>2008-09-02T11:37:09.499-04:00</updated><title type='text'>Almost Done</title><content type='html'>It is very cathartic taking your finished piece of furniture and dragging it across a driveway, throwing rocks at it, hitting it with a hammer, gouging it with a screwdriver, punching holes in it with an awl.  I then stain it and sealed it.&lt;br&gt;&lt;br /&gt;First coat:&lt;br&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_P_DAofpOOA0/SL1dFQF8BrI/AAAAAAAAAGE/ZGGi_i4qqw0/s1600-h/FrontStain2.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://1.bp.blogspot.com/_P_DAofpOOA0/SL1dFQF8BrI/AAAAAAAAAGE/ZGGi_i4qqw0/s320/FrontStain2.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5241447886129727154" /&gt;&lt;/a&gt;&lt;br&gt;&lt;br /&gt;Second coat:&lt;br&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_P_DAofpOOA0/SL1dWYzzTtI/AAAAAAAAAGM/eBWCFsfq4C0/s1600-h/FrontStain1.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://4.bp.blogspot.com/_P_DAofpOOA0/SL1dWYzzTtI/AAAAAAAAAGM/eBWCFsfq4C0/s320/FrontStain1.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5241448180527353554" /&gt;&lt;/a&gt;&lt;br /&gt;You can't really see the details but there are several damaged areas.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34125912-8405876844833091668?l=amcohendigital.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amcohendigital.blogspot.com/feeds/8405876844833091668/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34125912&amp;postID=8405876844833091668' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/8405876844833091668'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/8405876844833091668'/><link rel='alternate' type='text/html' href='http://amcohendigital.blogspot.com/2008/09/almost-done.html' title='Almost Done'/><author><name>Aaron M  Cohen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_P_DAofpOOA0/SL1dFQF8BrI/AAAAAAAAAGE/ZGGi_i4qqw0/s72-c/FrontStain2.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34125912.post-4393213124576678</id><published>2008-08-30T18:17:00.007-04:00</published><updated>2008-08-30T19:18:41.446-04:00</updated><title type='text'>Antiquing and Distressing Wood</title><content type='html'>After a quick read through several DYI websites on this topic I decided to find a human being to talk to.  I went to Sacks in Dover NJ.  They were extremely helpful and made sense of the whole matter.  I did not want to paint then stress the wood like most antiquing is done.  I dislike painted wood and would prefer to stain it.  I was instructed on several ways to distress the wood must of which included physical damage.    They were very nice at the store and let me experiment with multiple stains on their demonstration table.&lt;br&gt;&lt;br /&gt;Here is an example of stressing the aspen faux drawers.  First the drawers were scratched with a can opener and then holes were punctured with a screw driver.  The bottom is MinWax Jacobean stain; the top is espresso.  The espresso did not take well on the Aspen.&lt;br&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_P_DAofpOOA0/SLnIVGgDCrI/AAAAAAAAAFk/4M6btTUiuS8/s1600-h/StressAspen.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://3.bp.blogspot.com/_P_DAofpOOA0/SLnIVGgDCrI/AAAAAAAAAFk/4M6btTUiuS8/s320/StressAspen.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5240439906270120626" /&gt;&lt;/a&gt;&lt;br&gt;&lt;br /&gt;Here I am stressing oak plywood.  To the left is a dry brushing a gel espresso stain.  The middle piece is the Jacobean with the gel espresso brush on and then rubbed in.  The right most piece is a gel dark mahogany with gel espresso dry brushed on.  The gel stain has a more intense hue but did not have the effect I wanted.  I opted to use a liquid base of Jacobean and the dry brush gel of espresso.&lt;br&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_P_DAofpOOA0/SLnTC2czGDI/AAAAAAAAAFs/QRrpRnqOZbw/s1600-h/StressPlywood.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://2.bp.blogspot.com/_P_DAofpOOA0/SLnTC2czGDI/AAAAAAAAAFs/QRrpRnqOZbw/s320/StressPlywood.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5240451687351785522" /&gt;&lt;/a&gt;&lt;br /&gt;Below are some more experiments.  Mostly are very similar to those mentioned above.&lt;br&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_P_DAofpOOA0/SLnUbirp46I/AAAAAAAAAF0/tHzKh7AnVRQ/s1600-h/StressTest1.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://3.bp.blogspot.com/_P_DAofpOOA0/SLnUbirp46I/AAAAAAAAAF0/tHzKh7AnVRQ/s320/StressTest1.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5240453211053745058" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_P_DAofpOOA0/SLnUbh2ZYPI/AAAAAAAAAF8/S_Dr8Dvgl3o/s1600-h/StressTest2.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://3.bp.blogspot.com/_P_DAofpOOA0/SLnUbh2ZYPI/AAAAAAAAAF8/S_Dr8Dvgl3o/s320/StressTest2.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5240453210830364914" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34125912-4393213124576678?l=amcohendigital.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amcohendigital.blogspot.com/feeds/4393213124576678/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34125912&amp;postID=4393213124576678' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/4393213124576678'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/4393213124576678'/><link rel='alternate' type='text/html' href='http://amcohendigital.blogspot.com/2008/08/antiquing-and-distressing-wood.html' title='Antiquing and Distressing Wood'/><author><name>Aaron M  Cohen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_P_DAofpOOA0/SLnIVGgDCrI/AAAAAAAAAFk/4M6btTUiuS8/s72-c/StressAspen.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34125912.post-7009624401437659358</id><published>2008-08-30T18:13:00.004-04:00</published><updated>2008-08-30T19:23:45.309-04:00</updated><title type='text'>More of the Apothecary</title><content type='html'>Here is the constructed apothecary minus the top.  I need to get a monitor before I can create the top and mount it in. &lt;br&gt; &lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_P_DAofpOOA0/SLnGUm7zBvI/AAAAAAAAAFc/0BCroPzR-wk/s1600-h/Apothecary3.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://1.bp.blogspot.com/_P_DAofpOOA0/SLnGUm7zBvI/AAAAAAAAAFc/0BCroPzR-wk/s320/Apothecary3.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5240437698773321458" /&gt;&lt;/a&gt;&lt;br&gt;&lt;br /&gt;Some people have said it needs pulls for the drawers.  My concern is that if there are knobs on the drawers people will try to pull them.  If I do add knobs they will probably be off white porcelain.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34125912-7009624401437659358?l=amcohendigital.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amcohendigital.blogspot.com/feeds/7009624401437659358/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34125912&amp;postID=7009624401437659358' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/7009624401437659358'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/7009624401437659358'/><link rel='alternate' type='text/html' href='http://amcohendigital.blogspot.com/2008/08/more-of-apothecary.html' title='More of the Apothecary'/><author><name>Aaron M  Cohen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_P_DAofpOOA0/SLnGUm7zBvI/AAAAAAAAAFc/0BCroPzR-wk/s72-c/Apothecary3.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34125912.post-1746573745875284845</id><published>2008-08-26T20:43:00.008-04:00</published><updated>2008-08-26T20:59:50.701-04:00</updated><title type='text'>Apothecary Images</title><content type='html'>I have been building my apothecary to stick the computer and screen to drive my thesis and interactive art piece.  Apothecaries of decent size were too expensive to buy so I am making one.  The drawers are false so I do not have to deal with some of the doors working and other not distracting the user's enjoyment of the piece.  Here are some pictures to follow:&lt;br&gt;&lt;br /&gt;Currently figuring out a layout for the false drawers.&lt;br&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_P_DAofpOOA0/SLSkrTSfVLI/AAAAAAAAAEs/2BvsoUvIoqc/s1600-h/Apothecary1.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://3.bp.blogspot.com/_P_DAofpOOA0/SLSkrTSfVLI/AAAAAAAAAEs/2BvsoUvIoqc/s320/Apothecary1.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5238993330357884082" /&gt;&lt;/a&gt;&lt;br&gt;&lt;br /&gt;Some close up details of the molding and routing work.&lt;br&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_P_DAofpOOA0/SLSlA93Rp1I/AAAAAAAAAE8/lYteqvj1QIE/s1600-h/ApothecaryDetail.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://3.bp.blogspot.com/_P_DAofpOOA0/SLSlA93Rp1I/AAAAAAAAAE8/lYteqvj1QIE/s320/ApothecaryDetail.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5238993702563718994" /&gt;&lt;/a&gt;&lt;br&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_P_DAofpOOA0/SLSlUE_NGII/AAAAAAAAAFM/QxxztmUiR0I/s1600-h/ApothecaryDetail2.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://4.bp.blogspot.com/_P_DAofpOOA0/SLSlUE_NGII/AAAAAAAAAFM/QxxztmUiR0I/s320/ApothecaryDetail2.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5238994030893537410" /&gt;&lt;/a&gt;&lt;br&gt;&lt;br /&gt;The inside consists of hindges that do not show and make the back flush with the sides.&lt;br&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_P_DAofpOOA0/SLSlfLulKYI/AAAAAAAAAFU/UAoWCO9nMK0/s1600-h/ApothecaryInside.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://4.bp.blogspot.com/_P_DAofpOOA0/SLSlfLulKYI/AAAAAAAAAFU/UAoWCO9nMK0/s320/ApothecaryInside.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5238994221681420674" /&gt;&lt;/a&gt;&lt;br&gt;&lt;br /&gt;Once the drawers are attached I need to stain and antique the apothecary.&lt;br&gt;&lt;br /&gt;I will install the top once I get a screen to place in it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34125912-1746573745875284845?l=amcohendigital.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amcohendigital.blogspot.com/feeds/1746573745875284845/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34125912&amp;postID=1746573745875284845' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/1746573745875284845'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/1746573745875284845'/><link rel='alternate' type='text/html' href='http://amcohendigital.blogspot.com/2008/08/apothecary-images.html' title='Apothecary Images'/><author><name>Aaron M  Cohen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_P_DAofpOOA0/SLSkrTSfVLI/AAAAAAAAAEs/2BvsoUvIoqc/s72-c/Apothecary1.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34125912.post-1213067701573203370</id><published>2008-07-28T14:30:00.003-04:00</published><updated>2008-07-28T14:33:50.129-04:00</updated><title type='text'>Update on Visuals</title><content type='html'>100th post.  Joy!  I have the sides of my apothecary cut an ready.  Unfortunately the 3/4 in router bit is 1/16 in short and I have to do some hand filing.  Once that is finish I can quickly create the box shape of the apothecary.  I have finished some more illustrations of flora and fauna and I am working on some of the human figures.  Scanned pictures will be added by the end of the week and well as pictures of the apothecary.  One thing I have learned from this project is that it pays to have a good table saw (I had to get a new one).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34125912-1213067701573203370?l=amcohendigital.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amcohendigital.blogspot.com/feeds/1213067701573203370/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34125912&amp;postID=1213067701573203370' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/1213067701573203370'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/1213067701573203370'/><link rel='alternate' type='text/html' href='http://amcohendigital.blogspot.com/2008/07/update-on-visuals.html' title='Update on Visuals'/><author><name>Aaron M  Cohen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34125912.post-6084030058859056096</id><published>2008-07-09T12:20:00.003-04:00</published><updated>2008-07-15T12:45:47.467-04:00</updated><title type='text'>Sensors and the XBee</title><content type='html'>First and foremost the sensor you have to be using must use a serial protocol.  I2C and SPL and others will not work.  They might if you play with the API mode, but honestly I have no idea since I have not gotten a chance to use the API mode yet.  That being said I shall continue.  The Xbee Series 1 has 7 AD ports or analog data in.  These are pins  11 and 15 through 20.  Please refer to the manual for the number since they are NOT in numeric order.  Plug the sensors in to the appropriate analog in.  Also make sure your VREF (voltage reference: pin 14) is connected to the power.  The power must be the same power that is powering your sensors (this should be around 3.3V).  Using XCtu makes configuration easy so I recommend it.&lt;br /&gt;&lt;br /&gt;You need to set the pin to the ADC mode because its default is to completely disable the pin all together.  ATD* (for example using AD0 you would type ATD0) must be set to 2. Other values are used for a multitude of things so consult the manual.&lt;br /&gt;&lt;br /&gt;Set your sample rate with the ATIR (values 0 to FFFF in milliseconds).  Choose this on the speed you need and how much data you can cram down the serial port before causing problems.  The less lag and high the baud rate the lower this value can be.&lt;br /&gt;&lt;br /&gt;Set your sample number with the ATIT (values 0 to FF).  Do NOT set this to one.  Multiple values are good for buffering and smoothing out the sensor data.&lt;br /&gt;&lt;br /&gt;Once the other values for the XBee are set get read to parse. (Network, who is sending to whom etc.)&lt;br /&gt;&lt;br /&gt;XBees send their values in a certain fashion. Remember that most of the data is sent by least significant bit and most significant bit.   So you will have to translate that into your code to get the actual value.  I will explain later.  &lt;br /&gt;&lt;br /&gt;ZBees send their data as such:&lt;br /&gt;Bits 1:  This is the start bit.  Value should be 126.&lt;br /&gt;Bits 2-3: MSB and LSB of the packet size&lt;br /&gt;Bit 4: API ID&lt;br /&gt;Bits 5-6: MSB and LSB of the sender's address&lt;br /&gt;Bit 7: RSSI This is the signal strength.  Good for triangulating things&lt;br /&gt;Bit 8: Broadcast Options&lt;br /&gt;Bit 9: The number of Samples to follow&lt;br /&gt;Bits 10-11: MSB and LSB for the active channels&lt;br /&gt;Bits: 12-13+: From then on it is the MSB and LSB of the data sent&lt;br /&gt;Last bit will have a value of 10 this is the end bit.&lt;br /&gt;&lt;br /&gt;Two translate the two bits of data into one is simple.  Multiply the MSB bit by 256 and then add the least significant bit.  That will be the value of the sensor reading.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34125912-6084030058859056096?l=amcohendigital.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amcohendigital.blogspot.com/feeds/6084030058859056096/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34125912&amp;postID=6084030058859056096' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/6084030058859056096'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/6084030058859056096'/><link rel='alternate' type='text/html' href='http://amcohendigital.blogspot.com/2008/07/sensors-and-xbee.html' title='Sensors and the XBee'/><author><name>Aaron M  Cohen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34125912.post-2645468421310902805</id><published>2008-07-07T10:00:00.003-04:00</published><updated>2008-07-07T10:13:30.158-04:00</updated><title type='text'>Announcement</title><content type='html'>I have received questions and requests for a more detailed explanation of Xbee's  serial port and dealing with it. I will have some posts up by the end of the week and possible a video up by next week.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34125912-2645468421310902805?l=amcohendigital.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amcohendigital.blogspot.com/feeds/2645468421310902805/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34125912&amp;postID=2645468421310902805' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/2645468421310902805'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/2645468421310902805'/><link rel='alternate' type='text/html' href='http://amcohendigital.blogspot.com/2008/07/announcement.html' title='Announcement'/><author><name>Aaron M  Cohen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34125912.post-8836303431530406493</id><published>2008-07-02T16:33:00.007-04:00</published><updated>2008-07-02T16:38:37.440-04:00</updated><title type='text'>Plethora for Flora</title><content type='html'>Here are some of the visuals I have been working on.  Many are stylized from books of hours as well as books of monks/students.&lt;br&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_P_DAofpOOA0/SGvm5xCuKiI/AAAAAAAAAEE/47FEDaIQql0/s1600-h/Tree3.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://3.bp.blogspot.com/_P_DAofpOOA0/SGvm5xCuKiI/AAAAAAAAAEE/47FEDaIQql0/s320/Tree3.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5218518473330534946" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_P_DAofpOOA0/SGvm3VtXmCI/AAAAAAAAAD8/MB1KjJf6toQ/s1600-h/Tree2.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://2.bp.blogspot.com/_P_DAofpOOA0/SGvm3VtXmCI/AAAAAAAAAD8/MB1KjJf6toQ/s320/Tree2.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5218518431633479714" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_P_DAofpOOA0/SGvmqfQQfPI/AAAAAAAAAD0/XLXq_l2Q3aA/s1600-h/Tree1.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://3.bp.blogspot.com/_P_DAofpOOA0/SGvmqfQQfPI/AAAAAAAAAD0/XLXq_l2Q3aA/s320/Tree1.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5218518210857434354" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_P_DAofpOOA0/SGvmm90X-iI/AAAAAAAAADs/d6Zh82nlAyI/s1600-h/SpiralFlora.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://4.bp.blogspot.com/_P_DAofpOOA0/SGvmm90X-iI/AAAAAAAAADs/d6Zh82nlAyI/s320/SpiralFlora.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5218518150342507042" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_P_DAofpOOA0/SGvmgrD-ceI/AAAAAAAAADk/mktNH0tfB_c/s1600-h/Flower1.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://2.bp.blogspot.com/_P_DAofpOOA0/SGvmgrD-ceI/AAAAAAAAADk/mktNH0tfB_c/s320/Flower1.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5218518042228453858" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_P_DAofpOOA0/SGvmV0EDSJI/AAAAAAAAADc/Y0ZzntK9D6g/s1600-h/Flora1.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://4.bp.blogspot.com/_P_DAofpOOA0/SGvmV0EDSJI/AAAAAAAAADc/Y0ZzntK9D6g/s320/Flora1.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5218517855666129042" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_P_DAofpOOA0/SGvmSAAbnMI/AAAAAAAAADU/KbuYJD1ZSpw/s1600-h/Bush1.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://1.bp.blogspot.com/_P_DAofpOOA0/SGvmSAAbnMI/AAAAAAAAADU/KbuYJD1ZSpw/s320/Bush1.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5218517790152694978" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34125912-8836303431530406493?l=amcohendigital.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amcohendigital.blogspot.com/feeds/8836303431530406493/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34125912&amp;postID=8836303431530406493' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/8836303431530406493'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/8836303431530406493'/><link rel='alternate' type='text/html' href='http://amcohendigital.blogspot.com/2008/07/plethora-for-flora.html' title='Plethora for Flora'/><author><name>Aaron M  Cohen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_P_DAofpOOA0/SGvm5xCuKiI/AAAAAAAAAEE/47FEDaIQql0/s72-c/Tree3.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34125912.post-902787849358956303</id><published>2008-04-28T15:32:00.004-04:00</published><updated>2008-04-28T15:40:34.716-04:00</updated><title type='text'>MAX vs Something Else</title><content type='html'>I now need to figure out what program to use.  Right now I am mostly using MAX/MSP 5.  It works but it currently is a little slower than I want.  I will however change the baud rate on the XBee and speed up one of the metro objects.  This should decrease the latency of the program.  Also it is only working with one Xbee and not seven and no data going back to an Arduino.  I am mainly using MAX because it can interface with LUA and now the Ogre engine.  The LUA is pretty fast but I know nothing of the Ogre engine.  As I stated before if worse comes to worse I'll have to take it into C or Python which might add another semester to this project.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34125912-902787849358956303?l=amcohendigital.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amcohendigital.blogspot.com/feeds/902787849358956303/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34125912&amp;postID=902787849358956303' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/902787849358956303'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/902787849358956303'/><link rel='alternate' type='text/html' href='http://amcohendigital.blogspot.com/2008/04/max-vs-something-else.html' title='MAX vs Something Else'/><author><name>Aaron M  Cohen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34125912.post-1906613717524887611</id><published>2008-04-28T15:18:00.006-04:00</published><updated>2008-04-28T15:26:17.797-04:00</updated><title type='text'>Processsing Code for Accelerometer</title><content type='html'>Many threads made I made code for the Arduino to take in accelerometer data.  Here is the processing code to calculate the orientation.&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;/* &lt;br /&gt; Sections of this code is taken from Tom Igoe's&lt;br /&gt; Making Things Talk book.  Specifically from &lt;br /&gt; pages 288 to 292.&lt;br /&gt; */&lt;br /&gt;import processing.serial.*;&lt;br /&gt;import processing.opengl.*;&lt;br /&gt;&lt;br /&gt;Serial myPort;&lt;br /&gt;boolean madeContact = false;&lt;br /&gt;boolean runOnce = false;&lt;br /&gt;float check = 0;&lt;br /&gt;int vals[] = new int[3];&lt;br /&gt;int valsInit[] = new int[3];&lt;br /&gt;float mapVals[] = new float[3];&lt;br /&gt;float staticVals[] = new float[3];&lt;br /&gt;float dynamicVals[] = new float[3];&lt;br /&gt;float staticXYZ[] = new float[3];&lt;br /&gt;float dynamicXYZ[] = new float[3];&lt;br /&gt;float XYZ[] = new float[3];&lt;br /&gt;&lt;br /&gt;int staticCum = 1; &lt;br /&gt;int dynamicCum = 1;&lt;br /&gt;String myString;&lt;br /&gt;&lt;br /&gt;PFont  font;&lt;br /&gt;&lt;br /&gt;void setup(){&lt;br /&gt;  size(800,800,OPENGL);&lt;br /&gt;  background(0);&lt;br /&gt;  font = loadFont("Osaka-24.vlw");&lt;br /&gt;  textFont(font, 24);&lt;br /&gt;  println(Serial.list());&lt;br /&gt;  myPort = new Serial(this, Serial.list()[0], 19200);&lt;br /&gt;  myPort.bufferUntil('\r');&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;void serialEvent(Serial myPort){&lt;br /&gt;  madeContact = true;&lt;br /&gt;  myString = myPort.readStringUntil('\n');&lt;br /&gt;  parseString(myString);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;void parseString(String Str){&lt;br /&gt;  if (Str != null){&lt;br /&gt;    Str = trim(Str);&lt;br /&gt;    int sensors[] = int(split(Str, ','));&lt;br /&gt;    if (sensors.length &gt;= 3){&lt;br /&gt;      for (int i = 0; i &lt; 3; i++){&lt;br /&gt;        vals[i] = sensors[i];&lt;br /&gt;        mapVals[i] = map(vals[i], 0 ,1024, -1, 1);&lt;br /&gt;      }&lt;br /&gt;      if (runOnce == false){&lt;br /&gt;        valsInit = sensors;&lt;br /&gt;        runOnce = true;&lt;br /&gt;      }&lt;br /&gt;    }&lt;br /&gt;    myPort.write('\r');&lt;br /&gt;  }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;void arrow(){&lt;br /&gt;  stroke(204, 102, 0);&lt;br /&gt;  pushMatrix();&lt;br /&gt;  translate(width/2,height/2);&lt;br /&gt;  beginShape(LINES);&lt;br /&gt;  vertex(0,0,0);&lt;br /&gt;  vertex(XYZ[0],XYZ[1],XYZ[2]);&lt;br /&gt;  endShape();&lt;br /&gt;  popMatrix();&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;void draw(){&lt;br /&gt;  background(0);&lt;br /&gt;  if (madeContact == false){ //if there is no serial event send a character&lt;br /&gt;    myPort.write('\r');&lt;br /&gt;  }&lt;br /&gt;  float sqrtVal = sqrt(sq(mapVals[0])+sq(mapVals[1])+sq(mapVals[2]));  &lt;br /&gt;  if(sqrtVal &gt;= 0.58 &amp;&amp; sqrtVal &lt;= 0.64){ &lt;br /&gt;    //the accelerometer is static&lt;br /&gt;    for(int i=0; i &lt; 3; i++){&lt;br /&gt;      staticVals[i] = mapVals[i] + staticVals[i];&lt;br /&gt;      staticXYZ[i] = staticVals[i]/staticCum;//lost this array somewhere&lt;br /&gt;    }&lt;br /&gt;    dynamicCum = 1;&lt;br /&gt;    for(int i=0; i &lt; 3; i++){&lt;br /&gt;      dynamicVals[i] = 0;&lt;br /&gt;    }&lt;br /&gt;    staticCum++;  //accumulator was in the wrong place&lt;br /&gt;  }&lt;br /&gt;  else{&lt;br /&gt;    //this is dynamic!!!&lt;br /&gt;    for(int i=0; i &lt; 3; i++){&lt;br /&gt;      dynamicVals[i] = (mapVals[i] + dynamicVals[i]);&lt;br /&gt;      dynamicXYZ[i] = dynamicVals[i]/dynamicCum;&lt;br /&gt;    }&lt;br /&gt;    staticCum = 1;&lt;br /&gt;    for(int i=0; i &lt; 3; i++){&lt;br /&gt;      staticVals[i] = 0;&lt;br /&gt;    }&lt;br /&gt;    dynamicCum++;&lt;br /&gt;  }&lt;br /&gt;  for (int i=0; i &lt; 3; i++){&lt;br /&gt;    XYZ[i] = width*(staticVals[i]-dynamicVals[i]);&lt;br /&gt;  }&lt;br /&gt;  int yHold = 50;&lt;br /&gt;&lt;br /&gt;  for (int i = 0; i &lt; 3; i++){&lt;br /&gt;    text(staticXYZ[i], 250, yHold+50);   &lt;br /&gt;    text(dynamicXYZ[i], 150, yHold+50);  &lt;br /&gt;    yHold = yHold + 50;    &lt;br /&gt;    text(sqrtVal, 300, 300);&lt;br /&gt;  }&lt;br /&gt;  arrow();&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34125912-1906613717524887611?l=amcohendigital.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amcohendigital.blogspot.com/feeds/1906613717524887611/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34125912&amp;postID=1906613717524887611' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/1906613717524887611'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/1906613717524887611'/><link rel='alternate' type='text/html' href='http://amcohendigital.blogspot.com/2008/04/processsing-code-for-accelerometer.html' title='Processsing Code for Accelerometer'/><author><name>Aaron M  Cohen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34125912.post-8157321541632077280</id><published>2008-04-25T11:27:00.002-04:00</published><updated>2008-04-25T11:32:11.090-04:00</updated><title type='text'>Trouble Shooting XBee Issues Part 2</title><content type='html'>Last problem solved.  I was playing around with the connections when I noticed if the last input was connected to power the readings were correct.  Lo and behold there is a voltage reference pin on the XBee (VREF it's pin 14).  Once that was connected I got a working Xbee accelerometer!  Now to connect it to my MAX orientation program.  In a technical note MAX 5 is out and seems to be interesting.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34125912-8157321541632077280?l=amcohendigital.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amcohendigital.blogspot.com/feeds/8157321541632077280/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34125912&amp;postID=8157321541632077280' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/8157321541632077280'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/8157321541632077280'/><link rel='alternate' type='text/html' href='http://amcohendigital.blogspot.com/2008/04/trouble-shooting-xbee-issues-part-2.html' title='Trouble Shooting XBee Issues Part 2'/><author><name>Aaron M  Cohen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34125912.post-8874138364662104669</id><published>2008-04-25T09:41:00.002-04:00</published><updated>2008-04-25T09:51:13.692-04:00</updated><title type='text'>Trouble Shooting XBee Issues</title><content type='html'>I have gotten some progress on the XBees transmitting data through sensors.  The main issue was that XBees are programmed in hexadecimal.  When I programmed the address to 1234, I should have programmed it to 4D2.  Once that was fixed I still had a problem because the address was off.  I looked up how the XBee sends data and it sends it in 10 bits.  I am so used to 8 bits from the Arduino that I had the math translating the most significant bit as it were from an 8 bit piece of data. Once the math was fixed I had the correct address displayed as 1234.  The only problem currently is that data coming in from the sensor only reads 1024 even when attached to ground.  Hopefully I can solve this issue this weekend.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34125912-8874138364662104669?l=amcohendigital.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amcohendigital.blogspot.com/feeds/8874138364662104669/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34125912&amp;postID=8874138364662104669' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/8874138364662104669'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/8874138364662104669'/><link rel='alternate' type='text/html' href='http://amcohendigital.blogspot.com/2008/04/trouble-shooting-xbee-issues.html' title='Trouble Shooting XBee Issues'/><author><name>Aaron M  Cohen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34125912.post-7394141150244719212</id><published>2008-04-23T23:13:00.003-04:00</published><updated>2008-04-24T11:09:43.373-04:00</updated><title type='text'>Trying to use the XBee with an accelerometer</title><content type='html'>So importantly do not have the Xbee getting the data have the IU command enabled.  It will not work.  My current set up is an Xbee connected to an accelerometer.  The Xbee with the accelerometer transmits to an Xbee connected to my computer.  This is sort of working.  The data is send and MAX picks it up.  However I have not been receiving data change in the accelerometer as well as I am not getting the correct senders ID.  At least I am receiving something.&lt;br /&gt;&lt;br /&gt;Max serial device is also crashing after a few minutes... go figure.  This might have to be run entirely through the Arduino in the end.  I'll see if processing will work with the current set up.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34125912-7394141150244719212?l=amcohendigital.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amcohendigital.blogspot.com/feeds/7394141150244719212/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34125912&amp;postID=7394141150244719212' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/7394141150244719212'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/7394141150244719212'/><link rel='alternate' type='text/html' href='http://amcohendigital.blogspot.com/2008/04/trying-to-use-xbee-with-accelerometer.html' title='Trying to use the XBee with an accelerometer'/><author><name>Aaron M  Cohen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34125912.post-7056771405337810017</id><published>2008-04-23T16:37:00.001-04:00</published><updated>2008-04-23T16:39:06.233-04:00</updated><title type='text'>Xbee and its UART</title><content type='html'>I have been having issues sending data of the xBee through its UART. I have finally gotten some data from one Xbee to another.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34125912-7056771405337810017?l=amcohendigital.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amcohendigital.blogspot.com/feeds/7056771405337810017/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34125912&amp;postID=7056771405337810017' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/7056771405337810017'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/7056771405337810017'/><link rel='alternate' type='text/html' href='http://amcohendigital.blogspot.com/2008/04/xbee-and-its-uart.html' title='Xbee and its UART'/><author><name>Aaron M  Cohen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34125912.post-3851871954830965039</id><published>2008-04-08T10:01:00.005-04:00</published><updated>2008-04-08T10:32:53.660-04:00</updated><title type='text'>Why XBee?</title><content type='html'>I have completed a beta version of the processing code that does what the MAX/MSP program does.  I just need to run it and see how well it works.  If it works well I will post the code.  &lt;br /&gt;&lt;br /&gt;More of the question is why use the ZigBee protocol.  The greatest advantage is that I do not have to connect and pair every device to the central hub.  If I used Bluetooth the coding might be easier but I will have to pair seven devices and have seven sessions running simultaneously.  This might add to some serious latency within the installation.  With the Xbee I can target specific modems within the network as well as broadcast the information.  To give the networking example of this, within a specific IP 124.124.1 (just made it up) I can target a specific node 124.124.1.124 or broadcast to that network only 124.124.1.255.  This allows me to have data all be sent to one location.  That location can understand which modem it can from and then send broadcast data or specifically target one modem.  I have gotten them to broadcast data but and send to one receiver but I have yet to figure out how to have the central Xbee switch the targeted modem or how to have the other modems pick the correct information (instructions for them) out of a broadcast.  I am trying to do away of the Arduino to save energy, save room, and remove latency.  I might still be forced to use one because I only have six inputs and outputs.  Three are being used by the accelerometer.  One might be used by a Qprox sensor, if that is the case I am only left with two PWMs.  If this is the case I would have to light the bottle with one LED.  The LED would probably have to be a Luxeon, which are amazing but pull about an amp for power and can kill batteries quickly.  The Arduino gives me more outputs (6 PWMs).  Alternatively I can have the Arduino only receive the data and control the LEDs, sound, and vibration (and possible smoke).  This should not cause noticeable latency but does not save on space and power.  &lt;br /&gt;&lt;br /&gt;I also ordered an I2C accelerometer.  I am going to play with them since I2C products are much cheaper and in theory very fast.  I also purchased a LiPo battery.  This is a lithium polymer battery which is better than Lithium Ion (though it might be more toxic).  The battery will be good for prototyping but does not have enough mA hours to run the LEDs for long (1 hour for one luxeon).  I will order a VDPI1 from mouser to experiment with pull sound files off on to an Arduino.  If this works I with have to use the Arduino but will try to have the XBee do the sensory work while the Arduino controls the bottle.&lt;br /&gt;&lt;br /&gt;Tom Igoe has some nice code on page 273 on his "Making Things Talk Book".  This explains how the Xbee sends data and how you can parse it.  Included in the packet if data that the Xbee sends is the signal strength.  I can use this to solve the issue of how close the user is to the alchemy table.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34125912-3851871954830965039?l=amcohendigital.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amcohendigital.blogspot.com/feeds/3851871954830965039/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34125912&amp;postID=3851871954830965039' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/3851871954830965039'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/3851871954830965039'/><link rel='alternate' type='text/html' href='http://amcohendigital.blogspot.com/2008/04/why-xbee.html' title='Why XBee?'/><author><name>Aaron M  Cohen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34125912.post-7143407515799545467</id><published>2008-03-31T14:42:00.007-04:00</published><updated>2008-04-01T11:43:09.257-04:00</updated><title type='text'>Setting up the XBees</title><content type='html'>Now we need to program the XBee radios.  There are several ways to do this.  You can program a PLC to do it, you can try to program it through a terminal program, or you can use the XCtu program from Maxstream.  I recommend using XCtu.&lt;br /&gt;&lt;br /&gt;I used the FT232R Breakout board from Sparkfun.  You  can use FTDI's USB to serial cable, its a little cheaper and just a cable.  Solder straight headers to the board.   Connect 3.3 to the power strip and the ground to ground.  Connect TXD to DIN and RXD to DOUT.  Connect RTS to RTS and DTR to DTR.  Connect a LED to ON and one to AD5.  AD5 can check the mode the radio is in.  Connect the board to the USB, note the FT232R needs a mini USB end.  &lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_P_DAofpOOA0/R_E32pJCIOI/AAAAAAAAADM/0zc2BMq_Cgo/s1600-h/XBeeProgrammer.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://4.bp.blogspot.com/_P_DAofpOOA0/R_E32pJCIOI/AAAAAAAAADM/0zc2BMq_Cgo/s320/XBeeProgrammer.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5183986057976357090" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Windows might need some drivers installed.  Install them.  Open put XCtu and find the COM port that the modem is on.  Test to make sure it is there.  Download the new firmware.&lt;br /&gt;&lt;br /&gt;Click on the modem configuration tag.&lt;br /&gt;Download the then versions of the firmware.&lt;br /&gt;You need to set a network ID- the default is 1111 change it to anything like 2121.&lt;br /&gt;Each modem needs an ID.  This is the ATMY configuration. Set one to 1234 and the other to 5678.  The modem with MYID 1234, set its destination low to 5678 and visa versa.  The destination low tells it which ID it should communicate to.  Change the baud rate to whatever baud rate your code is using.  Make sure it puts the newest firmware on as well.  Click on the write button.  In order to access this modems again you need to check on the PC Settings and make sure the baud rate matches.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34125912-7143407515799545467?l=amcohendigital.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amcohendigital.blogspot.com/feeds/7143407515799545467/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34125912&amp;postID=7143407515799545467' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/7143407515799545467'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/7143407515799545467'/><link rel='alternate' type='text/html' href='http://amcohendigital.blogspot.com/2008/03/setting-up-xbees.html' title='Setting up the XBees'/><author><name>Aaron M  Cohen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_P_DAofpOOA0/R_E32pJCIOI/AAAAAAAAADM/0zc2BMq_Cgo/s72-c/XBeeProgrammer.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34125912.post-5550013885337839444</id><published>2008-03-31T11:25:00.002-04:00</published><updated>2008-03-31T14:40:55.880-04:00</updated><title type='text'>Arduino to Xbee</title><content type='html'>Solder the Xbee breakout boards.  I recommend soldering the straight headers in first and then the 2mm sockets.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_P_DAofpOOA0/R_EvzJJCIMI/AAAAAAAAAC8/Gy1gaAAmX70/s1600-h/XBeeBBTop.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://2.bp.blogspot.com/_P_DAofpOOA0/R_EvzJJCIMI/AAAAAAAAAC8/Gy1gaAAmX70/s320/XBeeBBTop.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5183977201753792706" /&gt;&lt;/a&gt;&lt;BR&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_P_DAofpOOA0/R_Ev_ZJCINI/AAAAAAAAADE/ODLUOtP-Dk0/s1600-h/XBeeBBBottom.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://3.bp.blogspot.com/_P_DAofpOOA0/R_Ev_ZJCINI/AAAAAAAAADE/ODLUOtP-Dk0/s320/XBeeBBBottom.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5183977412207190226" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Connect the 9V positive lead to the base of the 9 to 5 volt voltage regulator (I use a 7805).  Connect the battery negative lead to ground.  The 7805 ground to the ground and then the 5 volts out to the power strip.  Connect the Arduino to ground and power.  Connect the accelerometer as mentioned in the previous post.  Connect the power to the 5 to 3.3 volt voltage regulator (3940IT).  Connect its ground and power out.  Important note that the 5 volts in and the 3.3 volts out are reversed in the 3940.  Use a multimeter to test if you are not sure.  Putting 5 volts into the XBee has a good chance of frying it.  Using the XBee Sparkfun breakout board connect VDD (power to the 3.3V power)  Connect ground to ground.  Connect DOUT to the Arduino's RX and the DIN to the Arduino's TX.  Connect an LED to the ON pin to test for power.  This LED does not need a resistor as it is operating at 3.3 Volts.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34125912-5550013885337839444?l=amcohendigital.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amcohendigital.blogspot.com/feeds/5550013885337839444/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34125912&amp;postID=5550013885337839444' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/5550013885337839444'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/5550013885337839444'/><link rel='alternate' type='text/html' href='http://amcohendigital.blogspot.com/2008/03/arduino-to-xbee.html' title='Arduino to Xbee'/><author><name>Aaron M  Cohen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_P_DAofpOOA0/R_EvzJJCIMI/AAAAAAAAAC8/Gy1gaAAmX70/s72-c/XBeeBBTop.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34125912.post-1009542914125555810</id><published>2008-03-31T10:56:00.003-04:00</published><updated>2008-03-31T14:21:17.852-04:00</updated><title type='text'>Arduino to MAX</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_P_DAofpOOA0/R_D_SZJCILI/AAAAAAAAAC0/ukA0RDyCb-g/s1600-h/Arduino.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://2.bp.blogspot.com/_P_DAofpOOA0/R_D_SZJCILI/AAAAAAAAAC0/ukA0RDyCb-g/s320/Arduino.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5183923862554943666" /&gt;&lt;/a&gt;&lt;br /&gt;Connect your Arduino Mini to the USB Programmer.&lt;br /&gt;TX to TX, RX to RX.  &lt;br /&gt;5V to power.  Ground to Ground. Reset to Power.&lt;br /&gt;Put an LED in the from the 13 pin to ground.  You do not need a resistor it is built in to the 13 pin.  This is to indicate power.&lt;br /&gt;Connect the accelerometer power (VDD pin), connect it to ground.  Send the X data to Analog 0, the Y data to analog 1, and the Z data to analog 2.  Leave the ST pin alone.  Note: I usually use an accelerometer that DOES have 90 degree headers.  I used the straight header for the picture so you can see the accelerometer better.&lt;br /&gt;Upload the following program and test it...&lt;br /&gt;int ledPin = 13; //Power Pin&lt;br /&gt;int accelerometer[6]; //Array for analog values&lt;br /&gt;int AVGaccelerometer[6]; //Array for Average Values&lt;br /&gt;int avgLimit = 5; //Number values in the Average&lt;br /&gt;int accVal = 0; //Accumulated number for aveerage&lt;br /&gt;int maxLoop = 3;&lt;br /&gt;int inByte = -1;&lt;br /&gt;&lt;br /&gt;void setup () {&lt;br /&gt;  pinMode(OUTPUT, ledPin);&lt;br /&gt;  Serial.begin(19200);  //Open Serial&lt;br /&gt;  Serial.println("0,0,0,0");&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;void loop(){&lt;br /&gt;  for (int i = 0; i &lt; maxLoop; i++){ //first looop get read data&lt;br /&gt;    for (int x = 0; x &lt; avgLimit; x++){ //second loop to accumulate data&lt;br /&gt;      accelerometer[i] = analogRead(i);  //Reads analog values           &lt;br /&gt;      accVal =  accelerometer[i] + accVal;&lt;br /&gt;    }&lt;br /&gt;    AVGaccelerometer[i] = accVal/avgLimit; //Calculates Average&lt;br /&gt;    accVal = 0; //Reset Acculumator&lt;br /&gt;  }&lt;br /&gt;  delay(10);  //Take a rest Serial Port&lt;br /&gt;  if (Serial.available() &gt; 0){ //if data is coming in&lt;br /&gt;    int inByte = Serial.read();&lt;br /&gt;    for (int i = 0; i &lt; maxLoop; i++){ //Send this out!!&lt;br /&gt;      Serial.print(AVGaccelerometer[i],DEC); //Data Away!!!&lt;br /&gt;      Serial.print(",");&lt;br /&gt;    }&lt;br /&gt;    Serial.println(); //Send ASCII 10&lt;br /&gt;  }&lt;br /&gt;  digitalWrite(ledPin,HIGH);  //Is this thing on???&lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34125912-1009542914125555810?l=amcohendigital.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amcohendigital.blogspot.com/feeds/1009542914125555810/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34125912&amp;postID=1009542914125555810' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/1009542914125555810'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/1009542914125555810'/><link rel='alternate' type='text/html' href='http://amcohendigital.blogspot.com/2008/03/arduino-to-max.html' title='Arduino to MAX'/><author><name>Aaron M  Cohen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_P_DAofpOOA0/R_D_SZJCILI/AAAAAAAAAC0/ukA0RDyCb-g/s72-c/Arduino.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34125912.post-1723977143835684870</id><published>2008-03-31T10:15:00.005-04:00</published><updated>2008-03-31T10:43:28.332-04:00</updated><title type='text'>Starting the Orientation Board</title><content type='html'>What you need:&lt;br&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.sparkfun.com/commerce/advanced_search_result.php?keywords=arduino&amp;x=0&amp;y=0" target="_blank"&gt;Arduino Board&lt;/a&gt;&lt;br /&gt;&lt;li&gt;Breadboards&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.sparkfun.com/commerce/product_info.php?products_id=849" target="_blank"&gt;3G to 2G Triple Axis Accelerometer&lt;/a&gt;&lt;br /&gt;&lt;li&gt;Wires&lt;br /&gt;&lt;li&gt;LEDS&lt;br /&gt;&lt;li&gt;XBee Series 1 radios (buy these at &lt;a href="http://www.maxstream.net" target="_blank"&gt;Maxstream&lt;/a&gt; or &lt;a href="http://www.digikey.com" target="_blank"&gt;DIGIKEY&lt;/a&gt;)&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.sparkfun.com/commerce/product_info.php?products_id=8276" target="_blank"&gt;Breakout boards for the Xbee&lt;/a&gt;  Buy the 2mm sockets and the breakaway headers as well&lt;br /&gt;&lt;li&gt;5V to 3.3V Voltage Regulator&lt;br /&gt;&lt;li&gt;9V to 5V Voltage Regulator&lt;br /&gt;&lt;li&gt;9V Battery and leads&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34125912-1723977143835684870?l=amcohendigital.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amcohendigital.blogspot.com/feeds/1723977143835684870/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34125912&amp;postID=1723977143835684870' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/1723977143835684870'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/1723977143835684870'/><link rel='alternate' type='text/html' href='http://amcohendigital.blogspot.com/2008/03/starting-orientation-board.html' title='Starting the Orientation Board'/><author><name>Aaron M  Cohen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34125912.post-6204480939755601169</id><published>2008-03-28T22:59:00.004-04:00</published><updated>2008-03-28T23:42:16.147-04:00</updated><title type='text'>Jumping for Joy</title><content type='html'>ITS ALIVE!!!  I am actually speechless and do not know what to write.  A warning, this is a rambling narrative.  There will be a more technical entry Saturday or Sunday.  So I will start from the beginning of the day's work.  I connected the Arduino to the Xbee.  I then took my multimeter and tested the connections.  I have forgotten that my 5 to 3.3 voltage regulator has its pins reversed.  Luckily I did not fry my xBee.  I went to Xctu and programmed to Xbee radios.  As I was about the test them I thought that I have done something inccorrect.  I checked the settings again and in fact I had configured the Xbees exactly the same so they would have never communicated to each other.  This project I only configured the PAN ID (ATID), the source address (ATMY), and the destination low -which source address to send the message to (ATDL).  I had originally set the MY and the DL to the same numbers on both when they should have been the opposite.  Quick fix, and I was on my way.  I connected everything and it still did not work.  I quickly checked my code and remembered I have never changed the baud rate on the Xbee.  Going back to XCtu I tried to change the baud rate.  One would think this would be simple.  Yet there is no baud rate on the read out or anything showing 9600 which is the default.  After consulting the owners manual I discovered it is in the serial interfacing section called interface data rate.  I gave it the value four which is 19200 baud and set it to both radios.  Changing both MAX and the Arduino since they were set to 14400 I decided to give it another try.  However I had to relocate first.  I hastily packed everything up and moved along.  When I unpacked I had broken my voltage regulator.  Distraught I came up with the solution to use the FTDI board I use to configure the Xbees because it has a 3.3 volt output.  I plug it in run MAX and it works.  Until I notice it is reading it through the Arduino Mini USB programmer.    Disconnect that and...it stops working.  I play with the settings on MAX serial and it gets worse.  Restart MAX and...it works.  Restart it again and it works again!  So we have a wireless orientation controller.  There are still some issues with the data I need to hammer out as the orientation can be flawed.  &lt;br /&gt;Below are pictures of a screen capture and of the horrid breadboard monster I created.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_P_DAofpOOA0/R-254pJCIJI/AAAAAAAAACk/FiDtmr27Egk/s1600-h/screenshotMax1.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://4.bp.blogspot.com/_P_DAofpOOA0/R-254pJCIJI/AAAAAAAAACk/FiDtmr27Egk/s320/screenshotMax1.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5183003128940863634" /&gt;&lt;/a&gt;&lt;br&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_P_DAofpOOA0/R-26AZJCIKI/AAAAAAAAACs/jAdWLv7wLQM/s1600-h/WirelessAccel.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://3.bp.blogspot.com/_P_DAofpOOA0/R-26AZJCIKI/AAAAAAAAACs/jAdWLv7wLQM/s320/WirelessAccel.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5183003262084849826" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34125912-6204480939755601169?l=amcohendigital.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amcohendigital.blogspot.com/feeds/6204480939755601169/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34125912&amp;postID=6204480939755601169' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/6204480939755601169'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/6204480939755601169'/><link rel='alternate' type='text/html' href='http://amcohendigital.blogspot.com/2008/03/jumping-for-joy.html' title='Jumping for Joy'/><author><name>Aaron M  Cohen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_P_DAofpOOA0/R-254pJCIJI/AAAAAAAAACk/FiDtmr27Egk/s72-c/screenshotMax1.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34125912.post-567675849727615416</id><published>2008-03-12T16:16:00.002-04:00</published><updated>2008-03-12T16:33:45.376-04:00</updated><title type='text'>Orientation Running in MAX/MSP</title><content type='html'>After a rather long two day battle with MAX/MSP, I got the orientation to work in MAX/MSP.  It works fairly well; occasionally it has some issues with its 180 degree counter part but that can be worked out by zero counting or not allowing movement beyond a certain threshold.  I will have pictures up tomorrow of the MAX/MSP program in use and hopefully a video in a weeks time.  I now need to convert it to Processing and from there something else, C++ or Python (if I can find easy to use serial libraries).  Either one I will have to relearn how to program the language.  So for now I will stick to MAX and Processing.  Next week is spring break so I will most likely be traveling, doing reading, and sightseeing.  So more theory and concept to follow rather then technical material. I know many people have problems with the MAX serial object.  Reading some examples from Tom Igoe's &lt;a href="http://www.amazon.com/Making-Things-Talk-Practical-Connecting/dp/0596510519/ref=pd_bxgy_b_img_b/002-6866013-3736013" target="_blank"&gt;Making Things Talk&lt;/a&gt; I figured out a way to prevent some errors.  MAX tends to easily get flooded with serial data and either locks up or ceases to function correctly.  By having an IC on the other serial end (in my case an Arduino Mini) wait for a response from the computer before sending data MAX is fine with the data flow.  I have yet to see it crash or lock up. I currently have the baud rate at 9600 but will start to speed up the connection to see how fast MAX can handle the data.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34125912-567675849727615416?l=amcohendigital.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amcohendigital.blogspot.com/feeds/567675849727615416/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34125912&amp;postID=567675849727615416' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/567675849727615416'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/567675849727615416'/><link rel='alternate' type='text/html' href='http://amcohendigital.blogspot.com/2008/03/orientation-running-in-maxmsp.html' title='Orientation Running in MAX/MSP'/><author><name>Aaron M  Cohen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34125912.post-9118156123763612337</id><published>2008-03-10T16:05:00.007-04:00</published><updated>2008-03-10T16:48:48.418-04:00</updated><title type='text'>Orientation to begin again</title><content type='html'>Okay, I have the math and an example in MAX/MSP that uses the iPhone to detect the iPhone's orientation.  The example and the math was from Liubo Borissov and many thanks to him.  I don't have an iPhone but I will connect MAX to my Arduino.  In good news for my wallet, I only need one accelerometer.  The examples I was reading were only for accelerometers with two axises.  The accelerometers I have are three axis accelerometers.  That is very good so I can free up room in the element's vessel and inputs into the Arduino.  The math works something like this.  I form a vector from the origin to the change in gravity (static - dynamic).  This is done from subtracting the dynamic x,y,z from the static x,y,z.  From there I can create orientation from this vector by calculating the angles. So the vector value would be x0, y0, z0.  I take the arc cosine of y0 divided by the length of the vector.  Also the arc tangent of x0 divided by z0.  From this I should get pitch and roll.  I will put up the code and explain it more there.  The static x,y,z are the threshold of the accelerometer standing still.  Dynamic x,y,z would be anything outside that threshold.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34125912-9118156123763612337?l=amcohendigital.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amcohendigital.blogspot.com/feeds/9118156123763612337/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34125912&amp;postID=9118156123763612337' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/9118156123763612337'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/9118156123763612337'/><link rel='alternate' type='text/html' href='http://amcohendigital.blogspot.com/2008/03/orientation-to-begin-again.html' title='Orientation to begin again'/><author><name>Aaron M  Cohen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34125912.post-6432347442419500623</id><published>2008-03-05T10:47:00.003-05:00</published><updated>2008-03-05T10:56:30.353-05:00</updated><title type='text'>Lack of Wireless Experiments</title><content type='html'>I got sick over the weekend and was not able to play with my Xbees.  Hopefully tomorrow I will get a small program to send data to Processing and MAX.  I will also play with location detection but that will take more than one week.  I am interested in how MAX reacts as its serial object is not the most reliable thing on Earth.  I am praying that in MAX 5 this issue has been solved.  I look forward to MAX 5 as well.  I downloaded the development tools for the XBee.  I will do some reading but I do not think I will go to that extreme.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34125912-6432347442419500623?l=amcohendigital.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amcohendigital.blogspot.com/feeds/6432347442419500623/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34125912&amp;postID=6432347442419500623' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/6432347442419500623'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/6432347442419500623'/><link rel='alternate' type='text/html' href='http://amcohendigital.blogspot.com/2008/03/lack-of-wireless-experiments.html' title='Lack of Wireless Experiments'/><author><name>Aaron M  Cohen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34125912.post-6564556689930539166</id><published>2008-02-27T11:53:00.004-05:00</published><updated>2008-02-27T12:03:47.635-05:00</updated><title type='text'>Weekend Work Forcast</title><content type='html'>This weekend I will hopefully have the orientation issue solved and the Xbee communication solved.  I intend to use Processing or MAX/MSP for now as the software to receive the data.  I will start lighting experiments as soon as I can get a hold of Avner to talk about diffusing light with glass.  I ordered MAX so I should have that running tomorrow.  I need to order the FTDI IC that can allow Arduino to read thumbdrives.  I found out that &lt;a href="http://www.mouser.com" target="_blank"&gt;Mouser Electronic&lt;/a&gt; sells them so I don't have to ordered them from FTDI (FTDI is in England).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34125912-6564556689930539166?l=amcohendigital.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amcohendigital.blogspot.com/feeds/6564556689930539166/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34125912&amp;postID=6564556689930539166' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/6564556689930539166'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/6564556689930539166'/><link rel='alternate' type='text/html' href='http://amcohendigital.blogspot.com/2008/02/weekend-work-forcast.html' title='Weekend Work Forcast'/><author><name>Aaron M  Cohen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34125912.post-9043801858872831538</id><published>2008-02-26T22:36:00.003-05:00</published><updated>2008-02-26T22:43:55.361-05:00</updated><title type='text'>Xbee Firmware updated</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_P_DAofpOOA0/R8TccNf_n3I/AAAAAAAAACc/nGk9TiIYaG8/s1600-h/Photo-19.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://2.bp.blogspot.com/_P_DAofpOOA0/R8TccNf_n3I/AAAAAAAAACc/nGk9TiIYaG8/s320/Photo-19.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5171500649346473842" /&gt;&lt;/a&gt;&lt;br&gt;&lt;br /&gt;Firmware is updated.  Took me a little longer than it should because I kept on hitting the update button that just updated the files of firmware.  I then looked at the program and though oops that was a waste of time.  A short delay also occurred as the diagram in Tom Igoe's book is incorrect and how I thought it should be set up was the correct way.  Be that as it may seven out of eight Xbee modules survived, I managed only to kill one, which I probably killed last semester with a voltage regulation issue.  Now that they are updated I can start testing them for receiving and sending data.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34125912-9043801858872831538?l=amcohendigital.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amcohendigital.blogspot.com/feeds/9043801858872831538/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34125912&amp;postID=9043801858872831538' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/9043801858872831538'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/9043801858872831538'/><link rel='alternate' type='text/html' href='http://amcohendigital.blogspot.com/2008/02/xbee-firmware-updated.html' title='Xbee Firmware updated'/><author><name>Aaron M  Cohen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_P_DAofpOOA0/R8TccNf_n3I/AAAAAAAAACc/nGk9TiIYaG8/s72-c/Photo-19.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34125912.post-8520986988656262231</id><published>2008-02-25T20:57:00.003-05:00</published><updated>2008-02-26T22:44:42.648-05:00</updated><title type='text'>Starting from 3D basics</title><content type='html'>Several noteworthy events:  I received two chips from FTDI and interface well with XBee radios.  Two I know now I have to up grade my XBee's firmware and that is why I had such a hard time with them last semester.  Three there are some nifty produces from FTDI that allow you to use USB flash memory on an Arduino.  I could include nice prerecorded sounds versus making them with PWM and various hardwired filters.&lt;br /&gt;&lt;br /&gt;After speaking to Liubo Borrisov I need to change the way I am using my accelerometers in 3D space.  I have to chose a format first, matrix orientation, Euler angles, or quaternion diplacemnet.  So I have good 47 pages to read up on and take notes.  After that is decided comes the programing the math into Processing.&lt;br /&gt;&lt;br /&gt;I looked into smoke from model trains.  It is a electrical heat source with a piston.  The heater changes the liquid into smoke and the pistol makes it puff.  I am going to contact Lionel and see if I can get one to play around with.  Sparkfun started carrying coin (pancake) vibration motors.  I need to order one from them and see if they survive the test.  I will write to Microsoft tomorrow to see if I can get some vibration motors from defective controllers.  It is a shot in the dark but it will not hurt.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34125912-8520986988656262231?l=amcohendigital.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amcohendigital.blogspot.com/feeds/8520986988656262231/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34125912&amp;postID=8520986988656262231' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/8520986988656262231'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/8520986988656262231'/><link rel='alternate' type='text/html' href='http://amcohendigital.blogspot.com/2008/02/starting-from-3d-basics.html' title='Starting from 3D basics'/><author><name>Aaron M  Cohen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34125912.post-6507544276436497739</id><published>2008-02-23T16:27:00.004-05:00</published><updated>2008-02-23T16:42:34.217-05:00</updated><title type='text'>Getting there but not quite there yet</title><content type='html'>Currently I have the two accelerometers averaging out their data in processing to figure out tilt.  There are two problems.  First one is it cannot pass the 180 point.  When it does, it reverts to its original position.  Secondly it is very shaky and has issues across the x axis in 3D.  I am seeking out some better math equations.  I want this project not to require calibration which would fix some of my problems currently.  I am going to speak to my professors over some of the math required to calculate the position.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34125912-6507544276436497739?l=amcohendigital.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amcohendigital.blogspot.com/feeds/6507544276436497739/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34125912&amp;postID=6507544276436497739' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/6507544276436497739'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/6507544276436497739'/><link rel='alternate' type='text/html' href='http://amcohendigital.blogspot.com/2008/02/getting-there-but-not-quite-there-yet.html' title='Getting there but not quite there yet'/><author><name>Aaron M  Cohen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34125912.post-8198476614550575254</id><published>2008-02-23T10:20:00.002-05:00</published><updated>2008-02-23T10:31:17.690-05:00</updated><title type='text'>Dual Accelerometers</title><content type='html'>I am now trying to use two accelerometers placed at a 90 degree difference to create a more stable orientation.  This is a common practice used in robotics and vehicles.  Two accelerometers are used in the Nintendo WiiMote as well.  Pictures will be up later today.  Today's project is to get Processing to understand the data.  Currently processing is only receiving the data and doing nothing with it.  I am working on the math and will implement it in OPENGL.&lt;br /&gt;&lt;br /&gt;Here is the arduino code for the two accelerometers.  I used an array to make the programing less messy.  I am also averaging the data because the accelerometer kicks out a lot of data that can vary with minute vibrations.&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;int ledPin = 13; //Power Pin&lt;br /&gt;int accelerometer[6]; //Array for analog values&lt;br /&gt;int AVGaccelerometer[6]; //Array for Average Values&lt;br /&gt;int avgLimit = 5; //Number values in the Average&lt;br /&gt;int accVal = 0; //Accumulated number for aveerage&lt;br /&gt;int inByte = -1;&lt;br /&gt;&lt;br /&gt;void setup () {&lt;br /&gt;  pinMode(OUTPUT, ledPin);&lt;br /&gt;  Serial.begin(9600);  //Open Serial&lt;br /&gt;  Serial.println("0,0,0,0,0,0");&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;void loop(){&lt;br /&gt;  //first looop get read data&lt;br /&gt;  for (int i = 0; i &lt; 6; i++){ &lt;br /&gt;    //second loop to accumulate data&lt;br /&gt;    for (int x = 0; x &lt; avgLimit; x++){ &lt;br /&gt;      accelerometer[i] = analogRead(i);  &lt;br /&gt;      //Reads analog values           &lt;br /&gt;      accVal =  accelerometer[i] + accVal;&lt;br /&gt;    }&lt;br /&gt;    AVGaccelerometer[i] = accVal/avgLimit; &lt;br /&gt;    //Calculates Average&lt;br /&gt;    accVal = 0; //Reset Acculumator&lt;br /&gt;  }&lt;br /&gt;  //Take a rest Serial Port&lt;br /&gt;  delay(10);    &lt;br /&gt;  //if data is coming in&lt;br /&gt;  if (Serial.available() &gt; 0){ &lt;br /&gt;  int inByte = Serial.read();&lt;br /&gt;    //Send this out!!&lt;br /&gt;    for (int i = 0; i &lt; 6; i++){ &lt;br /&gt;      //Data Away!!!&lt;br /&gt;      Serial.print(AVGaccelerometer[i],DEC); &lt;br /&gt;      Serial.print(",");&lt;br /&gt;    }&lt;br /&gt;    //Send ASCII 10 used by Processing &lt;br /&gt;    Serial.println(); &lt;br /&gt;  }&lt;br /&gt;  //Is this thing on???&lt;br /&gt;  digitalWrite(ledPin,HIGH);  &lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34125912-8198476614550575254?l=amcohendigital.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amcohendigital.blogspot.com/feeds/8198476614550575254/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34125912&amp;postID=8198476614550575254' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/8198476614550575254'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/8198476614550575254'/><link rel='alternate' type='text/html' href='http://amcohendigital.blogspot.com/2008/02/dual-accelerometers.html' title='Dual Accelerometers'/><author><name>Aaron M  Cohen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34125912.post-8162767677206662977</id><published>2008-02-18T13:51:00.001-05:00</published><updated>2008-02-18T13:51:34.055-05:00</updated><title type='text'>Orientation in 3D Program</title><content type='html'>import processing.serial.*;&lt;br /&gt;import processing.opengl.*;&lt;br /&gt;&lt;br /&gt;Serial port;&lt;br /&gt;&lt;br /&gt;int getByte = -1;      // Variable to hold keystoke values&lt;br /&gt;&lt;br /&gt;int xRad,yRad = 0;&lt;br /&gt;int xStart,yStart, zStart = 0;&lt;br /&gt;int xDown, yDown, zDown = 0;&lt;br /&gt;int XVal, YVal, ZVal = 0;&lt;br /&gt;&lt;br /&gt;int XdataByteLSB = -1;     // Variable to hold keystoke values&lt;br /&gt;int XdataByteMSB = -1;     // Variable to hold keystoke values&lt;br /&gt;int YdataByteLSB = -1;     // Variable to hold keystoke values&lt;br /&gt;int YdataByteMSB = -1;     // Variable to hold keystoke values&lt;br /&gt;int ZdataByteLSB = -1;     // Variable to hold keystoke values&lt;br /&gt;int ZdataByteMSB = -1;     // Variable to hold keystoke values&lt;br /&gt;&lt;br /&gt;int XdataByte = -1;     // Variable to hold keystoke values&lt;br /&gt;int YdataByte = -1;     // Variable to hold keystoke values&lt;br /&gt;int ZdataByte = -1;     // Variable to hold keystoke values&lt;br /&gt;&lt;br /&gt;int headerByte = 224;  //&lt;br /&gt;&lt;br /&gt;int loopHold = 0;&lt;br /&gt;&lt;br /&gt;PFont fontA; // Font for printing&lt;br /&gt;&lt;br /&gt;void setup(){&lt;br /&gt;  size(800,800, OPENGL);&lt;br /&gt;  background(0);&lt;br /&gt;  fontA = loadFont("CourierNewPSMT-24.vlw");&lt;br /&gt;  textFont(fontA, 24);&lt;br /&gt;  println(Serial.list());&lt;br /&gt;  port = new Serial(this, Serial.list()[0], 9600);&lt;br /&gt;  //lights();&lt;br /&gt;  // smooth();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;int reconstruct(int MSB,int LSB) {&lt;br /&gt;  int val=0;&lt;br /&gt;  val = MSB &lt;&lt; 7;&lt;br /&gt;  val = val + LSB;&lt;br /&gt;  return val;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;void serialChecker(){&lt;br /&gt;  while (port.available() &gt; 0) {&lt;br /&gt;    getByte = port.read();&lt;br /&gt;    if (getByte == headerByte) {&lt;br /&gt;&lt;br /&gt;      XdataByteLSB = port.read();  //get LSB&lt;br /&gt;      XdataByteMSB = port.read();  //get MSB       &lt;br /&gt;      YdataByteLSB = port.read();  //get LSB&lt;br /&gt;      YdataByteMSB = port.read();  //get MSB       &lt;br /&gt;      ZdataByteLSB = port.read();  //get LSB&lt;br /&gt;      ZdataByteMSB = port.read();  //get MSB  &lt;br /&gt;    }&lt;br /&gt;  }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;void keyPressed(){&lt;br /&gt;  if (keyCode == DOWN){&lt;br /&gt;    xDown = XVal;&lt;br /&gt;    yDown = YVal;&lt;br /&gt;    zDown = ZVal;&lt;br /&gt;  }&lt;br /&gt;    if (keyCode == UP){&lt;br /&gt;    xStart = XVal;&lt;br /&gt;    yStart = YVal;&lt;br /&gt;    zStart = ZVal;&lt;br /&gt;  }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;void   orienatate(){&lt;br /&gt;  float X = map(XVal, xStart, xDown, 0, 180);&lt;br /&gt;  float Y = map(YVal, yStart, yDown, 0, 180);&lt;br /&gt;  float Z = map(ZVal, zStart, zDown, 0, 180);&lt;br /&gt;  pushMatrix();&lt;br /&gt;  translate(width/2,height/2,0);&lt;br /&gt;  X = radians(X);&lt;br /&gt;  Y = radians(Y);&lt;br /&gt;  Z = radians(Z);&lt;br /&gt;  rotateZ(X);&lt;br /&gt;  rotateY(Y);&lt;br /&gt;  rotateX(Z);&lt;br /&gt;  box(100,10,100);&lt;br /&gt;  popMatrix();&lt;br /&gt;  //background(0);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;void draw(){&lt;br /&gt;  if (xStart &lt; 0 || yStart &lt; 0 || zStart &lt; 0) {&lt;br /&gt;    serialChecker();  &lt;br /&gt;    xStart = reconstruct(XdataByteMSB, XdataByteLSB);&lt;br /&gt;    yStart = reconstruct(YdataByteMSB, YdataByteLSB);&lt;br /&gt;    zStart = reconstruct(ZdataByteMSB, ZdataByteLSB);&lt;br /&gt;  }&lt;br /&gt;  serialChecker();&lt;br /&gt;  XdataByte = reconstruct(XdataByteMSB, XdataByteLSB);&lt;br /&gt;  YdataByte = reconstruct(YdataByteMSB, YdataByteLSB);&lt;br /&gt;  ZdataByte = reconstruct(ZdataByteMSB, ZdataByteLSB);&lt;br /&gt;  if (XdataByte &gt;= 0 &amp;&amp; XdataByte &lt;= 1024){&lt;br /&gt;    XVal = XdataByte;&lt;br /&gt;  }&lt;br /&gt;  if (YdataByte &gt;= 0 &amp;&amp; YdataByte &lt;= 1024){&lt;br /&gt;    YVal = YdataByte;&lt;br /&gt;  }&lt;br /&gt;  if (ZdataByte &gt;= 0 &amp;&amp; ZdataByte &lt;= 1024){&lt;br /&gt;    ZVal = ZdataByte;&lt;br /&gt;  }&lt;br /&gt;  if (loopHold &gt; 25){&lt;br /&gt;    background(0);&lt;br /&gt;    text("X Value: ",100,100);&lt;br /&gt;    text(XVal,250,100);&lt;br /&gt;    text(xStart, 350, 100);&lt;br /&gt;    text((xStart - XVal), 450, 100);&lt;br /&gt;    text("Y Value: ",100,150);&lt;br /&gt;    text(YVal,250,150);&lt;br /&gt;    text(yStart, 350, 150);&lt;br /&gt;    text((yStart - YVal), 450, 150);&lt;br /&gt;    text("Z Value: ",100,200);&lt;br /&gt;    text(ZVal,250,200);&lt;br /&gt;    text(zStart, 350, 200);&lt;br /&gt;    text((zStart - ZVal), 450, 200);&lt;br /&gt;    orienatate();&lt;br /&gt;    loopHold = 0;&lt;br /&gt;  }&lt;br /&gt;  loopHold++;&lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34125912-8162767677206662977?l=amcohendigital.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amcohendigital.blogspot.com/feeds/8162767677206662977/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34125912&amp;postID=8162767677206662977' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/8162767677206662977'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/8162767677206662977'/><link rel='alternate' type='text/html' href='http://amcohendigital.blogspot.com/2008/02/orientation-in-3d-program.html' title='Orientation in 3D Program'/><author><name>Aaron M  Cohen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34125912.post-7817734655125230202</id><published>2008-02-16T22:54:00.007-05:00</published><updated>2008-02-16T23:10:24.004-05:00</updated><title type='text'>Orientation in 3D</title><content type='html'>I created the orientation program in 3D.  It was fairly unstable but slightly more accurate when functioning.  Upon researching robotics and vehicle orientation on various websites, the only way to be 100% correct is to use two accelerometers.  This is what the WiiMote uses as well.  As much as I found like this, accelerometers with breakout boards are not cheap. $5 chip on a $25 board.  The tilt switch might be the way to go but the adding latency to the program will also work as well.  Just for experimentation I will try it with a second accelerometer.  This would require me to use a PLC and not just the &lt;a href="http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail?name=XB24-AWI-001-ND" target="_blank"&gt;XBee radio&lt;/a&gt;.  I am going to soon experiment using the XBee radios to use their PWM outputs.  I also have to work on creating a nice low pass filter for sound.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34125912-7817734655125230202?l=amcohendigital.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amcohendigital.blogspot.com/feeds/7817734655125230202/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34125912&amp;postID=7817734655125230202' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/7817734655125230202'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/7817734655125230202'/><link rel='alternate' type='text/html' href='http://amcohendigital.blogspot.com/2008/02/orientation-in-3d.html' title='Orientation in 3D'/><author><name>Aaron M  Cohen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34125912.post-7485338035163949517</id><published>2008-02-16T12:53:00.002-05:00</published><updated>2008-02-16T12:56:54.550-05:00</updated><title type='text'>Orientation</title><content type='html'>I have created an application that draws the a rotating line according to the orientation of my accelerometer.  It works very well on at least the X axis however it is easy to fool by shaking it violently.  This can be corrected by a waiting period, if I am upside down for a certain length of time then I am definitely upside. Self built in latency is not a great thing to have.  Better the accuracy than the latency.  I will try to program the Y axis next to provide more of a stable relationship.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34125912-7485338035163949517?l=amcohendigital.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amcohendigital.blogspot.com/feeds/7485338035163949517/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34125912&amp;postID=7485338035163949517' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/7485338035163949517'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/7485338035163949517'/><link rel='alternate' type='text/html' href='http://amcohendigital.blogspot.com/2008/02/orientation.html' title='Orientation'/><author><name>Aaron M  Cohen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34125912.post-9082097109256118476</id><published>2008-02-15T11:39:00.005-05:00</published><updated>2008-02-15T12:06:23.277-05:00</updated><title type='text'>Accelerometer Experiment</title><content type='html'>Today I set out to find whether or not I could use an accelerometer as a tilt switch.  The less pieces I have in my alchemy vessels the less likely hood of breakdown.  Though tilt switches are hard to break, I would prefer to keep it as simple as possible.  Due to the rather large amount of data and oddities associated with accelerometers I sent out to find whether they could guess orientation well.  The answer is an astounding partially.  The accelerometer that I am using &lt;a href="http://www.sparkfun.com/commerce/product_info.php?products_id=849" target="_blank"&gt;ADXL 322&lt;/a&gt; from &lt;a href="http://www.sparkfun.com" target="_blank"&gt;Sparkfun&lt;/a&gt; could detect when it had almost entirely flipped upside down.  Other orientation was not as consistent as I would have liked.  However luckily for me I just need right side up and upside down orientation.  The X data reads about 340 to 350 when sitting right side up.  When flipped the data reads X as 640 to 650.  While upside down there is about ten point drop in value of Y and Z.  I restricted the data output on the processing end with a simple loop(I am using processing and arduino).  The next step is to write a program the will detect the orientation rather than raw data.  Once that is up I'll try to fool it.&lt;br&gt;&lt;br /&gt;&amp;nbsp;&lt;br&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_P_DAofpOOA0/R7XF0tf_n0I/AAAAAAAAACE/CGoXU7rL9_Y/s1600-h/RawRightSideUp.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://1.bp.blogspot.com/_P_DAofpOOA0/R7XF0tf_n0I/AAAAAAAAACE/CGoXU7rL9_Y/s320/RawRightSideUp.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5167253656835170114" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_P_DAofpOOA0/R7XGEtf_n1I/AAAAAAAAACM/EnGC8zuRtr0/s1600-h/RawUpsideDown.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://1.bp.blogspot.com/_P_DAofpOOA0/R7XGEtf_n1I/AAAAAAAAACM/EnGC8zuRtr0/s320/RawUpsideDown.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5167253931713077074" /&gt;&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&lt;br&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_P_DAofpOOA0/R7XGRdf_n2I/AAAAAAAAACU/vys_T5Hxpdw/s1600-h/Photo+17.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://4.bp.blogspot.com/_P_DAofpOOA0/R7XGRdf_n2I/AAAAAAAAACU/vys_T5Hxpdw/s320/Photo+17.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5167254150756409186" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34125912-9082097109256118476?l=amcohendigital.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amcohendigital.blogspot.com/feeds/9082097109256118476/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34125912&amp;postID=9082097109256118476' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/9082097109256118476'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/9082097109256118476'/><link rel='alternate' type='text/html' href='http://amcohendigital.blogspot.com/2008/02/accelerometer-experiment.html' title='Accelerometer Experiment'/><author><name>Aaron M  Cohen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_P_DAofpOOA0/R7XF0tf_n0I/AAAAAAAAACE/CGoXU7rL9_Y/s72-c/RawRightSideUp.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34125912.post-1451977017409178961</id><published>2008-02-13T22:58:00.002-05:00</published><updated>2008-02-13T23:02:59.718-05:00</updated><title type='text'>Not Motion Capture</title><content type='html'>Kathleen, Dylan, Kevin and I created this project for Real Time/Unreal Space.  This is (un)motion capture data done at Worely Works fed through a MAX patch and using LUA for openGL 3D.  We made it into an interactive installtion more picture and video to follow.&lt;br&gt;&lt;br /&gt;&lt;object height="350" width="425"&gt;&lt;param name="movie" value="http://www.youtube.com/v/ICToiEQYtFA"&gt;&lt;embed src="http://www.youtube.com/v/ICToiEQYtFA" type="application/x-shockwave-flash" height="350" width="425"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34125912-1451977017409178961?l=amcohendigital.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amcohendigital.blogspot.com/feeds/1451977017409178961/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34125912&amp;postID=1451977017409178961' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/1451977017409178961'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/1451977017409178961'/><link rel='alternate' type='text/html' href='http://amcohendigital.blogspot.com/2008/02/not-motion-capture.html' title='Not Motion Capture'/><author><name>Aaron M  Cohen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34125912.post-3636313256673665624</id><published>2008-02-13T14:09:00.002-05:00</published><updated>2008-02-13T14:15:03.710-05:00</updated><title type='text'>Upcomming Projects</title><content type='html'>I need to test this project one thing at a time.  Friday I will use the accelerometer to test movement and possibly orientation.  Though orientation might require a small tilt switch. I might try to make it wireless as well.  I need to order MAX/MSP and try it in that as well.  Next week I will try to get the object off of Arduino Mini and run solely on the XBee radio.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34125912-3636313256673665624?l=amcohendigital.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amcohendigital.blogspot.com/feeds/3636313256673665624/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34125912&amp;postID=3636313256673665624' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/3636313256673665624'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/3636313256673665624'/><link rel='alternate' type='text/html' href='http://amcohendigital.blogspot.com/2008/02/upcomming-projects.html' title='Upcomming Projects'/><author><name>Aaron M  Cohen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34125912.post-7951146527912963612</id><published>2008-02-01T13:48:00.000-05:00</published><updated>2008-02-01T13:53:06.143-05:00</updated><title type='text'>Amazon's Speedy Delivery</title><content type='html'>I ordered two books on Amazon yesterday.  I used there business delivery which stated it would arrive on Wednesday of the next week.  To my great surprise the books arrived today.  Pretty amazing knowing how long they usually take.   So the two books are Tom Igoe's &lt;span style="font-style: italic;"&gt;Making Things Talk&lt;/span&gt; and Bill Moggridge's &lt;span style="font-style: italic;"&gt;Designing Interactions&lt;/span&gt;.  Some good but heavy reading.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34125912-7951146527912963612?l=amcohendigital.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amcohendigital.blogspot.com/feeds/7951146527912963612/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34125912&amp;postID=7951146527912963612' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/7951146527912963612'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/7951146527912963612'/><link rel='alternate' type='text/html' href='http://amcohendigital.blogspot.com/2008/02/amazons-speedy-delivery.html' title='Amazon&apos;s Speedy Delivery'/><author><name>Aaron M  Cohen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34125912.post-344114493792557381</id><published>2008-01-16T09:28:00.001-05:00</published><updated>2008-01-16T09:29:32.102-05:00</updated><title type='text'>The blog for this semester</title><content type='html'>So what to do....This blog will now mostly talk about my thesis project.  As well as a working version of the previous project and other things that come up over the year.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34125912-344114493792557381?l=amcohendigital.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amcohendigital.blogspot.com/feeds/344114493792557381/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34125912&amp;postID=344114493792557381' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/344114493792557381'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/344114493792557381'/><link rel='alternate' type='text/html' href='http://amcohendigital.blogspot.com/2008/01/blog-for-this-semester.html' title='The blog for this semester'/><author><name>Aaron M  Cohen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34125912.post-3226781682150672155</id><published>2007-12-18T10:25:00.000-05:00</published><updated>2007-12-18T10:27:34.956-05:00</updated><title type='text'>A whole ton of Arduino Code</title><content type='html'>#define header 5 //this is the current header&lt;br /&gt;#define header2 6&lt;br /&gt;//Declare Output Pins&lt;br /&gt;int motorPin = 13;&lt;br /&gt;int speakerOut = 12;&lt;br /&gt;//Declare Input Pins&lt;br /&gt;int tablePin = 3;&lt;br /&gt;int sensorPinX = 2;&lt;br /&gt;int sensorPinY = 1;&lt;br /&gt;int sensorPinZ = 0;&lt;br /&gt;//Values for sensosrs&lt;br /&gt;int valX = 0;&lt;br /&gt;int valY = 0;&lt;br /&gt;int valZ = 0;&lt;br /&gt;//values for gesture recognition&lt;br /&gt;int testVal = 111;&lt;br /&gt;//Array to capture data&lt;br /&gt;int newMotion[100];&lt;br /&gt;int swirl[100] = {&lt;br /&gt;511,718,426,512,717,541,513,717,603,513,716,637,513,716,652,&lt;br /&gt;512,716,661,511,717,667,511,717,669,512,717,671,513,717,672,&lt;br /&gt;514,715,673,514,715,674,513,715,674,512,715,674,512,717,674,&lt;br /&gt;513,716,674,514,716,674,514,715,675,514,715,675,514,715,675,&lt;br /&gt;513,715,675,513,716,674,514,716,674,514,716,674,514,715,674,&lt;br /&gt;515,714,674,515,714,674,514,713,674,513,714,674,513,714,673,&lt;br /&gt;514,714,674,515,712,674,514,712,674,513};&lt;br /&gt;int shake[100] = {&lt;br /&gt;507,578,343,504,575,435,502,573,482,506,571,512,508,579,&lt;br /&gt;528,514,585,538,519,585,548,524,595,555,527,591,557,528,&lt;br /&gt;597,560,531,598,562,533,591,562,534,598,564,536,595,560,&lt;br /&gt;539,594,560,542,596,561,542,590,560,542,593,561,542,591,&lt;br /&gt;557,542,586,557,540,587,557,538,582,553,536,581,553,535,&lt;br /&gt;580,551,534,574,547,534,573,546,531,571,543,530,569,540,&lt;br /&gt;528,570,538,527,566,535,526,565,534,524,564,533,522,560,&lt;br /&gt;532,520};&lt;br /&gt;//Booleans to Control Behaviors&lt;br /&gt;boolean swirlGate = false;&lt;br /&gt;boolean shakeGate = false;&lt;br /&gt;boolean chirpGate = true;&lt;br /&gt;// Behavior Control&lt;br /&gt;int loc = 0;&lt;br /&gt;int behav = 0;&lt;br /&gt;int shFactor = 0;&lt;br /&gt;int swFactor = 0;&lt;br /&gt;int randNum = 0;&lt;br /&gt;int maxLoop = 0;&lt;br /&gt;int getByte = -1;&lt;br /&gt;int getByteL = -1;&lt;br /&gt;int getByteB = -1;&lt;br /&gt;int otherLoc = -1;&lt;br /&gt;int otherBehav = -1;&lt;br /&gt;//Xbee Config from Rob Faludi at ITP rob@faldui.com&lt;br /&gt;// a byte to send out data:&lt;br /&gt;char thisByte = 0;&lt;br /&gt;&lt;br /&gt;void setup () {&lt;br /&gt;  pinMode(speakerOut, OUTPUT);&lt;br /&gt;  pinMode(tablePin, INPUT); &lt;br /&gt;  pinMode(sensorPinX, INPUT);&lt;br /&gt;  pinMode(sensorPinY, INPUT);&lt;br /&gt;  pinMode(sensorPinZ, INPUT);&lt;br /&gt;  //open serial&lt;br /&gt;  Serial.begin(9600);&lt;br /&gt;  //code from Rob Fauldi&lt;br /&gt;  // for some reason it seems to help to send an arbitrary character first&lt;br /&gt;  //then pause for the guard time before requesting command mode&lt;br /&gt;  Serial.print("X");&lt;br /&gt;  delay(1100);&lt;br /&gt;  // put the XBee in command mode&lt;br /&gt;  Serial.print("+++");&lt;br /&gt;  delay(1100);&lt;br /&gt;  // wait for a response from the XBee for 2000 ms, or start&lt;br /&gt;  // over with setup if no valid response comes&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;  if (returnedOK() == 'T') {&lt;br /&gt;    // if an OK was received then continue&lt;br /&gt;  }&lt;br /&gt;  else {&lt;br /&gt;    setup(); // otherwise go back and try setup again&lt;br /&gt;  }&lt;br /&gt;  // set the PAN (personal area network) ID number&lt;br /&gt;  // this example uses 0x3330, but you'll want to choose your own&lt;br /&gt;  // unique hexadecimal number between 0x0 and 0xFFFE&lt;br /&gt;  // (note the comma at the end of the command which indicates that&lt;br /&gt; //another command will follow)&lt;br /&gt;  //Serial.print("ATID3330,");&lt;br /&gt;  // set the Destination High to 0x0&lt;br /&gt;  // to select 16 bit addressing mode. These addresses can&lt;br /&gt;  // be assigned and changed by sending commands from a microcontroller&lt;br /&gt;  //Serial.print("DH0,");&lt;br /&gt;  // set the Destination Low (16 bit address)&lt;br /&gt;  // this example uses 0x0 for send and 0x1 for receive but you'll&lt;br /&gt;  // want to choose your own hexadecimal numbers between 0x0 and 0xFFFE&lt;br /&gt;  //Serial.print("DL1,");&lt;br /&gt;  // exit command mode (note that we use Serial.printLN here to issue&lt;br /&gt;  //a linefeed that completes the command sequence)&lt;br /&gt;  //Serial.println("CN");&lt;br /&gt;  // the preceeding commands can also be sent on a single line like this,&lt;br /&gt;  //using a single AT command with commas:&lt;br /&gt;  // Serial.println("ATID3330,DH0,DL1,CN");&lt;br /&gt;  // the preceeding command line could also be sent as separate commands,&lt;br /&gt; //by reissuing the AT command:&lt;br /&gt;  //This part I modified for this project&lt;br /&gt;  Serial.println("ATID3330");&lt;br /&gt;  Serial.println("ATMY1");&lt;br /&gt;  Serial.println("ATDH0");&lt;br /&gt;  Serial.println("ATDLFFFF");&lt;br /&gt;  Serial.println("ATCN");&lt;br /&gt;  //end of modification&lt;br /&gt;  // wait for a response from the XBee for 2000 ms, or start&lt;br /&gt;  // over with setup if no valid response comes&lt;br /&gt;&lt;br /&gt;  if (returnedOK() == 'T') {&lt;br /&gt;    // if an OK was received then continue&lt;br /&gt;  }&lt;br /&gt;  else {&lt;br /&gt;    setup(); // otherwise go back and try setup again&lt;br /&gt;  }&lt;br /&gt;}&lt;br /&gt;//the returnOK function was written by Rob Faludi&lt;br /&gt;char returnedOK () {&lt;br /&gt;  // this function checks the response on the serial port to see if it was an "OK" or not&lt;br /&gt;  char incomingChar[3];&lt;br /&gt;  char okString[] = "OK";&lt;br /&gt;  char result = 'n';&lt;br /&gt;  int startTime = millis();&lt;br /&gt;  while (millis() - startTime &lt; 2000 &amp;amp;&amp;amp; result == 'n') {  // use a timeout of 10 seconds&lt;br /&gt;    if (Serial.available() &gt; 1) {&lt;br /&gt;      // read three incoming bytes which should be "O", "K", and a linefeed:&lt;br /&gt;      for (int i=0; i&lt;3; i++) {&lt;br /&gt;        incomingChar[i] = Serial.read();&lt;br /&gt;      }&lt;br /&gt;      if ( strstr(incomingChar, okString) != NULL ) { // check to see if the respose is "OK"&lt;br /&gt;        //      if (incomingChar[0] == 'O' &amp;amp;&amp;amp; incomingChar[1] == 'K') { // check to see if the first two characters are "OK"&lt;br /&gt;        result = 'T'; // return T if "OK" was the response&lt;br /&gt;      } &lt;br /&gt;      else {&lt;br /&gt;        result = 'F'; // otherwise return F&lt;br /&gt;      }&lt;br /&gt;    }&lt;br /&gt;  }&lt;br /&gt;  return result;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;void recognizeSwirl(){&lt;br /&gt;  for(int z = 0; z &lt; 100; z++){&lt;br /&gt;    //check new array to old&lt;br /&gt;    testVal = abs(newMotion[z] - swirl[z]);&lt;br /&gt;    //Serial.println(testVal);&lt;br /&gt;    if(testVal&lt;65) {&lt;br /&gt;      swirlGate = true;&lt;br /&gt;    }&lt;br /&gt;    else {&lt;br /&gt;      swirlGate = false;&lt;br /&gt;      z = 100;&lt;br /&gt;    }&lt;br /&gt;  }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;void recognizeShake(){&lt;br /&gt;  for(int z = 0; z &lt; 100; z++){&lt;br /&gt;    //check new array to old&lt;br /&gt;    testVal = abs(newMotion[z] - shake[z]);&lt;br /&gt;    //Serial.println(testVal,DEC);&lt;br /&gt;    if(testVal&lt;20) {&lt;br /&gt;      shakeGate = true;&lt;br /&gt;    }&lt;br /&gt;    else {&lt;br /&gt;      swirlGate = false;&lt;br /&gt;      z = 100;&lt;br /&gt;    }&lt;br /&gt;  }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;void chirp(){&lt;br /&gt;  for(int x = 0; x&lt; 5; x++){&lt;br /&gt;    for (int i = 0; i &lt; 20; i++){&lt;br /&gt;      //This sets the frequence f = 1/t or PW = 1/(2*f) time is in microseconds&lt;br /&gt;      digitalWrite(speakerOut,HIGH);&lt;br /&gt;      delayMicroseconds(850);&lt;br /&gt;      digitalWrite(speakerOut,LOW);&lt;br /&gt;      delayMicroseconds(850);&lt;br /&gt;    }&lt;br /&gt;    delay(10);&lt;br /&gt;  }&lt;br /&gt;  delay(30);&lt;br /&gt;  for (int i = 0; i &lt; 10; i++){&lt;br /&gt;    //This sets the frequence f = 1/t or PW = 1/(2*f) time is in microseconds&lt;br /&gt;    digitalWrite(speakerOut,HIGH);&lt;br /&gt;    delayMicroseconds(700);&lt;br /&gt;    digitalWrite(speakerOut,LOW);&lt;br /&gt;    delayMicroseconds(700);&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;void shakeLoop(){&lt;br /&gt;  //This for loop sets the length of the note&lt;br /&gt;  for(int x = 0; x&lt; 3; x++){&lt;br /&gt;    for (int i = 0; i &lt; 225; i++){&lt;br /&gt;      //This sets the frequence f = 1/t or PW = 1/(2*f) time is in microseconds&lt;br /&gt;      digitalWrite(speakerOut,HIGH);&lt;br /&gt;      delayMicroseconds(2000);&lt;br /&gt;      digitalWrite(speakerOut,LOW);&lt;br /&gt;      delayMicroseconds(2000);&lt;br /&gt;&lt;br /&gt;    }&lt;br /&gt;    delay(50);&lt;br /&gt;  }&lt;br /&gt;  delay(30);&lt;br /&gt;  for (int i = 0; i &lt; 100; i++){&lt;br /&gt;    //This sets the frequence f = 1/t or PW = 1/(2*f) time is in microseconds&lt;br /&gt;    digitalWrite(speakerOut,HIGH);&lt;br /&gt;    delayMicroseconds(2500);&lt;br /&gt;    digitalWrite(speakerOut,LOW);&lt;br /&gt;    delayMicroseconds(2500);&lt;br /&gt;  }&lt;br /&gt;  delay(10);&lt;br /&gt;  for (int i = 0; i &lt; 80; i++){&lt;br /&gt;    //This sets the frequence f = 1/t or PW = 1/(2*f) time is in microseconds&lt;br /&gt;    digitalWrite(speakerOut,HIGH);&lt;br /&gt;    delayMicroseconds(900);&lt;br /&gt;    digitalWrite(speakerOut,LOW);&lt;br /&gt;    delayMicroseconds(1500);&lt;br /&gt;  }&lt;br /&gt;  maxLoop++;&lt;br /&gt;  if (maxLoop &gt;= 10){&lt;br /&gt;    behav = 0;&lt;br /&gt;    maxLoop = 0;&lt;br /&gt;  }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;void swirlLoop(){&lt;br /&gt;  //Sound and Vibration&lt;br /&gt;  for(int x = 0; x&lt; 2; x++){&lt;br /&gt;    for (int i = 0; i &lt; 500; i++){&lt;br /&gt;      //This sets the frequence f = 1/t or PW = 1/(2*f) time is in microseconds&lt;br /&gt;      digitalWrite(speakerOut,HIGH);&lt;br /&gt;      delayMicroseconds(400+i);&lt;br /&gt;      digitalWrite(speakerOut,LOW);&lt;br /&gt;      delayMicroseconds(400+i);&lt;br /&gt;    }&lt;br /&gt;    delay(500);&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  maxLoop++;&lt;br /&gt;  if (maxLoop &gt;= 10){&lt;br /&gt;    behav = 0;&lt;br /&gt;    maxLoop = 0;&lt;br /&gt;  }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;int shakeFactor(int A, int B, int L){&lt;br /&gt;  int factor = 0;&lt;br /&gt;  int lfact = 0;&lt;br /&gt;  lfact = abs(loc - L);&lt;br /&gt;  factor = A + 20 - lfact;&lt;br /&gt;  return factor;&lt;br /&gt;  //calculate the shake control factor&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;int swirlFactor(int A,int B, int L){&lt;br /&gt;  int factor = 0;&lt;br /&gt;  int lfact = 0;&lt;br /&gt;  lfact = abs(loc - L);&lt;br /&gt;  factor = A + 40 - lfact;&lt;br /&gt;  return factor;&lt;br /&gt;  //calculate the shake control factor&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;void locate(){&lt;br /&gt;  int tableRead = 0;&lt;br /&gt;  tableRead = analogRead(tablePin);&lt;br /&gt;  if (tableRead&gt;=128 &amp;amp;&amp;amp; tableRead&lt;=130){&lt;br /&gt;    loc = 1;&lt;br /&gt;  }&lt;br /&gt;  else if (tableRead&gt;=1 &amp;amp;&amp;amp; tableRead&lt;=4){&lt;br /&gt;    loc = 2;&lt;br /&gt;  }&lt;br /&gt;  else if (tableRead&gt;=66 &amp;amp;&amp;amp; tableRead&lt;=68){&lt;br /&gt;    loc = 3;&lt;br /&gt;  }&lt;br /&gt;  else if (tableRead&gt;=60 &amp;amp;&amp;amp; tableRead&lt;=62){&lt;br /&gt;    loc = 4;&lt;br /&gt;  }&lt;br /&gt;  else if (tableRead==0){&lt;br /&gt;    loc = 0;&lt;br /&gt;  }&lt;br /&gt;  else {&lt;br /&gt;    locate();&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;void loop () {&lt;br /&gt;  locate();&lt;br /&gt;  Serial.print(header);&lt;br /&gt;  Serial.print(loc,DEC);&lt;br /&gt;  Serial.println(behav,DEC);&lt;br /&gt;  while(loc&gt;0) { //Creature is in the table&lt;br /&gt;    chirpGate = true;&lt;br /&gt;    shFactor = 0;  //sets controls back to zero&lt;br /&gt;    swFactor = 0;  //sets controls back to zero&lt;br /&gt;    //sends out behaviors and location&lt;br /&gt;    locate();&lt;br /&gt;    //Receive Data&lt;br /&gt;    Serial.print(header);&lt;br /&gt;    Serial.print(loc,DEC);&lt;br /&gt;    Serial.println(behav,DEC);&lt;br /&gt;    if (Serial.available() &gt; 1) {&lt;br /&gt;      getByte = Serial.read();&lt;br /&gt;      Serial.println(getByte,DEC);&lt;br /&gt;      if (getByte == 54){&lt;br /&gt;        getByteL = Serial.read();&lt;br /&gt;        getByteB = Serial.read();&lt;br /&gt;        if (getByteL == 49 ){&lt;br /&gt;          otherLoc = 1;&lt;br /&gt;        }&lt;br /&gt;        if (getByteL == 50){&lt;br /&gt;          otherLoc = 2;&lt;br /&gt;        }&lt;br /&gt;        if (getByteL == 51){&lt;br /&gt;          otherLoc = 3;&lt;br /&gt;        }&lt;br /&gt;        if (getByteL == 52){&lt;br /&gt;          otherLoc = 4;&lt;br /&gt;        }&lt;br /&gt;        if (getByteB == 48 ){&lt;br /&gt;          otherBehav = 0;&lt;br /&gt;        }&lt;br /&gt;        if (getByteB == 49){&lt;br /&gt;          otherBehav = 1;&lt;br /&gt;        }&lt;br /&gt;        if (getByteB == 50){&lt;br /&gt;          otherBehav = 2;&lt;br /&gt;        }&lt;br /&gt;      }&lt;br /&gt;    }&lt;br /&gt;    if (otherBehav==1){&lt;br /&gt;      swFactor = swirlFactor(swFactor,otherBehav,otherLoc); //these two functions will calculate a  variable to control the switching of behaviors&lt;br /&gt;    }&lt;br /&gt;    else if (otherBehav==2){&lt;br /&gt;      shFactor = shakeFactor(shFactor,otherBehav,otherLoc); //these two functions will calculate a  variable to control the switching of behaviors&lt;br /&gt;    }   &lt;br /&gt;    if (behav == 0){ //If I am doing nothing&lt;br /&gt;      randNum = random(0,100);&lt;br /&gt;      if (randNum &lt;= shFactor){  //should I be shaking&lt;br /&gt;        behav = 2;&lt;br /&gt;        maxLoop = 0;&lt;br /&gt;        shakeLoop();&lt;br /&gt;      }&lt;br /&gt;      else if (randNum &lt;= swFactor){  //should I be swirling&lt;br /&gt;        behav = 1;&lt;br /&gt;        maxLoop = 0;&lt;br /&gt;        swirlLoop();&lt;br /&gt;      }&lt;br /&gt;      else{&lt;br /&gt;        chirp();  //Default Behavior&lt;br /&gt;        delay(5000);&lt;br /&gt;      }&lt;br /&gt;    }&lt;br /&gt;    if (behav == 2){ //If I am shaking&lt;br /&gt;      randNum = random(0,100);&lt;br /&gt;      if (randNum &lt;= swFactor){&lt;br /&gt;        behav = 1;&lt;br /&gt;        maxLoop = 0;&lt;br /&gt;        swirlLoop();&lt;br /&gt;      }&lt;br /&gt;      else{&lt;br /&gt;        shakeLoop();  //Shake Behavior&lt;br /&gt;        delay(2000); //delay about four seconds&lt;br /&gt;      }&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    if (behav == 1){ //If I am swirling&lt;br /&gt;      randNum = random(0,100);&lt;br /&gt;      if (randNum &lt;= shFactor){&lt;br /&gt;        behav = 2;&lt;br /&gt;        maxLoop = 0;&lt;br /&gt;        shakeLoop();&lt;br /&gt;      }&lt;br /&gt;      else{&lt;br /&gt;        swirlLoop();  //Shake Behavior&lt;br /&gt;        delay(4000); //delay about four seconds&lt;br /&gt;      }&lt;br /&gt;    }&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;  //might not want a while statement here, if maybe??&lt;br /&gt;  while(loc == 0) { //This is when the creature is disconnected from the board&lt;br /&gt;    //Gesture Recognition goes here&lt;br /&gt;    locate();&lt;br /&gt;    if (chirpGate == true) {&lt;br /&gt;      chirp();&lt;br /&gt;      chirp();&lt;br /&gt;      chirpGate = false;&lt;br /&gt;    }&lt;br /&gt;    for(int i=0; i&lt;100; i=i+3) {&lt;br /&gt;      newMotion[i] = analogRead(sensorPinX);&lt;br /&gt;      newMotion[i+1] = analogRead(sensorPinY);&lt;br /&gt;      newMotion[i+2] = analogRead(sensorPinZ);&lt;br /&gt;    }&lt;br /&gt;    recognizeSwirl();&lt;br /&gt;    if (swirlGate == false) {&lt;br /&gt;      recognizeShake();&lt;br /&gt;    }&lt;br /&gt;    if (swirlGate == true) {&lt;br /&gt;      //swirl Behavior&lt;br /&gt;      behav = 1;&lt;br /&gt;      swirlLoop();&lt;br /&gt;      // Serial.println("swirl");&lt;br /&gt;    }&lt;br /&gt;    if (shakeGate == true) {&lt;br /&gt;      //shake Behavior&lt;br /&gt;      behav = 2;&lt;br /&gt;      shakeGate = false;&lt;br /&gt;      shakeLoop();&lt;br /&gt;      //Serial.println("shake");&lt;br /&gt;    }&lt;br /&gt;  }&lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34125912-3226781682150672155?l=amcohendigital.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amcohendigital.blogspot.com/feeds/3226781682150672155/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34125912&amp;postID=3226781682150672155' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/3226781682150672155'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/3226781682150672155'/><link rel='alternate' type='text/html' href='http://amcohendigital.blogspot.com/2007/12/whole-ton-of-arduino-code.html' title='A whole ton of Arduino Code'/><author><name>Aaron M  Cohen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34125912.post-5078545160476321449</id><published>2007-12-13T09:35:00.001-05:00</published><updated>2007-12-13T09:44:12.822-05:00</updated><title type='text'>A cast is born</title><content type='html'>I deleted the code from my blog for it had many errors in it.  The parts worked (the functions) but the whole had issues and mistake I made (copying the wrong files and timing issues).  I will post the currently working code later today after I tweak the data for the resistance located in the board.  All I have left is soldering, one more mold, and painting the table.  The circuit works and the program works.  I will test the zigbee communication later as I have to change the setup because I only have two objects now.  Here is a picture of a casting using Dragon Skin Q.  I will do two more in regular Dragon Skin; they should come out less thick.  If time allows I can fix one done in Dragon Skin Q that was too thin on the top.  I will choose the best two and use those.  I have work and then a final.  Full steam ahead.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_P_DAofpOOA0/R2FFIR7uD7I/AAAAAAAAAB8/gNfgnK6F_zc/s1600-h/Photo+14.jpg"&gt;&lt;img style="cursor: pointer;" src="http://3.bp.blogspot.com/_P_DAofpOOA0/R2FFIR7uD7I/AAAAAAAAAB8/gNfgnK6F_zc/s320/Photo+14.jpg" alt="" id="BLOGGER_PHOTO_ID_5143468257988972466" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34125912-5078545160476321449?l=amcohendigital.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amcohendigital.blogspot.com/feeds/5078545160476321449/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34125912&amp;postID=5078545160476321449' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/5078545160476321449'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/5078545160476321449'/><link rel='alternate' type='text/html' href='http://amcohendigital.blogspot.com/2007/12/cast-is-born.html' title='A cast is born'/><author><name>Aaron M  Cohen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_P_DAofpOOA0/R2FFIR7uD7I/AAAAAAAAAB8/gNfgnK6F_zc/s72-c/Photo+14.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34125912.post-4654900158724459282</id><published>2007-12-07T10:51:00.000-05:00</published><updated>2007-12-07T10:53:47.779-05:00</updated><title type='text'>Mold Redux</title><content type='html'>I needed to recreate the mold.  For ease I cut the clay model in half.  It worked much better.  I will set it in plaster later today.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34125912-4654900158724459282?l=amcohendigital.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amcohendigital.blogspot.com/feeds/4654900158724459282/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34125912&amp;postID=4654900158724459282' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/4654900158724459282'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/4654900158724459282'/><link rel='alternate' type='text/html' href='http://amcohendigital.blogspot.com/2007/12/mold-redux.html' title='Mold Redux'/><author><name>Aaron M  Cohen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34125912.post-1984694955899769905</id><published>2007-12-05T11:58:00.000-05:00</published><updated>2007-12-05T12:02:17.605-05:00</updated><title type='text'>The Program so far</title><content type='html'>I have been programing the arduino.  I have a few things left to do.  One is and most importantly is better understand how to send and receive data through the XBee.  I am having issues with this.  Two build a functioning model so I can input real variables for the table location and the gesture recognition (this will be done this weekend as the table is in NJ).  Three create the actual behaviors instead of having empty functions (this will happen tomorrow).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34125912-1984694955899769905?l=amcohendigital.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amcohendigital.blogspot.com/feeds/1984694955899769905/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34125912&amp;postID=1984694955899769905' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/1984694955899769905'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/1984694955899769905'/><link rel='alternate' type='text/html' href='http://amcohendigital.blogspot.com/2007/12/program-so-far.html' title='The Program so far'/><author><name>Aaron M  Cohen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34125912.post-7193706233067711810</id><published>2007-12-05T10:09:00.000-05:00</published><updated>2007-12-05T10:11:03.925-05:00</updated><title type='text'>Motors Arrive</title><content type='html'>So the motor finally arrived at Pratt.  I am a day behind because I caught the flu and was out with a fever all of yesterday.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34125912-7193706233067711810?l=amcohendigital.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amcohendigital.blogspot.com/feeds/7193706233067711810/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34125912&amp;postID=7193706233067711810' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/7193706233067711810'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/7193706233067711810'/><link rel='alternate' type='text/html' href='http://amcohendigital.blogspot.com/2007/12/motors-arrive.html' title='Motors Arrive'/><author><name>Aaron M  Cohen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34125912.post-3404958477089467156</id><published>2007-12-02T10:53:00.000-05:00</published><updated>2007-12-02T11:02:38.422-05:00</updated><title type='text'>Updates for this week</title><content type='html'>The mold failed for various reasons.  I will make a new mold tonight and tomorrow.  And test it Tuesday or Wednesday.  I persuaded UPS to promise to deliver my package at work on Monday, which are the vibration motors and the last of what I need (the sentence, "This is unacceptable" in an authoritative tone can get you far).  I'll have a breadboard version of the project on Tuesday and a fully working model on Thursday.  After that it is replication four more times and finishing the table.   I am not too worried I just have to work hard.  This is thesis week so... I hope I do well or it's goodbye Pratt.  Thesis will be my life Monday that is why the only thing I will be doing is the mold.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34125912-3404958477089467156?l=amcohendigital.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amcohendigital.blogspot.com/feeds/3404958477089467156/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34125912&amp;postID=3404958477089467156' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/3404958477089467156'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/3404958477089467156'/><link rel='alternate' type='text/html' href='http://amcohendigital.blogspot.com/2007/12/updates-for-this-week.html' title='Updates for this week'/><author><name>Aaron M  Cohen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34125912.post-7346209431241142355</id><published>2007-12-02T10:23:00.000-05:00</published><updated>2007-12-02T10:31:38.397-05:00</updated><title type='text'>Part One of Table</title><content type='html'>Here is the start of the whole operation.&lt;br&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_P_DAofpOOA0/R1LOLuZ0JVI/AAAAAAAAABk/NFqI51zWrqw/s1600-R/Start.JPG"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://3.bp.blogspot.com/_P_DAofpOOA0/R1LOLuZ0JVI/AAAAAAAAABk/aOTx8jLaubs/s320/Start.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5139396825613346130" /&gt;&lt;/a&gt;&lt;br /&gt;I have decided to reduce the number of organisms to five and the number of places to eight.  I will use two full length boards but I have not decide to have them length wise 2'x10' or width 4'x5'.  Each side will have four areas to put the pieces in.&lt;br&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_P_DAofpOOA0/R1LPB-Z0JWI/AAAAAAAAABs/-6aHgKCZHn8/s1600-R/inMediasRes.JPG"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://4.bp.blogspot.com/_P_DAofpOOA0/R1LPB-Z0JWI/AAAAAAAAABs/Zuzkf_JdCtA/s320/inMediasRes.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5139397757621249378" /&gt;&lt;/a&gt;&lt;br&gt;&lt;br /&gt;Somewhere between the picture above and the one below I almost severed my finger.  I saw the knife slip so I moved out of the way and shaved a good deal of skin off.  So this is as far as I got.  I will have to finish the other half and spray paint the board on Saturday.&lt;br&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_P_DAofpOOA0/R1LPluZ0JXI/AAAAAAAAAB0/ff6dYCk8tEs/s1600-R/Done.JPG"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://3.bp.blogspot.com/_P_DAofpOOA0/R1LPluZ0JXI/AAAAAAAAAB0/4GCzJwP-88E/s320/Done.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5139398371801572722" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34125912-7346209431241142355?l=amcohendigital.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amcohendigital.blogspot.com/feeds/7346209431241142355/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34125912&amp;postID=7346209431241142355' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/7346209431241142355'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/7346209431241142355'/><link rel='alternate' type='text/html' href='http://amcohendigital.blogspot.com/2007/12/part-one-of-table.html' title='Part One of Table'/><author><name>Aaron M  Cohen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_P_DAofpOOA0/R1LOLuZ0JVI/AAAAAAAAABk/aOTx8jLaubs/s72-c/Start.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34125912.post-124455956980693980</id><published>2007-12-02T10:21:00.000-05:00</published><updated>2007-12-02T10:33:41.123-05:00</updated><title type='text'>Spray Paint Vs Pink Foam</title><content type='html'>Spray paint one, pink foam nothing.&lt;br /&gt;This is an example of what happens to pink foam when you spray paint it.&lt;br&gt;&lt;br /&gt;PS This smells something awful (and toxic).&lt;br&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_P_DAofpOOA0/R1LN4eZ0JUI/AAAAAAAAABc/uubPhpNP928/s1600-R/IMG_2015.JPG"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://2.bp.blogspot.com/_P_DAofpOOA0/R1LN4eZ0JUI/AAAAAAAAABc/WPb1p92c17Y/s320/IMG_2015.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5139396494900864322" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34125912-124455956980693980?l=amcohendigital.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amcohendigital.blogspot.com/feeds/124455956980693980/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34125912&amp;postID=124455956980693980' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/124455956980693980'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/124455956980693980'/><link rel='alternate' type='text/html' href='http://amcohendigital.blogspot.com/2007/12/spray-paint-vs-pink-foam.html' title='Spray Paint Vs Pink Foam'/><author><name>Aaron M  Cohen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_P_DAofpOOA0/R1LN4eZ0JUI/AAAAAAAAABc/WPb1p92c17Y/s72-c/IMG_2015.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34125912.post-153034256393595983</id><published>2007-11-28T23:03:00.000-05:00</published><updated>2007-11-28T23:12:45.695-05:00</updated><title type='text'>Some more goodish news</title><content type='html'>Switching the RX and the TX and connecting it to the XBee has sort of worked.  I no longer get errors from ZTerm and RX light is on.  I also got the signal down to 3.3 volts by sending it to a 10K resistor then to the XBee from the to ground via two 10K resistors. I found this out &lt;a href="http://mrtof.danslchamp.org/AXIC"&gt;here&lt;/a&gt;.  The only problem is that the XBee is not responding and the terminal just parrots back what I have written.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34125912-153034256393595983?l=amcohendigital.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amcohendigital.blogspot.com/feeds/153034256393595983/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34125912&amp;postID=153034256393595983' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/153034256393595983'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/153034256393595983'/><link rel='alternate' type='text/html' href='http://amcohendigital.blogspot.com/2007/11/some-more-goodish-news.html' title='Some more goodish news'/><author><name>Aaron M  Cohen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34125912.post-4927570233509885266</id><published>2007-11-28T20:29:00.001-05:00</published><updated>2007-11-28T20:52:56.120-05:00</updated><title type='text'>Some good news</title><content type='html'>I switched the TX and the RX on my USB programmer and it started working again.  I have the mini testing voltage through one of the analog pins.  I have to play with the static resistance to get a wider range of readings.  With a 10K resistor many things cap out at 255 and I have one been able to get 4 different readings.  I have many more resistors at my apartment and will play with those tonight.  Hopefully I will have a model done late tonight as well.  I will try the XBee with the switched RX and TX as well.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34125912-4927570233509885266?l=amcohendigital.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amcohendigital.blogspot.com/feeds/4927570233509885266/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34125912&amp;postID=4927570233509885266' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/4927570233509885266'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/4927570233509885266'/><link rel='alternate' type='text/html' href='http://amcohendigital.blogspot.com/2007/11/some-good-news.html' title='Some good news'/><author><name>Aaron M  Cohen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34125912.post-9161971030991888264</id><published>2007-11-27T22:11:00.000-05:00</published><updated>2007-11-27T22:22:27.387-05:00</updated><title type='text'>When It Rains...</title><content type='html'>It doesn't pour, the gates of hell open, fire and brimstone rain from the sky...so the project is going about 6.02*10^23 steps backward.  I think my Arduino Mini USB programmer might have bit the dust as I can no longer communicate to my mini.  I get the Arvdude error and the RX light never lights.  That or my USB Serial drivers are shot.  The mold is not going too well too.  I might have to redo the whole thing.  I am trying to salvage it by sealing one half in plaster pinning the other half and using plaster fabric to temporarily seal it.  This should work according to many people I have asked.  But since everything is failing what is one more thing. If I have to redo it that will not be that bad it is just the time frame shortens.  I will probably have to reduce the number from seven to four.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34125912-9161971030991888264?l=amcohendigital.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amcohendigital.blogspot.com/feeds/9161971030991888264/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34125912&amp;postID=9161971030991888264' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/9161971030991888264'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/9161971030991888264'/><link rel='alternate' type='text/html' href='http://amcohendigital.blogspot.com/2007/11/when-it-rains.html' title='When It Rains...'/><author><name>Aaron M  Cohen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34125912.post-1243768562678197527</id><published>2007-11-25T17:56:00.000-05:00</published><updated>2007-11-25T19:38:04.439-05:00</updated><title type='text'>Behold Mold-zilla!!</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_P_DAofpOOA0/R0oAsDWUmII/AAAAAAAAABU/aNQjRbNOO7Y/s1600-h/Moldzilla.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://1.bp.blogspot.com/_P_DAofpOOA0/R0oAsDWUmII/AAAAAAAAABU/aNQjRbNOO7Y/s320/Moldzilla.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5136919081782646914" /&gt;&lt;/a&gt;&lt;br&gt;&lt;br /&gt;So here is a picture of the mold.  I will have the other half finished tomorrow and the actual cast done on Tuesday.  Tonight I will try to get the XBee working and see how much voltage the Arduino can sense.  In regards to the XBee, as far as I can guess it is a power issue with the Arduino needing to be powered by a 9V adapter and not the USB.  Mainly because the Arduino is not following the laws of physics with the electrical output and what the resistors should change the voltage to (its output is inconsistant from 5V to 1.6V--the Arduino might be broken as well).  I am missing an order because FedEx would not let me change my delivery to a weekend delivery. But it will arrive tomorrow via motherly transport from NJ.&lt;br /&gt;&lt;br /&gt;An update...the arduino I borrowed from the closet does not work correctly if I power it from the 9V adapter.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34125912-1243768562678197527?l=amcohendigital.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amcohendigital.blogspot.com/feeds/1243768562678197527/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34125912&amp;postID=1243768562678197527' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/1243768562678197527'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/1243768562678197527'/><link rel='alternate' type='text/html' href='http://amcohendigital.blogspot.com/2007/11/behold-mold-zilla.html' title='Behold Mold-zilla!!'/><author><name>Aaron M  Cohen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_P_DAofpOOA0/R0oAsDWUmII/AAAAAAAAABU/aNQjRbNOO7Y/s72-c/Moldzilla.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34125912.post-1523087940912990705</id><published>2007-11-22T11:05:00.000-05:00</published><updated>2007-11-22T11:13:56.492-05:00</updated><title type='text'>Xbee Madness</title><content type='html'>My first problem was the XBee received power but its power light was not on.  Then I grounded the second ground rail and the LEDs lit up.  I could not get the Mini programmer to talk to the XBee.  Then Jamie suggested that it was communicating at 5 volts when the XBee understands 3.3 volts. I powered it down using a resistor and a LED but the power was too low (1.7 volts).  I asked around and the problem was the USB mini programmer cannot both power and send messages at 3.3 volts.  I have now connected a standard Arduino to communicate and the Mini Programmer to power it. And...it still does not work.  I played with the baud rate and figured the Xbee was set to 115200 instead of 9600.  Now I get a prompt but I still cannot send.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34125912-1523087940912990705?l=amcohendigital.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amcohendigital.blogspot.com/feeds/1523087940912990705/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34125912&amp;postID=1523087940912990705' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/1523087940912990705'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/1523087940912990705'/><link rel='alternate' type='text/html' href='http://amcohendigital.blogspot.com/2007/11/xbee-madness.html' title='Xbee Madness'/><author><name>Aaron M  Cohen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34125912.post-8089526506059639343</id><published>2007-11-19T14:11:00.000-05:00</published><updated>2007-11-19T14:37:37.977-05:00</updated><title type='text'>Updates</title><content type='html'>I have ordered the accelerometers from Sparkfun.  I need to get 9 to 3 volt voltage regulators and protoboard.  I will get the protoboard tomorrow from my favorite shop in China Town.  In other news I have finished soldering the breakout boards for the Xbees and have gotten one to power up.  Now I need to program it.  The Arduino Mini USB programmer seemed to fail at this.  I will try a standard Arduino.  &lt;br /&gt;&lt;br /&gt;Picture of breakout boards:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_P_DAofpOOA0/R0HikzWUmGI/AAAAAAAAABE/FCRjyX_rAjY/s1600-h/ZigBeeLayout.jpg"&gt;&lt;img style="float:bottom; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://3.bp.blogspot.com/_P_DAofpOOA0/R0HikzWUmGI/AAAAAAAAABE/FCRjyX_rAjY/s320/ZigBeeLayout.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5134634172066076770" /&gt;&lt;/a&gt;&lt;br /&gt;Yes, Yes that is 5 Xbees in a container...and now we can geek out more with 16 ARDUINO MINIS IN ONE CONTAINER: (nice packaging Sparkfun)&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_P_DAofpOOA0/R0HjJjWUmHI/AAAAAAAAABM/_5T67h8CKRI/s1600-h/Photo+12.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://2.bp.blogspot.com/_P_DAofpOOA0/R0HjJjWUmHI/AAAAAAAAABM/_5T67h8CKRI/s320/Photo+12.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5134634803426269298" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34125912-8089526506059639343?l=amcohendigital.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amcohendigital.blogspot.com/feeds/8089526506059639343/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34125912&amp;postID=8089526506059639343' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/8089526506059639343'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/8089526506059639343'/><link rel='alternate' type='text/html' href='http://amcohendigital.blogspot.com/2007/11/updates.html' title='Updates'/><author><name>Aaron M  Cohen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_P_DAofpOOA0/R0HikzWUmGI/AAAAAAAAABE/FCRjyX_rAjY/s72-c/ZigBeeLayout.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34125912.post-1873203230689562253</id><published>2007-11-14T11:51:00.000-05:00</published><updated>2007-11-14T12:07:59.765-05:00</updated><title type='text'>Hopes, Concerns, Etc.</title><content type='html'>I have little worries about the programing and putting the electronics together (just hope everything come in on Friday).  My current concern is with the mold which Steve will help me with.  My main concern is with the location detection.  I heard from one person that conductive foam does not conduct very well.  Also creating the correct apparatus to connect the creature to the table and detect location is still not solid enough.  Also still searching for coin/pancake vibration motors....&lt;br /&gt;&lt;br /&gt;Note I just checked UPS, my JAMECO package will be stuck in NJ for several days.  It is currently in NJ and will not arrive till Tuesday.  I will call them and see if they could speed things up.  Also Sparkfun lately has not sent me tracking numbers but the order should arrive tomorrow or Friday.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34125912-1873203230689562253?l=amcohendigital.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amcohendigital.blogspot.com/feeds/1873203230689562253/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34125912&amp;postID=1873203230689562253' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/1873203230689562253'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/1873203230689562253'/><link rel='alternate' type='text/html' href='http://amcohendigital.blogspot.com/2007/11/hopes-concerns-etc.html' title='Hopes, Concerns, Etc.'/><author><name>Aaron M  Cohen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34125912.post-4657232021427046217</id><published>2007-11-14T11:41:00.000-05:00</published><updated>2007-11-14T11:47:49.376-05:00</updated><title type='text'>Theoretical Program</title><content type='html'>See if I am connected to the table&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Send out my location and current behavior.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Receive Data from others.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;How many are doing want behavior?&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;How far away am I?&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Adjust variable accordingly&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;If I am connected am I doing anything?&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If I am not doing anything, see if I am influenced to do something,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If I am then do it.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Else every now and then beep and vibrate&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;If I am doing something see if I should be doing something else.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If I should be then switch&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Else continue my current Behavior&lt;br /&gt;&amp;nbsp&lt;br&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;If I get disconnected from the table  &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Stop Behavior, vibrate nicely,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Detect a gesture&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Apply a new behavior.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34125912-4657232021427046217?l=amcohendigital.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amcohendigital.blogspot.com/feeds/4657232021427046217/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34125912&amp;postID=4657232021427046217' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/4657232021427046217'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/4657232021427046217'/><link rel='alternate' type='text/html' href='http://amcohendigital.blogspot.com/2007/11/theoretical-program.html' title='Theoretical Program'/><author><name>Aaron M  Cohen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34125912.post-4685981749792973464</id><published>2007-11-13T20:14:00.000-05:00</published><updated>2007-11-13T20:16:25.053-05:00</updated><title type='text'>Foam is In</title><content type='html'>The conductive foam came in.  The sample is TINY but long!!  I need to experiment with it and see if it works.  Then I can order a larger one.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34125912-4685981749792973464?l=amcohendigital.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amcohendigital.blogspot.com/feeds/4685981749792973464/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34125912&amp;postID=4685981749792973464' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/4685981749792973464'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/4685981749792973464'/><link rel='alternate' type='text/html' href='http://amcohendigital.blogspot.com/2007/11/foam-is-in.html' title='Foam is In'/><author><name>Aaron M  Cohen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34125912.post-8226846532690756870</id><published>2007-11-13T16:12:00.000-05:00</published><updated>2007-11-13T16:28:26.567-05:00</updated><title type='text'>Orders Away</title><content type='html'>Here is what I have ordered and bought so far:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;Molding and Casting materials from The Compleat Sculpture&lt;br /&gt;&lt;li&gt;I will use Dragon Skin Q for the mold.&lt;br /&gt;&lt;br&gt;&lt;br /&gt;From Sparkfun&lt;br /&gt;&lt;li&gt;Breakout boards for the ZigBee&lt;br /&gt;&lt;li&gt;Arduino Minis&lt;br /&gt;&lt;br&gt;&lt;br /&gt;From DigiKey&lt;br /&gt;&lt;li&gt;ZigBee Series 1 (did not order from maxstream for they never called me back)&lt;br /&gt;&lt;li&gt;9V Battery Leads&lt;br /&gt;&lt;br&gt;&lt;br /&gt;From Jameco&lt;br /&gt;&lt;li&gt;Solderless Breadboards&lt;br /&gt;&lt;li&gt;Piezo Speakers (I have some small headphone speakers to play with as well)&lt;br /&gt;&lt;br&gt;&lt;br /&gt;Still needed:&lt;br /&gt;&lt;li&gt;Coin Vibration Motors, these are oddly hard to find&lt;br /&gt;&lt;li&gt;Accelerometers, I am looking for a better way than spending $40 a piece.&lt;br /&gt;&lt;li&gt;Gloves, Lacquer thinner, spray paint, Pink Foam.  These I will get from Home Depot. (luckily down the street from me)&lt;br /&gt;&lt;li&gt;9V LI Batteries (Radio Shack)&lt;br /&gt;&lt;br&gt;&lt;br /&gt;Still Waiting for:&lt;br /&gt;&lt;li&gt;I am still waiting for the conductive foam.  However I heard it is not that good from someone so I am looking into another way.&lt;br /&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34125912-8226846532690756870?l=amcohendigital.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amcohendigital.blogspot.com/feeds/8226846532690756870/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34125912&amp;postID=8226846532690756870' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/8226846532690756870'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/8226846532690756870'/><link rel='alternate' type='text/html' href='http://amcohendigital.blogspot.com/2007/11/orders-away.html' title='Orders Away'/><author><name>Aaron M  Cohen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34125912.post-5036128052200547424</id><published>2007-11-08T10:38:00.000-05:00</published><updated>2007-11-08T11:07:33.783-05:00</updated><title type='text'>Readings 5</title><content type='html'>"Androids as an Experimental Apparatus:  Why is There an Uncanny Valley and Can We Exploit It?"&lt;br /&gt;by Karl F. MacDorman&lt;br /&gt;&lt;br /&gt;Oddly a few weeks ago in my Real Time/ Unreal Space class we were talking about the Uncanny Valley.  No one brought up the subject of death.  We were also talking about 3D modeling and not robots.  However that in of itself gives little validity to the experiment.  I did not like the experiment they ran.  To say that a series of pictures changes a test subjects view is a lofty and conceited thing to say.  Yes images do guide us to different opinions but to say that these people chose the speech because of an unconscious fear of death because another studies said they would prefer that speech is off.  The correlation is off.  A does not equal B, it might be an interesting relation but it is not an equal one.  The whole experiment seemed to well guided as it set up the answers it wanted to hear.  There are a lot of factors in the uncanny valley and to list it to one is preposterous.  Death is a factor for some people as seen in the interviews but is it a major factor probably not.  However the uncanny valley is something that most artists must deal with.  Hollywood for some reason is embracing it with movies like Sky Captain and Beowulf.  I think it is a poor choice but that is my aesthetic opinion.  In robotics and some forms of 3D this is a problem.  I like the idea of making the obviously unreal real like Chico MacMurtrie's work.  &lt;br /&gt;&lt;br /&gt;"Interactive Theatre"&lt;br /&gt;by Cynthia Breazeal and crew&lt;br /&gt;&lt;br /&gt;First off I like the way they spelled theatre.  Also the comments from unnamed folks in our department would say about this..."robots are not art."  I agree that the key to social interaction in general (not just robots) is moving away from standard input devices.  You can see this with my fascination with gesture recognition.  The fact that things must communicate in a way we can understand with avoiding the uncanny valley is very important to design.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34125912-5036128052200547424?l=amcohendigital.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amcohendigital.blogspot.com/feeds/5036128052200547424/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34125912&amp;postID=5036128052200547424' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/5036128052200547424'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/5036128052200547424'/><link rel='alternate' type='text/html' href='http://amcohendigital.blogspot.com/2007/11/readings-5.html' title='Readings 5'/><author><name>Aaron M  Cohen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34125912.post-4962125000157445824</id><published>2007-11-08T09:59:00.000-05:00</published><updated>2007-11-08T10:11:36.962-05:00</updated><title type='text'>Orders and Models</title><content type='html'>I finally found some sulfur free plasticine and started to create my model.  I need to buy some more for the legs of the creature.  I will order most of my other materials tomorrow as it is payday.  The Arduino minis for me and the class should arrive tomorrow.  I plan to create the behaviors for the gestures by next week and incorporate them into one of the models.  After that comes creating the table (not too worried about that), linking them, and making them social (this I am slightly worried about).  If all goes well I should be finishing up the last week in November.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34125912-4962125000157445824?l=amcohendigital.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amcohendigital.blogspot.com/feeds/4962125000157445824/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34125912&amp;postID=4962125000157445824' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/4962125000157445824'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/4962125000157445824'/><link rel='alternate' type='text/html' href='http://amcohendigital.blogspot.com/2007/11/orders-and-models.html' title='Orders and Models'/><author><name>Aaron M  Cohen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34125912.post-7811355015831219515</id><published>2007-10-30T07:34:00.000-04:00</published><updated>2007-10-30T07:38:56.231-04:00</updated><title type='text'>Old Picture</title><content type='html'>We had an assignment in the beginning of the semester to chose an object we found aesthetically pleasing.  I chose a chandelier that was my great grandfather's.&lt;br /&gt;&lt;br /&gt;So a while ago I was supposed to post these:&lt;br&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_P_DAofpOOA0/RycW7MRqFmI/AAAAAAAAAAs/cAtbpbbOfdo/s1600-h/FrontChandelier.JPG"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://4.bp.blogspot.com/_P_DAofpOOA0/RycW7MRqFmI/AAAAAAAAAAs/cAtbpbbOfdo/s320/FrontChandelier.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5127091906947978850" /&gt;&lt;/a&gt;&lt;br&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_P_DAofpOOA0/RycXGcRqFnI/AAAAAAAAAA0/ORRODQUBcQ0/s1600-h/SideChandelier.JPG"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://1.bp.blogspot.com/_P_DAofpOOA0/RycXGcRqFnI/AAAAAAAAAA0/ORRODQUBcQ0/s320/SideChandelier.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5127092100221507186" /&gt;&lt;/a&gt;&lt;br&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_P_DAofpOOA0/RycXN8RqFoI/AAAAAAAAAA8/ZxR_k9R4sac/s1600-h/BackChandelier.JPG"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://3.bp.blogspot.com/_P_DAofpOOA0/RycXN8RqFoI/AAAAAAAAAA8/ZxR_k9R4sac/s320/BackChandelier.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5127092229070526082" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34125912-7811355015831219515?l=amcohendigital.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amcohendigital.blogspot.com/feeds/7811355015831219515/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34125912&amp;postID=7811355015831219515' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/7811355015831219515'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/7811355015831219515'/><link rel='alternate' type='text/html' href='http://amcohendigital.blogspot.com/2007/10/old-picture.html' title='Old Picture'/><author><name>Aaron M  Cohen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_P_DAofpOOA0/RycW7MRqFmI/AAAAAAAAAAs/cAtbpbbOfdo/s72-c/FrontChandelier.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34125912.post-2678114905675132157</id><published>2007-10-30T07:28:00.001-04:00</published><updated>2007-10-30T11:00:30.585-04:00</updated><title type='text'>Project Status Update</title><content type='html'>I have a final design.   Post to come next week as this week I present my thesis in front of the thesis committee.  I might switch to surface mount accelerometers as they are about $5 a piece versus $30.  I am still researching what kind of silicon to use. It will probably cost about $50. To describe the shape it is like a boardgame piece (think Sorry) with tendrils on the bottom.  We (other in the class and I) are looking into getting several Arduino Minis.  Currently Sparkfun has too few.  Hopefully things will be ordered this week and the model will be finished by next week so I can start casting.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34125912-2678114905675132157?l=amcohendigital.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amcohendigital.blogspot.com/feeds/2678114905675132157/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34125912&amp;postID=2678114905675132157' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/2678114905675132157'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/2678114905675132157'/><link rel='alternate' type='text/html' href='http://amcohendigital.blogspot.com/2007/10/project-status-update.html' title='Project Status Update'/><author><name>Aaron M  Cohen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34125912.post-3302093391424254871</id><published>2007-10-18T13:36:00.000-04:00</published><updated>2007-10-19T14:18:19.627-04:00</updated><title type='text'>Budget</title><content type='html'>Here is a preliminary budget for my final project:&lt;br /&gt;&lt;br /&gt;6x Arduino Minis $37.95 each Total: $227.70  www.sparkfun.com&lt;br /&gt;8x XBee Module: $19.00 each Total: $152.00 www.maxstream.net&lt;br /&gt;6x Accelerometers $29.95 each Total: $179.70  www.spakrfun.comn&lt;br /&gt;7x Vibration Motors: around $1 each $7.00 &lt;br /&gt;7x Small Speakers: $??  I could get these from scrap so I am keeping it as free for now.&lt;br /&gt;6x Breadboards $5.49 each $32.94 Jameco&lt;br /&gt;&lt;br /&gt;Casting Material: $100&lt;br /&gt;Table and Decorations: $100&lt;br /&gt;&lt;br /&gt;Grand Total: $799.34 + cost of batteries&lt;br /&gt;&lt;br /&gt;I can reuse the materials for my thesis.  But OUCH!!!&lt;br /&gt;I save about $45 if I can be most of the orders to 10+.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34125912-3302093391424254871?l=amcohendigital.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amcohendigital.blogspot.com/feeds/3302093391424254871/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34125912&amp;postID=3302093391424254871' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/3302093391424254871'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/3302093391424254871'/><link rel='alternate' type='text/html' href='http://amcohendigital.blogspot.com/2007/10/budget.html' title='Budget'/><author><name>Aaron M  Cohen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34125912.post-2564278972638261159</id><published>2007-10-18T09:45:00.000-04:00</published><updated>2007-10-18T11:37:15.287-04:00</updated><title type='text'>Readings 4</title><content type='html'>The Locative Commons: Situating Locations-Based Media in Urban Public Space&lt;br /&gt;by Marc Tuters&lt;br /&gt;&lt;br /&gt;I am kind of at a loss of this article.  It makes rapid jumps in logic that I get but could be better explained by the author then just referencing other people.  The part about virtual cities I have one problem with...though it is a created virtual city made by people over a network it still has some bounds (Jaron Lanier has many article explaining how this is not quite VR).  It is still bound by the program the people are using which is not what the original philosophers of this idea had in mind.  The ideas of connectivity I have always found interesting (especially that I like to not be connected all the time).  I had never heard the cellphone groups being equated to flocking behaviors before.  The behaviors developed by this constant connectivity I find fascinating.  I think its odd the society adapts the technology faster and better than the authorities (though we adapt pretty poorly in most cases but still fast).&lt;br /&gt;&lt;br /&gt;Resonance and Everyday Life: Ubiquitous Computing and the City&lt;br /&gt;by Anne Galloway&lt;br /&gt;Paradigm shifts in computing have interested in since my days in high school.  I had not heard of the term Ubicomp.  The fact that Xerox is against VR goes against what many people saw as the future of computing.  I was discussing the article with a programmer friend while reading it and oddly our conversation followed the authors ideas, though we were using different examples.  The hybrid theory reminds me of Jamie Allen and Rob O'Niels box project, where a box would turn in reality and turn in MAYA as well.  The Amble Time project reminded by if the Reality Dysfunction series by Peter Hamilton where people had nanocomputers in their brain displaying their options and letting them chose the best one.  Also the mind collective of the Edenist in the book where people can record their memories and then later others could access them.  I agree that the idea of ubiquitous computing currently lends itself to cell phone technology.  I would be curious and hopeful to see in leave the cell phone world into something better (not that the current practices and art are bad, they are good).  I do agree also about the integration of technology causing societal and social issues. This stems much farther than just surveillance, though most people do not know how easy it is to spy of someone through the stuff they own.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34125912-2564278972638261159?l=amcohendigital.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amcohendigital.blogspot.com/feeds/2564278972638261159/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34125912&amp;postID=2564278972638261159' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/2564278972638261159'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/2564278972638261159'/><link rel='alternate' type='text/html' href='http://amcohendigital.blogspot.com/2007/10/readings-4.html' title='Readings 4'/><author><name>Aaron M  Cohen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34125912.post-3199463031903104530</id><published>2007-10-10T11:38:00.000-04:00</published><updated>2007-10-10T14:15:28.678-04:00</updated><title type='text'>Vis Part Two</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_P_DAofpOOA0/Rw0WdsfaHfI/AAAAAAAAAAk/NjUkSn3-Tso/s1600-h/Lsys2.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://4.bp.blogspot.com/_P_DAofpOOA0/Rw0WdsfaHfI/AAAAAAAAAAk/NjUkSn3-Tso/s320/Lsys2.jpg" border="0" alt="L-System" id="BLOGGER_PHOTO_ID_5119773050805034482" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;And now for the Processing Code:&lt;br /&gt;&lt;br /&gt;Code taken from class examples and modified slightly, a thank you to Liubo Borissov for the code.&lt;br /&gt;&lt;br /&gt;/*&lt;br /&gt;    L-Systems are a great simulation to explore, as there is a near infinite&lt;br /&gt;    variety of images you can generate. In this example we calculate the L-System&lt;br /&gt;    when we start our applet, and then alter the angle used to draw the system&lt;br /&gt;    in the draw() method. We could just as well work with other parameters in&lt;br /&gt;    the draw method.&lt;br /&gt;*/&lt;br /&gt;import processing.serial.*;&lt;br /&gt;&lt;br /&gt;LSystem ls;&lt;br /&gt;Serial myPort;&lt;br /&gt;int inByte = -1;&lt;br /&gt; int dataByteLSB = -1;     // Variable to hold keystoke values&lt;br /&gt; int dataByteMSB = -1;     // Variable to hold keystoke values&lt;br /&gt; int dataByte = -1;     // Variable to hold keystoke values&lt;br /&gt; int headerByte = 224;  &lt;br /&gt;&lt;br /&gt;void setup() {&lt;br /&gt;&lt;br /&gt;    // setup the environment&lt;br /&gt;    size(500, 500);&lt;br /&gt;    background(0);&lt;br /&gt;    smooth();&lt;br /&gt;&lt;br /&gt;    // setup the L-System&lt;br /&gt;    // ls = new LSystem("F", "FF-[-F+F+F]+[+F-F-F]");&lt;br /&gt;    ls = new LSystem("F", "CF[+F][--F]F[-F][++F]F");&lt;br /&gt;    &lt;br /&gt;    &lt;br /&gt;    // Age the L-System four generations&lt;br /&gt;    ls.simulate(4);&lt;br /&gt;    myPort = new Serial(this, Serial.list()[0], 9600);       &lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;void serialEvent() {&lt;br /&gt;    // setup the drawing area&lt;br /&gt;&lt;br /&gt;    &lt;br /&gt;    // set the angle for our L-System and draw it&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;void draw() {&lt;br /&gt;   // If there are bytes available in the input buffer,&lt;br /&gt;   // Read them and print them:&lt;br /&gt;   while (myPort.available() &gt; 0) {&lt;br /&gt;     inByte = myPort.read();&lt;br /&gt;     // println(getByte);&lt;br /&gt;&lt;br /&gt;     if (inByte == headerByte) {&lt;br /&gt;        dataByteLSB = myPort.read();  //get LSB&lt;br /&gt;        dataByteMSB = myPort.read();  //get MSB       &lt;br /&gt;        //println(dataByteLSB);    &lt;br /&gt;        //println(dataByteMSB);    &lt;br /&gt;     }&lt;br /&gt;&lt;br /&gt;   // These two lines 'reconstruct' the data &lt;br /&gt;   // into a 0-1023 number &lt;br /&gt;   dataByte = dataByteMSB &lt;&lt; 7;&lt;br /&gt;   dataByte = dataByte + dataByteLSB;&lt;br /&gt;  &lt;br /&gt;   }&lt;br /&gt;   &lt;br /&gt;   if (dataByte &gt;= 0) {&lt;br /&gt;    background(0);&lt;br /&gt;    stroke(255);&lt;br /&gt;   &lt;br /&gt;       float theta = ((dataByte/2) / (float)width) * 180.0f;&lt;br /&gt;           ls.useTheta(theta);&lt;br /&gt;    ls.render();&lt;br /&gt;   }     &lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;The Class is as follows:&lt;br /&gt;&lt;br /&gt;/*&lt;br /&gt;&lt;br /&gt;    The LSystem class contains all of the algorithms necessary to&lt;br /&gt;    create, iterate, and draw Fractal L-Systems. The theory behind&lt;br /&gt;    an L-System is based upon a simple grammar that tells the system&lt;br /&gt;    how to draw itself. The grammar is made up of 5 characters:&lt;br /&gt;    &lt;br /&gt;      F : draw a line forward by a define length&lt;br /&gt;      + : rotate in the positive direction by a defined angle&lt;br /&gt;      - : rotate in the negative direction by a defined angle&lt;br /&gt;      [ : store our current position&lt;br /&gt;      ] : retrieve the previous position&lt;br /&gt;      &lt;br /&gt;      Each L-System will start with an Axiom and a Rule, the Axiom is&lt;br /&gt;      the starting condition (typically just "F"), and the Rule is a&lt;br /&gt;      substitution applied at each step. A simple rule might be:&lt;br /&gt;      "F[+F--F]+F"&lt;br /&gt;      &lt;br /&gt;      For each iteration of the fractal, every occurance of the letter&lt;br /&gt;      "F" is replaced with the Rule. So when we begin, the Fractal is&lt;br /&gt;      defined by it's axiom:&lt;br /&gt;      &lt;br /&gt;      1: F&lt;br /&gt;      &lt;br /&gt;      At the second iteration we apply the rule:&lt;br /&gt;      &lt;br /&gt;      2: F[+F--F]+F&lt;br /&gt;      &lt;br /&gt;      At the third iteration we apply the rule again, replacing every occurance of&lt;br /&gt;      F with the rule:&lt;br /&gt;      &lt;br /&gt;      3: F[+F--F]+F[+F[+F--F]+F--F[+F--F]+F]+F[+F--F]+F&lt;br /&gt;      &lt;br /&gt;      We can repeat this pattern as often as desired. At each iteration we shorten the&lt;br /&gt;      length of the line segment drawn by any occurance of F.&lt;br /&gt;*/&lt;br /&gt;&lt;br /&gt;public class LSystem {&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;    private String axiom;&lt;br /&gt;    private String rule;&lt;br /&gt;    private String production;&lt;br /&gt;    &lt;br /&gt;    private float startLength;&lt;br /&gt;    private float drawLength;&lt;br /&gt;    private float theta;&lt;br /&gt;    &lt;br /&gt;    private int generations;&lt;br /&gt;    &lt;br /&gt;    public LSystem() {&lt;br /&gt;    &lt;br /&gt;        // create default values&lt;br /&gt;        axiom = "F";&lt;br /&gt;        rule = "F+F--F+F";&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;        startLength = 40.0f;&lt;br /&gt;        theta = radians(60.0);&lt;br /&gt;        &lt;br /&gt;        reset();&lt;br /&gt;    }&lt;br /&gt;    &lt;br /&gt;    public LSystem(String axiom_, String rule_) {&lt;br /&gt;    &lt;br /&gt;        // save the values&lt;br /&gt;        axiom = axiom_;&lt;br /&gt;        rule = rule_;&lt;br /&gt;        &lt;br /&gt;        startLength = 80.0f;&lt;br /&gt;        theta = radians(60.0);&lt;br /&gt;        &lt;br /&gt;        reset();&lt;br /&gt;    }&lt;br /&gt;    &lt;br /&gt;    public void useRule(String r_) {&lt;br /&gt;    &lt;br /&gt;        rule = r_;&lt;br /&gt;    }&lt;br /&gt;    &lt;br /&gt;    public void useAxiom(String a_) {&lt;br /&gt;    &lt;br /&gt;        axiom = a_;&lt;br /&gt;    }&lt;br /&gt;    &lt;br /&gt;    public void useLength(float l_) {&lt;br /&gt;    &lt;br /&gt;        startLength = l_;&lt;br /&gt;    }&lt;br /&gt;    &lt;br /&gt;    public void useTheta(float t_) {&lt;br /&gt;        theta = radians(t_);&lt;br /&gt;    }&lt;br /&gt;    &lt;br /&gt;    public void reset() {&lt;br /&gt;    &lt;br /&gt;        production = axiom;&lt;br /&gt;        drawLength = startLength;&lt;br /&gt;        generations = 0;&lt;br /&gt;    }&lt;br /&gt;    &lt;br /&gt;    public int getAge() {&lt;br /&gt;    &lt;br /&gt;        return generations;&lt;br /&gt;    &lt;br /&gt;    }&lt;br /&gt;    &lt;br /&gt;    /*&lt;br /&gt;        We need to create a simple drawing system that walks through our&lt;br /&gt;        production (the current state of our LSystem) and follows the rules&lt;br /&gt;        provided to draw the system.&lt;br /&gt;    */&lt;br /&gt;    public void render() {&lt;br /&gt;    &lt;br /&gt;        // start at the bottom center of the screen&lt;br /&gt;        translate(width / 2, height);&lt;br /&gt;          &lt;br /&gt;        for (int i = 0; i &lt; production.length(); i++) {&lt;br /&gt;        &lt;br /&gt;            char step = production.charAt(i);&lt;br /&gt;            &lt;br /&gt;            if (step == 'F') {&lt;br /&gt;            &lt;br /&gt;                // draw a line&lt;br /&gt;                line(0, 0, 0, -drawLength);&lt;br /&gt;                &lt;br /&gt;                // move to the end of the line&lt;br /&gt;                translate(0, -drawLength);&lt;br /&gt;                &lt;br /&gt;            } else if (step == '+') {&lt;br /&gt;            &lt;br /&gt;                // rotate&lt;br /&gt;                rotate(theta);&lt;br /&gt;                &lt;br /&gt;            } else if (step == '-') {&lt;br /&gt;            &lt;br /&gt;                // rotate&lt;br /&gt;                rotate(-theta);&lt;br /&gt;                &lt;br /&gt;            } else if (step == '[') {&lt;br /&gt;            &lt;br /&gt;                // save our position&lt;br /&gt;                pushMatrix();&lt;br /&gt;                &lt;br /&gt;            } else if (step == ']') {&lt;br /&gt;            &lt;br /&gt;                // reset our position&lt;br /&gt;                popMatrix();&lt;br /&gt;                &lt;br /&gt;            }&lt;br /&gt;            else if (step == 'C'){&lt;br /&gt;              strokeWeight(constrain(100/(i+1)+1,1,10));&lt;br /&gt;               stroke(color(100,255,0));&lt;br /&gt;            }&lt;br /&gt;            else if (step == 'L'){&lt;br /&gt;              pushMatrix();&lt;br /&gt;              translate(drawLength/3,0);&lt;br /&gt;              fill(200,40,40,10);&lt;br /&gt;              ellipse(0,0,constrain(i,1,5),i/60);&lt;br /&gt;              popMatrix();&lt;br /&gt;            }&lt;br /&gt;              &lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;    &lt;br /&gt;    /*&lt;br /&gt;        Our basic simulate method is a little different,&lt;br /&gt;        it will age our LSystem by one generation, leaving&lt;br /&gt;        the rendering part for us to call later&lt;br /&gt;    */&lt;br /&gt;    public void simulate() {&lt;br /&gt;    &lt;br /&gt;        production = iterate(production, rule);&lt;br /&gt;        &lt;br /&gt;    }&lt;br /&gt;    &lt;br /&gt;    /*&lt;br /&gt;    &lt;br /&gt;        For conveinience we have a second simulate method that&lt;br /&gt;        lets us specify what age we want to simulate our LSystem&lt;br /&gt;        up too.&lt;br /&gt;    */&lt;br /&gt;    public void simulate(int gen) {&lt;br /&gt;    &lt;br /&gt;        while (getAge() &lt; gen) {&lt;br /&gt;            production = iterate(production, rule);&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;    &lt;br /&gt;    /*&lt;br /&gt;    &lt;br /&gt;        It is up to our iterate method to update the production (text) of&lt;br /&gt;        the LSystem, as well as the drawLength and age&lt;br /&gt;    */&lt;br /&gt;    private String iterate(String prod_, String rule_) {&lt;br /&gt;    &lt;br /&gt;          // update our drawing size&lt;br /&gt;          drawLength = drawLength * 0.6;&lt;br /&gt;          &lt;br /&gt;          // update our generations&lt;br /&gt;          generations++;&lt;br /&gt;          &lt;br /&gt;          // run the iteration&lt;br /&gt;          String newProduction = prod_;          &lt;br /&gt;          newProduction = newProduction.replaceAll("F", rule_);&lt;br /&gt;          &lt;br /&gt;          return newProduction;&lt;br /&gt;    }&lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34125912-3199463031903104530?l=amcohendigital.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amcohendigital.blogspot.com/feeds/3199463031903104530/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34125912&amp;postID=3199463031903104530' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/3199463031903104530'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/3199463031903104530'/><link rel='alternate' type='text/html' href='http://amcohendigital.blogspot.com/2007/10/vis-part-two.html' title='Vis Part Two'/><author><name>Aaron M  Cohen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_P_DAofpOOA0/Rw0WdsfaHfI/AAAAAAAAAAk/NjUkSn3-Tso/s72-c/Lsys2.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34125912.post-8529374972483524419</id><published>2007-10-10T11:30:00.000-04:00</published><updated>2007-10-10T11:42:29.848-04:00</updated><title type='text'>Vis</title><content type='html'>A visualization exercise:&lt;br /&gt;&lt;br /&gt;I used a potentiometer to change the angles of an L-system.   &lt;br /&gt;&lt;br /&gt;Arduino Code as Follows: (uses pitch bend technique, partially copied from class examples, thank you Jamie Allen for the code)&lt;br /&gt;&lt;br /&gt;#define header 224&lt;br /&gt;&lt;br /&gt;int potPin = 0; // select the input pin for the potentiometer&lt;br /&gt;int ledPin = 13; // select the pin for the LED&lt;br /&gt;int val = 0; // variable to store the value coming from the sensor&lt;br /&gt;int accVal = 0; // accumulation of a sum for averaging&lt;br /&gt;int avg = 0; // average result&lt;br /&gt;int howManyToAverage = 5; //number of individual values to average&lt;br /&gt;int analogValLSB = 0;  //least significant bit&lt;br /&gt;int analogValMSB = 0;  //most significant bit&lt;br /&gt;&lt;br /&gt;void setup() {&lt;br /&gt;     pinMode(ledPin, OUTPUT); // declare the ledPin as an OUTPUT&lt;br /&gt;     Serial.begin(9600); // opens serial port, sets data rate to 9600 bps&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt; void sendData3Byte(char cmd, char data1, char data2) {&lt;br /&gt;   Serial.print(cmd, BYTE);&lt;br /&gt;   Serial.print(data1, BYTE);&lt;br /&gt;   Serial.print(data2, BYTE); &lt;br /&gt; }&lt;br /&gt;&lt;br /&gt;void loop() {&lt;br /&gt;int i;&lt;br /&gt;digitalWrite(ledPin, HIGH); // sets the LED off&lt;br /&gt;accVal = 0; // clear the accumulator&lt;br /&gt;for (i=0; i&lt;howManyToAverage; i++) {&lt;br /&gt;   val = analogRead(potPin); // read the value from the sensor&lt;br /&gt;   accVal = accVal + val;&lt;br /&gt;   delay(10);&lt;br /&gt;  }&lt;br /&gt;avg = accVal/howManyToAverage; &lt;br /&gt;analogValLSB = avg &amp; 127;        //Keep lower 7 bits bits, 0000000011111111 = 127  &lt;br /&gt;analogValMSB = (avg &gt;&gt; 7)   ;    //Need to shift the MSB into to the lower 7 bits&lt;br /&gt;sendData3Byte(header, analogValLSB, analogValMSB);  //Sends parsed data &lt;br /&gt;delay(20);   //give poor MIDI a chance!&lt;br /&gt;digitalWrite(ledPin, LOW);  //turn off light&lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34125912-8529374972483524419?l=amcohendigital.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amcohendigital.blogspot.com/feeds/8529374972483524419/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34125912&amp;postID=8529374972483524419' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/8529374972483524419'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/8529374972483524419'/><link rel='alternate' type='text/html' href='http://amcohendigital.blogspot.com/2007/10/vis.html' title='Vis'/><author><name>Aaron M  Cohen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34125912.post-8928329786245595415</id><published>2007-10-10T11:19:00.000-04:00</published><updated>2007-10-10T11:29:56.244-04:00</updated><title type='text'>Final Project</title><content type='html'>Abstract:&lt;br /&gt; This is an interactive installation based on clonal colonies.  It will consist of ten objects placed around a table.  Each object can be picked up and manipulated by the user.  Certain gestures will cause the object to emit sound and vibrations.  Each object will influence the other objects to copy its behavior by proximity and number of objects doing the same behavior.  If left alone the objects will eventually become inert.  The sound effects will include the psychoacoustic phenomenon of beating.  &lt;br /&gt;&lt;br /&gt;Project Goals:&lt;br /&gt; The goal of this piece is to create objects that react to gestures.  I believe that gesture interfaces are very innovative and lend themselves to areas were interactive art has not explored.  This piece will involve users working together or against each other, which is an aspect I seek to explore.&lt;br /&gt;&lt;br /&gt;Target Audience:&lt;br /&gt; The audience for these piece will most likely be young children though I would like to entice and older audience as well.  I think parents will use it with their children as well.  &lt;br /&gt;&lt;br /&gt;Project Success:&lt;br /&gt; The success of the project will be determined by the amount of time people use it and the way they use it.  It has a game like quality to it, therefore if people try to compete or work collaboratively; it will gauge the success of the artwork.&lt;br /&gt;&lt;br /&gt;Background/Need:&lt;br /&gt; Though overly discussed the Nintendo Wii has opened a new era of interface design for the game industry.  I believe it will transfer over into everyday life.  More people will use gestures as controls rather than the standard input of keyboard and mouse.   &lt;br /&gt;&lt;br /&gt;Project Timeline:&lt;br /&gt; October 6 – October 20: Order Parts and Create Model&lt;br /&gt; October 20 – October 27: Assemble Objects &lt;br /&gt; October 27 – November 3: Assemble Objects and Location Systems&lt;br /&gt; November 3 – 17: Programming&lt;br /&gt; November 17 – December 1: Tweaking Systems&lt;br /&gt; December 1 – 6: Troubleshooting &lt;br /&gt;&lt;br /&gt;Resource List:&lt;br /&gt; I will need to learn how to cast silicon.  Also I have to improve my gesture recognition program.  I will need to figure out how the objects will know the distance from each other.  &lt;br /&gt;&lt;br /&gt;To build it physically I will need casting material, accelerometers, Arduino minis, some communication device (Bluetooth or other), and different resistors.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34125912-8928329786245595415?l=amcohendigital.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amcohendigital.blogspot.com/feeds/8928329786245595415/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34125912&amp;postID=8928329786245595415' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/8928329786245595415'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/8928329786245595415'/><link rel='alternate' type='text/html' href='http://amcohendigital.blogspot.com/2007/10/final-project.html' title='Final Project'/><author><name>Aaron M  Cohen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34125912.post-2862504027586003601</id><published>2007-09-24T12:57:00.000-04:00</published><updated>2007-09-24T13:00:57.741-04:00</updated><title type='text'>Wii and MAX/MSP</title><content type='html'>I got the WiiMote to use the aka.wiiremote object in MAX/MSP.  It poorly plays the MIDI keyboard object.  The Y controls volume, X the pitch, Z does nothing.  When I get a more correlative interaction I will post a video as well as the code.  &lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.iamas.ac.jp/~aka/max/"&gt;Link to aka objects&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34125912-2862504027586003601?l=amcohendigital.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amcohendigital.blogspot.com/feeds/2862504027586003601/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34125912&amp;postID=2862504027586003601' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/2862504027586003601'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/2862504027586003601'/><link rel='alternate' type='text/html' href='http://amcohendigital.blogspot.com/2007/09/wii-and-maxmsp.html' title='Wii and MAX/MSP'/><author><name>Aaron M  Cohen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34125912.post-419869252342973210</id><published>2007-09-24T12:34:00.000-04:00</published><updated>2007-09-24T12:53:15.825-04:00</updated><title type='text'>Interactions</title><content type='html'>List of 5 Interactions:&lt;br /&gt;&lt;br /&gt;1) &lt;b&gt;Nintendo Wii&lt;/b&gt;:  I'll give this one an eight.  Its innovative and novel but has not reached its potential yet.&lt;br /&gt;&lt;br /&gt;2) &lt;b&gt;Work's Web Database&lt;/b&gt;  Three.  While not the worst thing I have dealt with it is up their.  Buttons don't work, things are missing, views change the information available, its slow, things are oddly located, and you cannot sort.&lt;br /&gt;&lt;br /&gt;3) &lt;b&gt;My Cell Phone&lt;/b&gt;  Its a Cingular Razr.  I give it a five.  It functions and that is about it.  The flash I could care less about.  I turned most of it off.  I like the feel of it.  Its nice and sleek and fits in my pocket.  I hate the address book with a deep hearted passion.  I like the fact that you can resign the buttons, so I can use it quickly and well.&lt;br /&gt;&lt;br /&gt;4) &lt;b&gt;Silly Emergency Switch&lt;/b&gt;  Oddly six.  I bought this at Radio Shack.  It has a red plastic cap cover to a STSP switch with a red LED in it.  The red cap pushes up nicely with a thumb.  It makes a satisfying click when it is up or down.  It feels sturdy and you feel you are removing the safety.  The switch itself is a little hard to throw back do to the cap but easy to move the first time.  It too nicely clicks.  There is something about the idea and the "big red button"  that makes this oddly satisfying.  &lt;br /&gt;&lt;br /&gt;5) &lt;b&gt;Big Water Color Brush&lt;/b&gt;  I needed to pick something that is not digital.  This is a seven.  It is a great brush.  It has a thick but light weight handle and feels like you are painting.  The size and weight allow it to be quick.  The bristles are nice a soft.  It holds water very well.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34125912-419869252342973210?l=amcohendigital.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amcohendigital.blogspot.com/feeds/419869252342973210/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34125912&amp;postID=419869252342973210' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/419869252342973210'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/419869252342973210'/><link rel='alternate' type='text/html' href='http://amcohendigital.blogspot.com/2007/09/interactions.html' title='Interactions'/><author><name>Aaron M  Cohen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34125912.post-380531451997909817</id><published>2007-09-24T09:44:00.000-04:00</published><updated>2007-09-24T12:34:30.339-04:00</updated><title type='text'>Readings 3</title><content type='html'>"Designing Mindful Interaction:  The Category of Performative Object"&lt;br /&gt;by Kristina Niedderer&lt;br /&gt;&lt;br /&gt;I am not very exposed to industrial design so I found parts of the article interesting.     The cups might make some one do a specific task but they are not quite interactive, perhaps the term she uses performative is much better.  I would not be as broad in the assumption that these objects are completely new.  I just think they were not defined.  I found that article extremely clinical in nature.  I disagree that objects are not socially orientated.  I think those designs are integrated into products but they are few and far between.  Oddly I never heard the term mindfulness as an educator I guess that is a difference of Australia and the US.  I do agree that a object can force a behavior by itself.  Life would be very boring if we had to learn everything before using it.  This idea of self-mindfulness has been proven by many a cognitive psychologist.  I have one problem with the social cups.  They do not guarantee social interaction.  They only guarantee that people will up their cups together.   I think the article provided some food for thought when designing an object.&lt;br /&gt;&lt;br /&gt;"Good Design in the Digital Age"&lt;br /&gt;by Richard Buchanan&lt;br /&gt;&lt;br /&gt;Nota Bene:  Not this article.  In fact the design is quite nightmarish.  &lt;br /&gt;Onward...Short sweet and nothing too new.  Good digital design must include the designing "user experience."  I think that we must aware of other cultures and how they view and experience objects. &lt;br /&gt;&lt;br /&gt;"The Art of Interaction: Interactivity, Performity, and Computers"&lt;br /&gt;by David Z. Saltz&lt;br /&gt;&lt;br /&gt;*response will be posted tonight*&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34125912-380531451997909817?l=amcohendigital.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amcohendigital.blogspot.com/feeds/380531451997909817/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34125912&amp;postID=380531451997909817' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/380531451997909817'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/380531451997909817'/><link rel='alternate' type='text/html' href='http://amcohendigital.blogspot.com/2007/09/readings-3.html' title='Readings 3'/><author><name>Aaron M  Cohen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34125912.post-4016037399433991376</id><published>2007-09-10T11:11:00.000-04:00</published><updated>2007-09-24T09:44:31.585-04:00</updated><title type='text'>Readings 2</title><content type='html'>"Interaction as an Aesthetic Event"&lt;br /&gt;by Lev Manovich&lt;br /&gt;&lt;br /&gt;I will start by saying I like Lev Monovich's writings.  Mind you I do not always agree but I find the rather informative.  Most people do not think about how interfaces changed when the "Digital Revolution" happened in the 1990s.  I do agree that we experience interfaces.  I remember fighting with DOS and a Commodore Superpet.  There was no interface and little experience.  I disagree that Mac OSX changed the PC.  Apples design did and still does push competitors to &lt;b&gt;design&lt;/b&gt; product.  I think that Mac OSX did start a new trend in GUIs but you cannot deny the power of the previous Mac OS's and Windows.  With the discussion of cellphones one has to be aware of how "behind the times" (for a lack of a better expression) the United States is.  While our phones have these bells and whistles that create an experience it pales in comparison to the phones of Europe which in turn pale in comparison to the phones of Asia.  I often wonder if the everyday person is aware of such interactions.  Maybe when the first get the phone but I wonder how long it lasts.  I wonder want his comments to the iPhone would be but the article predates it.  It definitely reinforces this ideal.&lt;br /&gt;&lt;br /&gt;"A History of the Interface in Interactive Art"&lt;br /&gt;by S&amp;ouml;ke Dinkla&lt;br /&gt;&lt;br /&gt;The opening statement bothers me.  I have not heard the word "interactive" and television together since the attempt of WebTV.  Though I guess one can call the "voting" shows a form of interactivity.  I have read &lt;i&gt;Digital Art&lt;/i&gt; by Christiane Paul and &lt;i&gt;New Media&lt;/i&gt; by Lev Manovich it is interesting to see all the different takes on the history of interactive art. I wonder if the author is reading too much into the artists intent by viewing the technology used.  I would have liked seen some of the artists statement reflecting the artists views.  I think it is interesting that video games were not mentioned.  Since they play an important role but this article primarily focused on art installation.  &lt;br /&gt;&lt;br /&gt;"Art and Interaction"&lt;br /&gt;by No&amp;euml;l Carrol&lt;br /&gt;&lt;br /&gt;This is another article on aesthetics and interactions.  It tries to prove that interaction aesthetics are not as related as most people have written.  People seek to define what is art this author seeks to set prove the older definitions wrong.  While this is important thing to do you risk proving your own theory wrong since art cannot be defined in the first place (in my opinion).  I also disagree with most post -modern ideals about art.  I do not consider much of it art.  When people ask how can I define one thing as art as another I say because I am the audience.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34125912-4016037399433991376?l=amcohendigital.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amcohendigital.blogspot.com/feeds/4016037399433991376/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34125912&amp;postID=4016037399433991376' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/4016037399433991376'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/4016037399433991376'/><link rel='alternate' type='text/html' href='http://amcohendigital.blogspot.com/2007/09/readings-2.html' title='Readings 2'/><author><name>Aaron M  Cohen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34125912.post-1563176029697732539</id><published>2007-09-10T10:42:00.000-04:00</published><updated>2007-09-10T11:10:13.327-04:00</updated><title type='text'>Readings</title><content type='html'>"Can Anything be an Aesthetic Object"&lt;br /&gt;by Robert L. Zimmerman&lt;br /&gt;&lt;br /&gt;I find most discussions of aesthetics an exercise in mental masturbation.  This article did not dissuade me from the notion.  Thought the author had many good points he lacked in many.  I did not like the fact that he spent most of the article disproving other peoples points rather that proving his own.  One is hard spent defining the term Digital Art it is going to be harder to define an aesthetic object.  It did state that aesthetics is an amalgam of experience and traits of an object.  This I believe but when one starts to define something and is personal and different to everyone one quickly should notice that it is undefinable.  The author also concentrated too much on Western traditional fine arts.&lt;br /&gt;&lt;br /&gt;"Everyday Aesthetics"&lt;br /&gt;by Yuriko Saito&lt;br /&gt;&lt;br /&gt;I liked this article better than the first.  Though not as well written I think it spoke more true.  It discussed Japanese and Western aesthetics and the differences between them.  It also discussed how we miss aesthetic objects through habituation. I found it interesting that rather than defining aesthetics the author discussed how something can be aesthetic.  It is an important factor to remember in designing that other cultures will view things very differently than you intend them to.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34125912-1563176029697732539?l=amcohendigital.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amcohendigital.blogspot.com/feeds/1563176029697732539/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34125912&amp;postID=1563176029697732539' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/1563176029697732539'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34125912/posts/default/1563176029697732539'/><link rel='alternate' type='text/html' href='http://amcohendigital.blogspot.com/2007/09/readings.html' title='Readings'/><author><name>Aaron M  Cohen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
