<?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-16776717</id><updated>2011-09-01T07:11:57.852-07:00</updated><title type='text'>Av's Physical Computing Blog</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://pcomp-av.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16776717/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://pcomp-av.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Avani</name><uri>http://www.blogger.com/profile/00093604322537072335</uri><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>21</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-16776717.post-113501076965923919</id><published>2005-12-19T08:45:00.000-08:00</published><updated>2005-12-19T08:46:09.693-08:00</updated><title type='text'>FINALthoughts</title><content type='html'>&lt;p class="MsoNormal"&gt;I definitely learned a lot in the process of the labs, the ping pong paddles and the flower. I realize now that I need to learn more about mechanics.&lt;span style=""&gt;  &lt;/span&gt;I know it was possible to use one or two servos for my flower and after a few instances of servos burning in the future this is the way I will go.&lt;span style=""&gt;  &lt;/span&gt;&lt;/p&gt;     &lt;p class="MsoNormal"&gt;&lt;o:p&gt;&lt;/o:p&gt;I wasn’t thrilled with the way the flower petals were connected to the gears.&lt;span style=""&gt;  &lt;/span&gt;It was done in a haphazard fashion, which resulted in the angle and length of the petals being inconsistent.&lt;/p&gt;       &lt;p class="MsoNormal"&gt;With the massive amount of ports/parts, labeling everything initially would have saved me lots of time and frustration.&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;   &lt;p class="MsoNormal"&gt;I hope to use a perf board on my next project, it would have been easier to mount and I could have used only one perf board instead of two circuit boards.&lt;span style=""&gt;  &lt;/span&gt;While the flower didn’t look anything like I expected, that was just the aesthetic end of things.&lt;span style=""&gt;  &lt;/span&gt;In terms of pcomp, I was satisfied.&lt;span style=""&gt;  &lt;/span&gt;There was way more involved than I thought and I learned a lot of valuable lessons along the way.&lt;span style=""&gt;  &lt;/span&gt;Next semester: wearable technologies! &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16776717-113501076965923919?l=pcomp-av.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pcomp-av.blogspot.com/feeds/113501076965923919/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16776717&amp;postID=113501076965923919' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16776717/posts/default/113501076965923919'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16776717/posts/default/113501076965923919'/><link rel='alternate' type='text/html' href='http://pcomp-av.blogspot.com/2005/12/finalthoughts.html' title='FINALthoughts'/><author><name>Avani</name><uri>http://www.blogger.com/profile/00093604322537072335</uri><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-16776717.post-113500391808880789</id><published>2005-12-19T06:45:00.000-08:00</published><updated>2005-12-19T06:51:58.090-08:00</updated><title type='text'>DYEINGflower</title><content type='html'>The next piece was to find fabric for the petals.&lt;span style=""&gt;  &lt;/span&gt;I sewed chiffon onto the aluminum frame of one petal.&lt;span style=""&gt;  &lt;/span&gt;Although I knew how to sew passably, it ended up being significantly harder and more time consuming that I wanted.&lt;span style=""&gt;  &lt;/span&gt;Terence suggested using pantyhose.&lt;span style=""&gt;  &lt;/span&gt;I went to Kmart and got a pair of white ladies XL stockings, cut them up and slipped them over the petal frames and it worked liked a charm.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/7955/1601/1600/plainflower.jpg"&gt;&lt;img style="cursor: pointer;" src="http://photos1.blogger.com/blogger/7955/1601/320/plainflower.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style=""&gt;  &lt;/span&gt;     &lt;p class="MsoNormal"&gt;&lt;o:p&gt;&lt;/o:p&gt;I cut off the tops of the hose slip cover to get a fringy, flowing look.  I wanted to add color to the petals so I dyed them…nylon is quite a resistant material so I used my hands to work in the dye.&lt;span style=""&gt;  &lt;/span&gt;A messy endeavor, but it worked.&lt;span style=""&gt;  &lt;/span&gt;I used the same method for the leaves/stems.&lt;span style=""&gt;  &lt;/span&gt;To speed up the drying process, I used a heat gun…which left some odd but cool patterns on the fabric.&lt;br /&gt;&lt;/p&gt; &lt;p class="MsoNormal"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/7955/1601/1600/dyedflower.jpg"&gt;&lt;img style="cursor: pointer;" src="http://photos1.blogger.com/blogger/7955/1601/320/dyedflower.jpg" alt="" border="0" /&gt;&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/16776717-113500391808880789?l=pcomp-av.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pcomp-av.blogspot.com/feeds/113500391808880789/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16776717&amp;postID=113500391808880789' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16776717/posts/default/113500391808880789'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16776717/posts/default/113500391808880789'/><link rel='alternate' type='text/html' href='http://pcomp-av.blogspot.com/2005/12/dyeingflower.html' title='DYEINGflower'/><author><name>Avani</name><uri>http://www.blogger.com/profile/00093604322537072335</uri><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-16776717.post-113500169025229799</id><published>2005-12-19T06:14:00.000-08:00</published><updated>2005-12-19T06:40:43.903-08:00</updated><title type='text'>REWIREit</title><content type='html'>&lt;span style=""&gt;The next day I came in with the mission to map out my port assignments and rewire the boards so that things could be easily identified and rewired. Although it took quite a few hours, it was worth it. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/7955/1601/1600/rewired.0.jpg"&gt;&lt;img style="cursor: pointer;" src="http://photos1.blogger.com/blogger/7955/1601/320/rewired.0.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;  &lt;p class="MsoNormal"&gt;The PIC had just enough ports for me, so I avoided using a shift register.&lt;span style=""&gt;  &lt;/span&gt;I did run into problems with PORT A.  After consulting the datasheet, ADCON %111100 to turn the ports all digital&lt;br /&gt;&lt;/p&gt;     &lt;p class="MsoNormal"&gt;All the servos were getting unwieldy so it was time to make a proper stand.&lt;span style=""&gt;  &lt;/span&gt;I bought some masonite, which I realized once again such a great material.&lt;span style=""&gt;  &lt;/span&gt;Thin, light and cheap.&lt;/p&gt;     &lt;p class="MsoNormal"&gt;I cut two circular sheets of masonite and spaced them with dowels.&lt;span style=""&gt;  &lt;/span&gt;I mounted the servos and held them in place with wire going through drilled holes in the top circular piece.&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;   &lt;p class="MsoNormal"&gt;The construction of the stand took a full day, much longer than I expected.&lt;br /&gt;&lt;/p&gt; &lt;p class="MsoNormal"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/7955/1601/1600/properstand.jpg"&gt;&lt;img style="cursor: pointer;" src="http://photos1.blogger.com/blogger/7955/1601/320/properstand.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;span style=""&gt;  &lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16776717-113500169025229799?l=pcomp-av.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pcomp-av.blogspot.com/feeds/113500169025229799/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16776717&amp;postID=113500169025229799' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16776717/posts/default/113500169025229799'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16776717/posts/default/113500169025229799'/><link rel='alternate' type='text/html' href='http://pcomp-av.blogspot.com/2005/12/rewireit.html' title='REWIREit'/><author><name>Avani</name><uri>http://www.blogger.com/profile/00093604322537072335</uri><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-16776717.post-113500162555264449</id><published>2005-12-19T06:01:00.000-08:00</published><updated>2005-12-19T06:13:45.553-08:00</updated><title type='text'>SERVOtime</title><content type='html'>&lt;p class="MsoNormal"&gt;Now that the clock was working I wanted to integrate the servos with the time.&lt;span style=""&gt;  &lt;/span&gt;I had only tested with four servos, but with six servos Ben Brown suggested a separate power supply.&lt;span style=""&gt;  &lt;/span&gt;I went to Radio shack and bought a 6V power supply, stripped the ends and plugged it into a second breadboard to power the servos.&lt;span style=""&gt;  &lt;/span&gt;Milmoe pointed out the servos and the pic needed to share a common ground.&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;   &lt;p class="MsoNormal"&gt;All this was temporary mounted on a stand I procured from the wonderful shop junk pile.&lt;span style=""&gt;  &lt;/span&gt;After 13 hours in the lab I called it a day.&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/7955/1601/1600/junksstand.jpg"&gt;&lt;img style="cursor: pointer;" src="http://photos1.blogger.com/blogger/7955/1601/320/junksstand.jpg" alt="" 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/16776717-113500162555264449?l=pcomp-av.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pcomp-av.blogspot.com/feeds/113500162555264449/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16776717&amp;postID=113500162555264449' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16776717/posts/default/113500162555264449'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16776717/posts/default/113500162555264449'/><link rel='alternate' type='text/html' href='http://pcomp-av.blogspot.com/2005/12/servotime_113500162555264449.html' title='SERVOtime'/><author><name>Avani</name><uri>http://www.blogger.com/profile/00093604322537072335</uri><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-16776717.post-113477377386224356</id><published>2005-12-16T14:52:00.000-08:00</published><updated>2005-12-19T13:05:17.223-08:00</updated><title type='text'>CLOCKchip</title><content type='html'>To keep the time, I used a real time clock module from sparkfun: &lt;a href="http://www.sparkfun.com/shop/index.php?shop=1&amp;cat=45"&gt;http://www.sparkfun.com/shop/index.php?shop=1&amp;amp;cat=45&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Todd gave me some code/tips for the chip.  It was easy to use, note the three pull up 4.7K OHM resistors.  (diagram possibly)&lt;br /&gt;&lt;br /&gt;I used serout to check the time and debug my code. [see code]&lt;br /&gt;&lt;br /&gt;Basically you program the PIC chip with a subroutine to set the time and then reprogram the chip without the subroutine. If you don’t do this, the clock will RESET everytime you turn power on/off.&lt;br /&gt;&lt;br /&gt;Todd pointed me to a way to simulate a clock without the IC. I tried this method, but since the chip used in the example was different than the PIC chip I was using, I decided to use the clock chip.&lt;br /&gt;&lt;a href="http://www.picbasic.co.uk/forum/showthread.php?t=2129"&gt;&lt;br /&gt;http://www.picbasic.co.uk/forum/showthread.php?t=2129&lt;/a&gt;&lt;br /&gt;&lt;br /&gt; &lt;p class="MsoNormal"&gt;For the minutes portion of the clock, I wanted to use 12 LEDs (each representing 5 minutes).&lt;span style=""&gt;  &lt;/span&gt;My plan for the code was to put all the ports into an array and navigate through the array.&lt;span style=""&gt;  &lt;/span&gt;Unforunately after much discussion, Tom Igoe confirmed this was not possible. &lt;b&gt;&lt;span style=""&gt; &lt;/span&gt;&lt;/b&gt;Ben Brown suggested I take the long route and code all the conditions.&lt;span style=""&gt;  &lt;/span&gt;It’s lengthy, but works.&lt;br /&gt;&lt;/p&gt; &lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;font color="purple"&gt;&lt;font size="1"&gt;&lt;font face="arial"&gt;&lt;pre&gt;&lt;br /&gt;'****************************************************************&lt;br /&gt;'*  Name    : clock.BAS                                      *&lt;br /&gt;'*  Author  : Avani Patel                                    *&lt;br /&gt;'*  Notice  : Copyright (c) 2005 2004                           *&lt;br /&gt;'*          : All Rights Reserved                               *&lt;br /&gt;'*  Date    : 4/21/2005                                         *&lt;br /&gt;'*  Version : 1.0                                               *&lt;br /&gt;'*  Notes   :                                                   *&lt;br /&gt;'*          :                                                   *&lt;br /&gt;'****************************************************************&lt;br /&gt;Include "modedefs.bas"          ' Include serial modes&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;TX      var    portc.6                      ' Define serial output pin&lt;br /&gt;SDA    var     PORTC.4                ' I2C data pin&lt;br /&gt;SCL    var     PORTC.5                 ' I2C clock pin&lt;br /&gt;SQW     var     portc.3&lt;br /&gt;&lt;br /&gt;RTCData VAR BYTE[8] ' Data byte array&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;input PORTB.6 'hour set&lt;br /&gt;input PORTB.5 'second set&lt;br /&gt;input PORTB.4 'set time&lt;br /&gt;&lt;br /&gt;setHour var PORTB.6&lt;br /&gt;setMinute var PORTB.5&lt;br /&gt;setTime var PORTB.4&lt;br /&gt;&lt;br /&gt;RTCSec var byte         ' Seconds&lt;br /&gt;RTCMin var byte         ' Minutes&lt;br /&gt;RTCHour var byte        ' Hours&lt;br /&gt;RTCWDay var byte        ' Weekday&lt;br /&gt;RTCDay var byte         ' Day&lt;br /&gt;RTCMonth var byte       ' Months&lt;br /&gt;RTCYear var byte        ' Year&lt;br /&gt;RTCCtrl var byte        ' Control&lt;br /&gt;DecimalHours var byte&lt;br /&gt;DecimalMinutes var byte&lt;br /&gt;DecimalSeconds var byte&lt;br /&gt;address var byte&lt;br /&gt;dataHours var byte&lt;br /&gt;dataMinutes var byte&lt;br /&gt;dataSeconds var byte&lt;br /&gt;&lt;br /&gt;'testLight var PORTB.7     'blink this light at the begining_only happens once&lt;br /&gt;i var byte&lt;br /&gt;&lt;br /&gt;'use this subroutine only when programming for the first time&lt;br /&gt;gosub setClock&lt;br /&gt;&lt;br /&gt;'LED minutes vars&lt;br /&gt;bSpace CON 200 'between blinks&lt;br /&gt;longBSpace CON 1000 'between rounds&lt;br /&gt;seqSpace CON 2000 ' end of main pause&lt;br /&gt;&lt;br /&gt;'PORT SETUP'&lt;br /&gt;'output portb.7  'light once, not neccessary&lt;br /&gt;&lt;br /&gt;'set remaining ports to output for LEDs&lt;br /&gt;output portc.2&lt;br /&gt;output portc.3&lt;br /&gt;output portd.0&lt;br /&gt;output portd.1&lt;br /&gt;'output portd.2&lt;br /&gt;&lt;br /&gt;ADCON1=%10000111 'makes porta digital&lt;br /&gt;&lt;br /&gt;'setting alias for LED ports, all on LEFT side of PIC&lt;br /&gt;&lt;br /&gt;p1 var porta.0&lt;br /&gt;p2 var porta.1&lt;br /&gt;p3 var porta.2&lt;br /&gt;p4 var porta.3&lt;br /&gt;&lt;br /&gt;p5 var porta.4&lt;br /&gt;p6 var porta.5&lt;br /&gt;p7 var porta.6&lt;br /&gt;p8 var porta.7&lt;br /&gt;&lt;br /&gt;p9 var portc.2&lt;br /&gt;p10 var portc.3&lt;br /&gt;p11 var portd.0&lt;br /&gt;p12 var portd.1&lt;br /&gt;&lt;br /&gt;                 &lt;br /&gt;potVar VAR word &lt;br /&gt;potMin VAR Byte &lt;br /&gt;potLED Var BYTE&lt;br /&gt;potMod Var BYTE&lt;br /&gt;&lt;br /&gt;'inputVar var byte&lt;br /&gt;'i var BYTE&lt;br /&gt;'end LED vars&lt;br /&gt;&lt;br /&gt;'servo hour vars&lt;br /&gt;TRISB = %00000000 &lt;br /&gt;&lt;br /&gt;s1 var portb.7&lt;br /&gt;s2 var portb.6&lt;br /&gt;s3 var portb.5&lt;br /&gt;s4 var portb.4&lt;br /&gt;s5 var portb.3&lt;br /&gt;s6 var portb.2&lt;br /&gt;&lt;br /&gt;LotOpening VAR BYTE&lt;br /&gt;&lt;br /&gt;pulseWidth VAR BYTE&lt;br /&gt;' set up constants with the minimum and maximum pulsewidths&lt;br /&gt;minPulse CON 140&lt;br /&gt;maxPulse CON 220&lt;br /&gt;&lt;br /&gt;openPetal CON 140&lt;br /&gt;closePetal CON 220&lt;br /&gt;&lt;br /&gt;'write method for opening and closing&lt;br /&gt;&lt;br /&gt;' set up a constant with the time between pulses:&lt;br /&gt;refreshPeriod CON 20&lt;br /&gt;&lt;br /&gt;' set an initial pulsewidth:&lt;br /&gt;pulseWidth = closePetal 'start with closed petal stata&lt;br /&gt;&lt;br /&gt;LotOpening = 1  ' it's opening&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;'end servo hour vars&lt;br /&gt;main:&lt;br /&gt;&lt;br /&gt;I2CRead SDA,SCL,$D0,$00,[RTCSec,RTCMin,RTCHour,RTCWDay,RTCDay,RTCMonth,RTCYear,RTCCtrl]&lt;br /&gt;gosub bcdtodec        &lt;br /&gt;'Serout2 TX,16468,[HEX RTCMonth,"/",HEX RTCDay,"/",HEX RTCYear,"  -  ",HEX RTCHour, ":",HEX RTCMin,":",HEX RTCSec,13,10]&lt;br /&gt;'pause 1000&lt;br /&gt;goto main&lt;br /&gt;&lt;br /&gt;bcdtodec:&lt;br /&gt;'Convert BCD to decimal... assume variable RTCSeconds holds the seconds in BCD format...&lt;br /&gt;'Hours&lt;br /&gt;DecimalHours=RTCHour &amp; $70&lt;br /&gt;DecimalHours=DecimalHours&gt;&gt;4&lt;br /&gt;DecimalHours=DecimalHours*10&lt;br /&gt;DecimalHours=DecimalHours+(RTCHour &amp; $0F)&lt;br /&gt;'convert from 24 hr time to 12&lt;br /&gt;if (DecimalHours &gt;= 13)  then&lt;br /&gt;low PORTB.7&lt;br /&gt;    decimalHours = DecimalHours - 12&lt;br /&gt;else&lt;br /&gt;high PORTB.7&lt;br /&gt;    decimalHours = DecimalHours&lt;br /&gt;endif&lt;br /&gt;'address = 2&lt;br /&gt;dataHours = (DecimalHours * 255)/12&lt;br /&gt;&lt;br /&gt;'Minutes&lt;br /&gt;DecimalMinutes=RTCMin &amp; $70&lt;br /&gt;DecimalMinutes=DecimalMinutes&gt;&gt;4&lt;br /&gt;DecimalMinutes=DecimalMinutes*10&lt;br /&gt;DecimalMinutes=DecimalMinutes+(RTCMin &amp; $0F)&lt;br /&gt;'address = 1&lt;br /&gt;dataMinutes = (DecimalMinutes * 255)/60&lt;br /&gt;&lt;br /&gt;'Seconds&lt;br /&gt;DecimalSeconds=RTCsec &amp; $70&lt;br /&gt;DecimalSeconds=DecimalSeconds&gt;&gt;4&lt;br /&gt;DecimalSeconds=DecimalSeconds*10&lt;br /&gt;DecimalSeconds=DecimalSeconds+(RTCSec &amp; $0F)&lt;br /&gt;'address = 0&lt;br /&gt;dataSeconds = (DecimalSeconds * 255)/60&lt;br /&gt;&lt;br /&gt;'GOSUB subdigiout&lt;br /&gt;gosub minLEDs&lt;br /&gt;GOSUB hrServos&lt;br /&gt;&lt;br /&gt;Serout2 TX,16468,[dec DecimalHours, ":",dec DecimalMinutes,":",dec DecimalSeconds,13,10]&lt;br /&gt;Serout2 TX,16468,[dec dataHours, ":",dec dataMinutes,":",dec dataSeconds,13,10,13,10]&lt;br /&gt;return&lt;br /&gt;&lt;br /&gt;hrServos:&lt;br /&gt;' change the angle for the next time around:&lt;br /&gt;IF (pulseWidth &gt; openPetal) AND (LotOpening=1) THEN 'if the pulse is greater than 50 &lt;br /&gt;    pulseWidth = pulseWidth-1 ' knock it down&lt;br /&gt;    GOSUB move&lt;br /&gt;    HIGH portd.2&lt;br /&gt;ENDIF&lt;br /&gt;&lt;br /&gt;IF (pulseWidth = openPetal) THEN 'when pulseWidth reaches totally open state&lt;br /&gt;    LotOpening=0&lt;br /&gt;    &lt;br /&gt;    PAUSE 1000&lt;br /&gt;     &lt;br /&gt;    pulseWidth = pulseWidth+1&lt;br /&gt;ENDIF    &lt;br /&gt;&lt;br /&gt;IF (pulseWidth &lt; closePetal) AND (LotOpening=0) THEN &lt;br /&gt;     pulseWidth = pulseWidth+1&lt;br /&gt;     GOSUB move&lt;br /&gt;     HIGH portd.1&lt;br /&gt;ENDIF&lt;br /&gt;&lt;br /&gt;IF (pulseWidth = closePetal) THEN 'when pulseWidth reaches totally open state&lt;br /&gt;    LotOpening=1&lt;br /&gt;    &lt;br /&gt;    PAUSE 1000&lt;br /&gt;    &lt;br /&gt;    pulseWidth = pulseWidth-1&lt;br /&gt;    &lt;br /&gt;ENDIF &lt;br /&gt;&lt;br /&gt;RETURN&lt;br /&gt;&lt;br /&gt;move:&lt;br /&gt;'take the output pin low so we can pulse it high&lt;br /&gt;'LOW PORTC.3&lt;br /&gt;' pulse the pin&lt;br /&gt;&lt;br /&gt;if DecimalHours==1 THEN&lt;br /&gt;SEROUT2 portc.6, 16468, ["servo 1", 13,10,13,10]&lt;br /&gt;PULSOUT s1, pulseWidth&lt;br /&gt;ENDIF&lt;br /&gt;&lt;br /&gt;IF DecimalHours==2 THEN&lt;br /&gt;PULSOUT s1, pulseWidth&lt;br /&gt;PULSOUT s2, pulseWidth&lt;br /&gt;ENDIF&lt;br /&gt;&lt;br /&gt;IF DecimalHours==3 THEN&lt;br /&gt;PULSOUT s1, pulseWidth&lt;br /&gt;PULSOUT s2, pulseWidth&lt;br /&gt;PULSOUT s3, pulseWidth&lt;br /&gt;ENDIF&lt;br /&gt;&lt;br /&gt;IF DecimalHours==4 THEN&lt;br /&gt;PULSOUT s1, pulseWidth&lt;br /&gt;PULSOUT s2, pulseWidth&lt;br /&gt;PULSOUT s3, pulseWidth&lt;br /&gt;PULSOUT s4, pulseWidth&lt;br /&gt;ENDIF&lt;br /&gt;&lt;br /&gt;IF DecimalHours==5 THEN&lt;br /&gt;PULSOUT s1, pulseWidth&lt;br /&gt;PULSOUT s2, pulseWidth&lt;br /&gt;PULSOUT s3, pulseWidth&lt;br /&gt;PULSOUT s4, pulseWidth&lt;br /&gt;PULSOUT s5, pulseWidth&lt;br /&gt;ENDIF&lt;br /&gt;&lt;br /&gt;if DecimalHours==6 THEN&lt;br /&gt;PULSOUT s1, pulseWidth&lt;br /&gt;PULSOUT s2, pulseWidth&lt;br /&gt;PULSOUT s3, pulseWidth&lt;br /&gt;PULSOUT s4, pulseWidth&lt;br /&gt;PULSOUT s5, pulseWidth&lt;br /&gt;PULSOUT s6, pulseWidth&lt;br /&gt;ENDIF&lt;br /&gt;&lt;br /&gt;' pause for as long as needed:&lt;br /&gt;&lt;br /&gt;PAUSE refreshPeriod&lt;br /&gt;&lt;br /&gt;RETURN&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;minLEDS: 'figures out values for lights&lt;br /&gt;   'potMin=23 'temp constant value&lt;br /&gt;  ' potLED=potMin/5  'to give 1-12 for minutes&lt;br /&gt; 'potMod=potMin//5 'modulus value, to give remindar for blinking LED&lt;br /&gt;&lt;br /&gt;    potLED=DecimalMinutes/5&lt;br /&gt;    potMod=DecimalMinutes//5&lt;br /&gt;    &lt;br /&gt;    gosub blinkLEDs&lt;br /&gt;RETURN&lt;br /&gt;&lt;br /&gt;'DO NOT CHANGE- this sub works perfect!  ONLY mess with pauses!     &lt;br /&gt;blinkLEDs:&lt;br /&gt;&lt;br /&gt;If potLED==0 THEN 'less than 5 min&lt;br /&gt;   SEROUT2 portc.6, 16468, ["in pot=0", 13,10,13,10] &lt;br /&gt;   &lt;br /&gt;   if potMod &gt; 0 THEN&lt;br /&gt;   for i=1 to potMod&lt;br /&gt;       ' high PORTD.2&lt;br /&gt;        high p1&lt;br /&gt;        &lt;br /&gt;        pause bspace&lt;br /&gt;      &lt;br /&gt;       ' LOW PORTD.2 &lt;br /&gt;     low p1 &lt;br /&gt;     &lt;br /&gt;     pause bspace&lt;br /&gt;     &lt;br /&gt;   next i &lt;br /&gt;   pause longBspace ' long blink seperate out minutes&lt;br /&gt;   ENDIF&lt;br /&gt;      &lt;br /&gt;ENDIF&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;if potLED &gt;=1 AND potLED &lt; 2 then '5 mins &lt;br /&gt;   &lt;br /&gt;   SEROUT2 portc.6, 16468, ["in pot&gt;=1", 13,10,13,10]&lt;br /&gt;   &lt;br /&gt;   HIGH p1&lt;br /&gt;   &lt;br /&gt;   If potMod &gt; 0 THEN&lt;br /&gt;      for i=1 to potMod&lt;br /&gt;       &lt;br /&gt;        high p2&lt;br /&gt;        pause bspace&lt;br /&gt;      &lt;br /&gt;     low p2  &lt;br /&gt;     pause bspace&lt;br /&gt;     &lt;br /&gt;    next i &lt;br /&gt;    pause longBspace &lt;br /&gt;    ENDIF &lt;br /&gt;    &lt;br /&gt;   pause seqSpace &lt;br /&gt;   &lt;br /&gt;endif&lt;br /&gt;&lt;br /&gt;if potLED &gt;=2 AND potLED &lt; 3 then '10 mins &lt;br /&gt;   HIGH p1&lt;br /&gt;   HIGH p2&lt;br /&gt;   SEROUT2 portc.6, 16468, ["in pot&gt;=2", 13,10,13,10]&lt;br /&gt;   &lt;br /&gt;      If potMod &gt; 0 THEN&lt;br /&gt;      for i=1 to potMod&lt;br /&gt;       &lt;br /&gt;        high p3&lt;br /&gt;        pause bspace&lt;br /&gt;      &lt;br /&gt;     low p3  &lt;br /&gt;     pause bspace&lt;br /&gt;     &lt;br /&gt;    next i &lt;br /&gt;    pause longBspace &lt;br /&gt;    ENDIF &lt;br /&gt;    &lt;br /&gt;   pause seqSpace &lt;br /&gt;endif&lt;br /&gt;&lt;br /&gt;if potLED &gt;=3 AND potLED &lt; 4 then '15 mins &lt;br /&gt;   HIGH p1&lt;br /&gt;   HIGH p2&lt;br /&gt;   HIGH p3&lt;br /&gt;   &lt;br /&gt;      If potMod &gt; 0 THEN&lt;br /&gt;      for i=1 to potMod&lt;br /&gt;       &lt;br /&gt;        high p4&lt;br /&gt;        pause bspace&lt;br /&gt;      &lt;br /&gt;     low p4  &lt;br /&gt;     pause bspace&lt;br /&gt;     &lt;br /&gt;    next i &lt;br /&gt;    pause longBspace &lt;br /&gt;    ENDIF &lt;br /&gt;    &lt;br /&gt;   pause seqSpace&lt;br /&gt;endif&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;if potLED &gt;= 4 and potLED &lt; 5 then '20 mins &lt;br /&gt;   High p1&lt;br /&gt;   high p2&lt;br /&gt;   high p3&lt;br /&gt;   HIGH p4 &lt;br /&gt;   &lt;br /&gt;      If potMod &gt; 0 THEN&lt;br /&gt;      for i=1 to potMod&lt;br /&gt;       &lt;br /&gt;        high p5&lt;br /&gt;        pause bspace&lt;br /&gt;      &lt;br /&gt;     low p5  &lt;br /&gt;     pause bspace&lt;br /&gt;     &lt;br /&gt;    next i &lt;br /&gt;    pause longBspace &lt;br /&gt;    ENDIF &lt;br /&gt;    &lt;br /&gt;   pause seqSpace&lt;br /&gt;endif&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;if potLED &gt;= 5 AND potLED &lt; 6 then '25 mins &lt;br /&gt;   High p1&lt;br /&gt;   high p2&lt;br /&gt;   high p3&lt;br /&gt;   HIGH p4 &lt;br /&gt;   HIGH p5&lt;br /&gt;   &lt;br /&gt;      If potMod &gt; 0 THEN&lt;br /&gt;      for i=1 to potMod&lt;br /&gt;       &lt;br /&gt;        high p6&lt;br /&gt;        pause bspace&lt;br /&gt;      &lt;br /&gt;     low p6  &lt;br /&gt;     pause bspace&lt;br /&gt;     &lt;br /&gt;    next i &lt;br /&gt;    pause longBspace &lt;br /&gt;    ENDIF &lt;br /&gt;     &lt;br /&gt;   pause seqSpace&lt;br /&gt;endif&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;if potLED &gt;= 6 AND potLED &lt;7 then '30 mins &lt;br /&gt;   High p1&lt;br /&gt;   high p2&lt;br /&gt;   high p3&lt;br /&gt;   HIGH p4 &lt;br /&gt;   HIGH p5&lt;br /&gt;   HIGH p6&lt;br /&gt;   &lt;br /&gt;      If potMod &gt; 0 THEN&lt;br /&gt;      for i=1 to potMod&lt;br /&gt;       &lt;br /&gt;        high p7&lt;br /&gt;        pause bspace&lt;br /&gt;      &lt;br /&gt;     low p7  &lt;br /&gt;     pause bspace&lt;br /&gt;     &lt;br /&gt;    next i &lt;br /&gt;    pause longBspace &lt;br /&gt;    ENDIF &lt;br /&gt;    &lt;br /&gt;   pause seqSpace &lt;br /&gt;endif&lt;br /&gt;&lt;br /&gt;if potLED &gt;= 7 AND potLED &lt; 8 then '35 mins &lt;br /&gt;   High p1&lt;br /&gt;   high p2&lt;br /&gt;   high p3&lt;br /&gt;   HIGH p4 &lt;br /&gt;   HIGH p5&lt;br /&gt;   HIGH p6&lt;br /&gt;   HIGH p7&lt;br /&gt;   &lt;br /&gt;    If potMod &gt; 0 THEN&lt;br /&gt;      for i=1 to potMod&lt;br /&gt;       &lt;br /&gt;        high p8&lt;br /&gt;        pause bspace&lt;br /&gt;      &lt;br /&gt;     low p8  &lt;br /&gt;     pause bspace&lt;br /&gt;     &lt;br /&gt;    next i &lt;br /&gt;    pause longBspace &lt;br /&gt;    ENDIF &lt;br /&gt;    &lt;br /&gt;   pause seqSpace &lt;br /&gt;endif&lt;br /&gt;&lt;br /&gt;if potLED &gt;= 8 then '40 mins &lt;br /&gt;   High p1&lt;br /&gt;   high p2&lt;br /&gt;   high p3&lt;br /&gt;   HIGH p4 &lt;br /&gt;   HIGH p5&lt;br /&gt;   HIGH p6&lt;br /&gt;   HIGH p7&lt;br /&gt;   HIGH p8 &lt;br /&gt;   &lt;br /&gt;    If potMod &gt; 0 THEN&lt;br /&gt;      for i=1 to potMod&lt;br /&gt;       &lt;br /&gt;        high p9&lt;br /&gt;        pause bspace&lt;br /&gt;      &lt;br /&gt;     low p9  &lt;br /&gt;     pause bspace&lt;br /&gt;     &lt;br /&gt;    next i &lt;br /&gt;    pause longBspace &lt;br /&gt;    ENDIF &lt;br /&gt;    &lt;br /&gt;    &lt;br /&gt;   pause seqSpace&lt;br /&gt;endif&lt;br /&gt;&lt;br /&gt;if potLED &gt;= 9 then '45 mins &lt;br /&gt;   High p1&lt;br /&gt;   high p2&lt;br /&gt;   high p3&lt;br /&gt;   HIGH p4 &lt;br /&gt;   HIGH p5&lt;br /&gt;   HIGH p6&lt;br /&gt;   HIGH p7&lt;br /&gt;   HIGH p8&lt;br /&gt;   HIGH p9 &lt;br /&gt;   &lt;br /&gt;    If potMod &gt; 0 THEN&lt;br /&gt;      for i=1 to potMod&lt;br /&gt;       &lt;br /&gt;        high p10&lt;br /&gt;        pause bspace&lt;br /&gt;      &lt;br /&gt;     low p10  &lt;br /&gt;     pause bspace&lt;br /&gt;     &lt;br /&gt;    next i &lt;br /&gt;    pause longBspace &lt;br /&gt;    ENDIF &lt;br /&gt;    &lt;br /&gt;   pause seqSpace&lt;br /&gt;endif&lt;br /&gt;&lt;br /&gt;if potLED &gt;= 10 then '50 mins &lt;br /&gt;   High p1&lt;br /&gt;   high p2&lt;br /&gt;   high p3&lt;br /&gt;   HIGH p4 &lt;br /&gt;   HIGH p5&lt;br /&gt;   HIGH p6&lt;br /&gt;   HIGH p7&lt;br /&gt;   HIGH p8&lt;br /&gt;   HIGH p9 &lt;br /&gt;   HIGH p10&lt;br /&gt;   &lt;br /&gt;    If potMod &gt; 0 THEN&lt;br /&gt;      for i=1 to potMod&lt;br /&gt;       &lt;br /&gt;        high p11&lt;br /&gt;        pause bspace&lt;br /&gt;      &lt;br /&gt;     low p11  &lt;br /&gt;     pause bspace&lt;br /&gt;     &lt;br /&gt;    next i &lt;br /&gt;    pause longBspace &lt;br /&gt;    ENDIF &lt;br /&gt;    &lt;br /&gt;   pause seqSpace&lt;br /&gt;endif&lt;br /&gt;&lt;br /&gt;if potLED &gt;= 11 then '55 mins &lt;br /&gt;   High p1&lt;br /&gt;   high p2&lt;br /&gt;   high p3&lt;br /&gt;   HIGH p4 &lt;br /&gt;   HIGH p5&lt;br /&gt;   HIGH p6&lt;br /&gt;   HIGH p7&lt;br /&gt;   HIGH p8&lt;br /&gt;   HIGH p9 &lt;br /&gt;   HIGH p10&lt;br /&gt;   HIGH p11&lt;br /&gt;   &lt;br /&gt;    If potMod &gt; 0 THEN&lt;br /&gt;      for i=1 to potMod&lt;br /&gt;       &lt;br /&gt;        high p12&lt;br /&gt;        pause bspace&lt;br /&gt;      &lt;br /&gt;     low p12  &lt;br /&gt;     pause bspace&lt;br /&gt;     &lt;br /&gt;    next i &lt;br /&gt;    pause longBspace &lt;br /&gt;    ENDIF &lt;br /&gt;     &lt;br /&gt;   pause seqSpace&lt;br /&gt;endif&lt;br /&gt;&lt;br /&gt;if potLED == 12 then '60 mins     'does not exist  AVANI!&lt;br /&gt;   High p1&lt;br /&gt;   high p2&lt;br /&gt;   high p3&lt;br /&gt;   HIGH p4 &lt;br /&gt;   HIGH p5&lt;br /&gt;   HIGH p6&lt;br /&gt;   HIGH p7&lt;br /&gt;   HIGH p8&lt;br /&gt;   HIGH p9 &lt;br /&gt;   HIGH p10&lt;br /&gt;   HIGH p11&lt;br /&gt;   HIGH p12&lt;br /&gt;   pause seqSpace&lt;br /&gt;endif&lt;br /&gt;&lt;br /&gt;'Pause 1000 'this needs to compensate for rest of minute&lt;br /&gt;high portd.2&lt;br /&gt;pause 400&lt;br /&gt;low portd.2&lt;br /&gt;SEROUT2 portc.6, 16468, ["end sequence here", 13,10,13,10]&lt;br /&gt; &lt;br /&gt;goSub turnLow&lt;br /&gt;&lt;br /&gt;RETURN&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;turnLow: 'turns all LEDs off&lt;br /&gt;PAUSE 1000&lt;br /&gt;'LOW p1&lt;br /&gt;LOW p2&lt;br /&gt;LOW p3&lt;br /&gt;LOW p4&lt;br /&gt;LOW p5&lt;br /&gt;LOW p6&lt;br /&gt;&lt;br /&gt;LOW p7&lt;br /&gt;LOW p8&lt;br /&gt;LOW p9&lt;br /&gt;LOW p10&lt;br /&gt;LOW p11&lt;br /&gt;LOW p12&lt;br /&gt;&lt;br /&gt;RETURN&lt;br /&gt;&lt;br /&gt;setClock:&lt;br /&gt;'Write command&lt;br /&gt;RTCSec=$00 ' Seconds&lt;br /&gt;RTCMin=$08 ' Minutes&lt;br /&gt;RTCHour= $01 ' Hours&lt;br /&gt;RTCWDay=$01 ' Weekday&lt;br /&gt;RTCDay=$19 ' Day&lt;br /&gt;RTCMonth=$05 ' Months&lt;br /&gt;RTCYear=$05 ' Year&lt;br /&gt;RTCCtrl=$10 ' Control preset to output 1 second 'Tick' on SQWpin&lt;br /&gt;I2CWrite SDA,SCL,$D0,$00,[RTCSec,RTCMin,RTCHour,RTCWDay,RTCDay,RTCMonth,RTCYear,RTCCtrl]&lt;br /&gt;Pause 1000&lt;br /&gt;&lt;br /&gt;return&lt;br /&gt;&lt;/pre&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16776717-113477377386224356?l=pcomp-av.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pcomp-av.blogspot.com/feeds/113477377386224356/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16776717&amp;postID=113477377386224356' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16776717/posts/default/113477377386224356'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16776717/posts/default/113477377386224356'/><link rel='alternate' type='text/html' href='http://pcomp-av.blogspot.com/2005/12/clockchip.html' title='CLOCKchip'/><author><name>Avani</name><uri>http://www.blogger.com/profile/00093604322537072335</uri><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-16776717.post-113226911665153506</id><published>2005-11-17T15:02:00.000-08:00</published><updated>2005-11-17T15:26:36.276-08:00</updated><title type='text'>FlowerINProgress</title><content type='html'>&lt;span style="font-weight: bold;font-size:130%;" &gt;Parts List&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;   &lt;li&gt;2 colors of fabric: inside petals, outside petals&lt;/li&gt; &lt;/ul&gt; &lt;ul&gt;   &lt;li&gt;12 servos: 6 small, 6 regular size.  Need servos with a bit more torque&lt;/li&gt; &lt;/ul&gt; &lt;ul&gt;   &lt;li&gt;12 servo arms&lt;/li&gt; &lt;/ul&gt; &lt;ul&gt;   &lt;li&gt;servo mounting tape&lt;/li&gt; &lt;/ul&gt; &lt;ul&gt;   &lt;li&gt;12 super bright LEDs: 6 blue, 6 white&lt;/li&gt; &lt;/ul&gt; &lt;ul&gt;   &lt;li&gt;2 circular wooden bases to mount servos on&lt;/li&gt; &lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;This is what the top view of the piece will look like&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/7955/1601/1600/roundTop.gif"&gt;&lt;img style="cursor: pointer;" src="http://photos1.blogger.com/blogger/7955/1601/320/roundTop.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-size:130%;"&gt;Code so far...&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;Based on some servo testing fun, I determined the angel to open and close a petal.&lt;br /&gt;&lt;br /&gt;Then a coded functions to control this.  Finally I added a switch so I can bloom and close petals as I wish.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/7955/1601/1600/servo_dia.gif"&gt;&lt;img style="cursor: pointer;" src="http://photos1.blogger.com/blogger/7955/1601/320/servo_dia.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;font&gt;&lt;span style="color:purple;"&gt;&lt;span style="font-size:78%;"&gt;&lt;br /&gt;DEFINE OSC 4 'ADC DEFINITIONS&lt;br /&gt;DEFINE ADC_BITS 10 'CHANGE ADCON1 IF 10 BIT OR 8&lt;br /&gt;DEFINE ADC_CLOCK 4&lt;br /&gt;DEFINE ADC_SAMPLEuS 50&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;OUTPUT portd.2    ' LED debug&lt;br /&gt;OUTPUT portd.1&lt;br /&gt;&lt;br /&gt;OUTPUT portb.7    ' servo is on this port&lt;br /&gt;OUTPUT portb.6    ' servo is on this port&lt;br /&gt;OUTPUT portb.5    ' servo is on this port&lt;br /&gt;OUTPUT portb.4    ' servo is on this port&lt;br /&gt;&lt;br /&gt;INPUT portc.4     ' openFlower switch&lt;br /&gt;INPUT portc.6     ' closeFlower switch&lt;br /&gt;&lt;br /&gt;HIGH portd.1&lt;br /&gt;PAUSE 200&lt;br /&gt;LOW portd.1&lt;br /&gt;PAUSE 200&lt;br /&gt;&lt;br /&gt;start:&lt;br /&gt;LotOpening VAR BYTE&lt;br /&gt;&lt;br /&gt;pulseWidth VAR BYTE&lt;br /&gt;' set up constants with the minimum and maximum pulsewidths&lt;br /&gt;'  minPulse CON 140&lt;br /&gt;'  maxPulse CON 220&lt;br /&gt;&lt;br /&gt;openPetal CON 140  ' minPulse&lt;br /&gt;closePetal CON 220 'maxPulse&lt;br /&gt;&lt;br /&gt;'write method for opening and closing&lt;br /&gt;&lt;br /&gt;' set up a constant with the time between pulses:&lt;br /&gt;refreshPeriod CON 20&lt;br /&gt;&lt;br /&gt;' set an initial pulsewidth:&lt;br /&gt;pulseWidth = closePetal 'start with closed petal stata&lt;br /&gt;&lt;br /&gt;LotOpening = 1  ' it's opening&lt;br /&gt;&lt;br /&gt;main:&lt;br /&gt;' change the angle for the next time around:&lt;br /&gt;if (portc.4=1) then&lt;br /&gt;high portd.1 ' light at end of petal is on this port&lt;br /&gt;PAUSE 500&lt;br /&gt;LOW portd.1&lt;br /&gt;GOSUB bloom  ' petals open&lt;br /&gt;ENDIF&lt;br /&gt;&lt;br /&gt;IF (portc.6=1) THEN&lt;br /&gt;LOw portd.1&lt;br /&gt;PAUSE 500&lt;br /&gt;GOSUB encase  'petals close&lt;br /&gt;ENDIF&lt;br /&gt;&lt;br /&gt;GOTO main&lt;br /&gt;&lt;br /&gt;move:&lt;br /&gt;&lt;br /&gt;' pulse the pin&lt;br /&gt;PULSOUT PORTb.7, pulseWidth&lt;br /&gt;PULSOUT PORTb.6, pulseWidth&lt;br /&gt;PULSOUT PORTb.5, pulseWidth&lt;br /&gt;PULSOUT PORTb.4, pulseWidth&lt;br /&gt;' pause for as long as needed:&lt;br /&gt;PAUSE refreshPeriod&lt;br /&gt;RETURN&lt;br /&gt;&lt;br /&gt;bloom:&lt;br /&gt;IF (pulseWidth &gt; openPetal) AND (LotOpening=1) THEN 'if the pulse is greater than 50&lt;br /&gt;pulseWidth = pulseWidth-1 ' knock it down&lt;br /&gt;GOSUB move&lt;br /&gt;&lt;br /&gt;ENDIF&lt;br /&gt;&lt;br /&gt;IF (pulseWidth = openPetal) THEN 'when pulseWidth reaches totally open state&lt;br /&gt;LotOpening=0&lt;br /&gt;pulseWidth = pulseWidth+1&lt;br /&gt;&lt;br /&gt;ENDIF&lt;br /&gt;RETURN&lt;br /&gt;&lt;br /&gt;encase:&lt;br /&gt;IF (pulseWidth &lt; lotopening="0)" pulsewidth =" pulseWidth+1" pulsewidth =" closePetal)" lotopening="1" pulsewidth =" pulseWidth-1"&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16776717-113226911665153506?l=pcomp-av.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pcomp-av.blogspot.com/feeds/113226911665153506/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16776717&amp;postID=113226911665153506' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16776717/posts/default/113226911665153506'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16776717/posts/default/113226911665153506'/><link rel='alternate' type='text/html' href='http://pcomp-av.blogspot.com/2005/11/flowerinprogress.html' title='FlowerINProgress'/><author><name>Avani</name><uri>http://www.blogger.com/profile/00093604322537072335</uri><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-16776717.post-113166326229906420</id><published>2005-11-10T14:48:00.000-08:00</published><updated>2005-11-10T15:04:11.963-08:00</updated><title type='text'>PROJECTObservation</title><content type='html'>The real life inspiration:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/7955/1601/1600/nellut2.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://photos1.blogger.com/blogger/7955/1601/320/nellut2.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I went to the &lt;a href="http://www.nybg.org/"&gt;New York Botanical Garden&lt;/a&gt; and apparently lotuses are not around this time of year. Nevertheless I found ample inspiration among the rainforest flora.&lt;br /&gt;&lt;br /&gt;Here are some flowers that may work for the hours&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/7955/1601/1600/hours2.jpg"&gt;&lt;img style="cursor: pointer;" src="http://photos1.blogger.com/blogger/7955/1601/320/hours2.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/7955/1601/1600/hours1.jpg"&gt;&lt;img style=" cursor: pointer;" src="http://photos1.blogger.com/blogger/7955/1601/320/hours1.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br&gt;&lt;br /&gt;Here are some stems that may work for the minutes:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/7955/1601/1600/stems2.jpg"&gt;&lt;img style="cursor: pointer;" src="http://photos1.blogger.com/blogger/7955/1601/320/stems2.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/7955/1601/1600/stems1.jpg"&gt;&lt;img style="cursor: pointer;" src="http://photos1.blogger.com/blogger/7955/1601/320/stems1.jpg" alt="" 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/16776717-113166326229906420?l=pcomp-av.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pcomp-av.blogspot.com/feeds/113166326229906420/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16776717&amp;postID=113166326229906420' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16776717/posts/default/113166326229906420'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16776717/posts/default/113166326229906420'/><link rel='alternate' type='text/html' href='http://pcomp-av.blogspot.com/2005/11/projectobservation.html' title='PROJECTObservation'/><author><name>Avani</name><uri>http://www.blogger.com/profile/00093604322537072335</uri><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-16776717.post-113166264317789000</id><published>2005-11-10T14:41:00.000-08:00</published><updated>2005-11-10T14:44:03.206-08:00</updated><title type='text'>InitialPROTOTYPE</title><content type='html'>My first prototype of the timepiece.  The small stems in the middle represent the minutes, the inner petals the hours from 1-6, the outer petals the hours from 7-12.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/7955/1601/1600/init_proto.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://photos1.blogger.com/blogger/7955/1601/320/init_proto.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16776717-113166264317789000?l=pcomp-av.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pcomp-av.blogspot.com/feeds/113166264317789000/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16776717&amp;postID=113166264317789000' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16776717/posts/default/113166264317789000'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16776717/posts/default/113166264317789000'/><link rel='alternate' type='text/html' href='http://pcomp-av.blogspot.com/2005/11/initialprototype.html' title='InitialPROTOTYPE'/><author><name>Avani</name><uri>http://www.blogger.com/profile/00093604322537072335</uri><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-16776717.post-113105143882254795</id><published>2005-11-03T12:55:00.000-08:00</published><updated>2005-11-04T09:25:18.716-08:00</updated><title type='text'>FinalPROJECT: Lotus of Time</title><content type='html'>For my final project I had the idea of making a clock [something that I needed in my room anyway]. My goal is to designing a clock of subtle beauty, not harsh and mechanical; a reinterpretation of nature, something that I miss dearly living in the concrete jungle.&lt;br /&gt;&lt;br /&gt;The organic design and reverence for nature in India has always been a constant source of inspiration for me.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="http://itp.nyu.edu/%7Eap1493/pcomp/lotus_clock/hands.jpg" /&gt;&lt;br /&gt;&lt;img src="http://itp.nyu.edu/%7Eap1493/pcomp/lotus_clock/pond.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;This past June I went Udaipur in the state of Rajasthan. We toured its famous palace, which in my mind is the Indian counterpart of the Palace of Versailles. The marble carvings found embedded in niches, doorways, floors were exquisite. I was most struck by the simple flower carvings.&lt;br /&gt;&lt;br /&gt;&lt;img src="http://itp.nyu.edu/%7Eap1493/pcomp/lotus_clock/udaipur_2.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;The flower pattern inspired an ID project, namely repeating flowers cut out of leather, to be worn as a necklace. I liked the design so much that I realized the petals would be perfect for my clock interpretation.&lt;br /&gt;&lt;br /&gt;Ideally, my clock will have the following features:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Tell time, via the petals of the flower and its tendrils&lt;/li&gt;&lt;br /&gt;&lt;li&gt;possibly differentiate between AM/PM&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Show seasons, via the change in light color&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Display date, again via the petals of the flower, altho I have to work out how to diffential the time and the date&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Be able to toggle between different time zones. My family is spread all over the world and having this function would be very handy when I need to make phone calls&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;The remaining questions are:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;scale, I like building in large scale, but I may built a small prototype to work out the kinks with&lt;/li&gt;&lt;br /&gt;&lt;li&gt;materials. Right now I envision using plexiglass &amp;amp; blue and white wire. The color of the wire is extremely important as I want the wiring to be a part of the design. Plexi is quite expensive, so I may have to substitute another material.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;finding the correct LEDs&lt;/li&gt;&lt;br /&gt;&lt;li&gt;figuring out how it can be mounted onto a wall, or should it be standalone?&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16776717-113105143882254795?l=pcomp-av.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pcomp-av.blogspot.com/feeds/113105143882254795/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16776717&amp;postID=113105143882254795' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16776717/posts/default/113105143882254795'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16776717/posts/default/113105143882254795'/><link rel='alternate' type='text/html' href='http://pcomp-av.blogspot.com/2005/11/finalproject-lotus-of-time.html' title='FinalPROJECT: Lotus of Time'/><author><name>Avani</name><uri>http://www.blogger.com/profile/00093604322537072335</uri><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-16776717.post-113062697972504313</id><published>2005-10-29T16:01:00.000-07:00</published><updated>2005-10-29T16:06:43.890-07:00</updated><title type='text'>The.USER.Illusion</title><content type='html'>The art I have made in the past could be defined as high resolution (3d animation) or low resolution (drawings).  In my time at ITP, my purpose is to create art that responds to a user, not something that simply exists to be viewed.  It is tempting to throw a lot out to the user at once, but "The User Illusion" illustrates that all these things are filtered differently by all, depending on a number of variables.  The variable that interests me the most is increasing conscious bandwidth by tapping into a user's emotions.  I saw Daniel Rozin's "Wooden Mirror" at SIGGRAPH years ago.  But I only recalled it once I heard of physical computing.  The secondary spark in me came years after I interacted with the mirror.  When that happened it changed the course of how I see things.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16776717-113062697972504313?l=pcomp-av.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pcomp-av.blogspot.com/feeds/113062697972504313/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16776717&amp;postID=113062697972504313' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16776717/posts/default/113062697972504313'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16776717/posts/default/113062697972504313'/><link rel='alternate' type='text/html' href='http://pcomp-av.blogspot.com/2005/10/theuserillusion.html' title='The.USER.Illusion'/><author><name>Avani</name><uri>http://www.blogger.com/profile/00093604322537072335</uri><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-16776717.post-113061808181765864</id><published>2005-10-29T13:32:00.000-07:00</published><updated>2005-10-29T16:01:20.413-07:00</updated><title type='text'>Obs Proj TWO, the Final Stretch [um, Prototype]</title><content type='html'>Although the drum trigger was working, it was not giving us reliable results. As suggested in class we decided to work in parallel. We ultimately wanted two working paddles, so we decided to have one hooked up to a midi synth box and the other one using the &lt;a href="http://sonia.pitaru.com/"&gt;Sonia sound library&lt;/a&gt; in &lt;a href="http://processing.org/"&gt;Processing&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;I am not taking ICM so I had never used Processing before.  Dan Shiffman's &lt;a href="http://stage.itp.tsoa.nyu.edu/ICM/"&gt;book draft&lt;/a&gt; was invaluable in getting me up to speed, but soon realized that sound was not Processing's forte. At the end of the day I got Daniel to come by and take a look at my code and even he couldn't figure out why it wasn't working!&lt;br /&gt;&lt;br /&gt;So I ditched Sonia for the time being and got the midi synth box from the ER. I got some simple tones to play with the paddle. Going back to my days of playing flute I got the paddles to play Salt 'n Peppa's "Push It".&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/7955/1601/1600/salt_pepa.jpg"&gt;&lt;img style="cursor: pointer;" src="http://photos1.blogger.com/blogger/7955/1601/320/salt_pepa.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;span style="color:purple;"&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="font-family:Arial;"&gt;&lt;br /&gt;DEFINE OSC 20&lt;br /&gt;DEFINE HSER_RCSTA 90h ' enable the receive register&lt;br /&gt;DEFINE HSER_TXSTA 20h  ' enable the transmit register&lt;br /&gt;DEFINE HSER_BAUD 31250 ' set the baud rate&lt;br /&gt;&lt;br /&gt;TRISD = %00000000   'Set all of PORTD pins to output mode&lt;br /&gt;&lt;br /&gt;paddleVar VAR word 'Create variable to store result&lt;br /&gt;pitch var byte(12)&lt;br /&gt;&lt;br /&gt;i var byte&lt;br /&gt;i=0&lt;br /&gt;&lt;br /&gt;' ranges for reference&lt;br /&gt;pitch(0) = 60' mid c&lt;br /&gt;pitch(1) = 61' c#&lt;br /&gt;pitch(2) = 62' d&lt;br /&gt;pitch(3) = 63' d#&lt;br /&gt;pitch(4) = 64' e&lt;br /&gt;pitch(5) = 65' f&lt;br /&gt;pitch(6) = 66' f#&lt;br /&gt;pitch(7) = 67' g&lt;br /&gt;pitch(8) = 68' g#&lt;br /&gt;pitch(9) = 69' a&lt;br /&gt;pitch(10) = 70' a#&lt;br /&gt;pitch(11) = 71' b&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;' a,e,d,c,b,g,g,b,c,b,g - salt n peppa push it!&lt;br /&gt;'69,64,62,60,71,67,67,71,60,71,67&lt;br /&gt;song var byte(11)&lt;br /&gt;song(0)=69&lt;br /&gt;song(1)=64&lt;br /&gt;song(2)=62&lt;br /&gt;song(3)=60&lt;br /&gt;song(4)=71&lt;br /&gt;song(5)=67&lt;br /&gt;song(6)=67&lt;br /&gt;song(7)=71&lt;br /&gt;song(8)=60&lt;br /&gt;song(9)=71&lt;br /&gt;song(10)=67&lt;br /&gt;&lt;br /&gt;'light debug sequence&lt;br /&gt; high PORTD.0&lt;br /&gt; pause 200  &lt;br /&gt; low PORTD.0&lt;br /&gt;&lt;br /&gt; high PORTD.1 &lt;br /&gt; PAUSE 200&lt;br /&gt; low PORTD.1&lt;br /&gt;&lt;br /&gt;main:&lt;br /&gt; ADCIN 3, paddleVar 'coming in at analog port 3&lt;br /&gt;&lt;br /&gt; if paddleVar &gt; 100 THEN 'set to 100 since slight vibrations give off readings&lt;br /&gt;    hserout [$90, pitch(i),$40]&lt;br /&gt;    if(i&gt;11) then 'loop thru song once its at end reset to 0 o&lt;br /&gt;     i=0&lt;br /&gt;     ELSE&lt;br /&gt;     i=i+1&lt;br /&gt;    ENDIF&lt;br /&gt; ENDIF&lt;br /&gt;&lt;br /&gt; PAUSE 100&lt;br /&gt;&lt;br /&gt;goto main&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;*One thing to remember, when working with the midi box, you need a 20 hz clock and when you program the chip you have to change the oscillator from XT to HS.&lt;br /&gt;&lt;br /&gt;&lt;FONT SIZE=3&gt;ConstructionWOES&lt;/FONT&gt;&lt;br /&gt;On the sensor/paddle side, Steve ran into &lt;a href="http://donnytsang.com/interactive/image.php?pic=inter4"&gt;Danny Tsang&lt;/a&gt; [who had done a similiar project for a class] and he told us a better way to rig the paddles.  Steve stripped a piezo speaker and took out the piezo film inside, carefully soldered the connections.  &lt;br /&gt;&lt;br /&gt;&lt;br&gt;&lt;br&gt;We hollowed out the paddle handle, ran wires through it and glued the pieces back on. &lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/7955/1601/1600/paddle_diagram.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://photos1.blogger.com/blogger/7955/1601/320/paddle_diagram.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br&gt;&lt;br&gt;Steve used Gorilla Glue, which takes about 3 hours to dry.  BUT the glue expands which fixes the sensor into place. [pic here]&lt;br /&gt;&lt;br /&gt;We got some code that handled the sensor peak readings and luckily got Sonia to work at the last minute. &lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;span style="color:purple;"&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="font-family:Arial;"&gt;&lt;br /&gt;&lt;br /&gt;' Define ADCIN parameters&lt;br /&gt;DEFINE  ADC_BITS        10             ' Set number of bits in result&lt;br /&gt;DEFINE  ADC_CLOCK       3          ' Set clock source (3=rc)&lt;br /&gt;DEFINE  ADC_SAMPLEUS    20          ' Set sampling time in uS&lt;br /&gt;&lt;br /&gt;PeakValue var word&lt;br /&gt;SensorValue var word&lt;br /&gt;LastSensorValue var word&lt;br /&gt;Threshold var word&lt;br /&gt;Noise var word&lt;br /&gt;PingPong VAR WORD&lt;br /&gt;&lt;br /&gt;PingPong = 420&lt;br /&gt;&lt;br /&gt;' serial pins and data reate:&lt;br /&gt;tx var portc.6&lt;br /&gt;rx var portc.7&lt;br /&gt;n9600 con 16468&lt;br /&gt;&lt;br /&gt;Threshold = 50       ' set your own value based on your sensors&lt;br /&gt;PeakValue = 0        ' initialize peakValue&lt;br /&gt;noise = 5           ' set a noise value based on your particular sensor&lt;br /&gt;&lt;br /&gt;' Set PORTA to all input&lt;br /&gt;TRISA = %11111111&lt;br /&gt;' Set up ADCON1&lt;br /&gt;ADCON1 = %10000010&lt;br /&gt;&lt;br /&gt;Main:&lt;br /&gt;    ' read sensor on pin RA0:&lt;br /&gt;    ADCin 3, sensorValue&lt;br /&gt;&lt;br /&gt;    ' check to see that it's above the threshold:&lt;br /&gt;    If sensorValue &gt;= threshold + noise then&lt;br /&gt;        ' if it's greater than the last reading,&lt;br /&gt;        ' then make it our current peak:&lt;br /&gt;        If sensorValue &gt;= lastSensorValue + Noise then&lt;br /&gt;            PeakValue = sensorValue&lt;br /&gt;        endif&lt;br /&gt;    ' if the sensorValue is not above the threshold,&lt;br /&gt;    ' then the last peak value we got would be the actual peak:&lt;br /&gt;    Else&lt;br /&gt;        If peakValue &gt;= threshold then&lt;br /&gt;&lt;br /&gt;            ' this is the final peak value; take action&lt;br /&gt;            'serout2 tx, n9600, ["peak reading", DEC peakValue, 13,10]&lt;br /&gt;            'serout2 tx, n9600, [DEC peakValue]&lt;br /&gt;            serout2 tx, n9600, [DEC pingPong]&lt;br /&gt;        endif&lt;br /&gt;&lt;br /&gt;        ' reset peakValue, since we've finished with this peak:&lt;br /&gt;        peakValue = 0&lt;br /&gt;    Endif&lt;br /&gt;&lt;br /&gt;    ' store the current sensor value for the next loop:&lt;br /&gt;    lastSensorValue = sensorValue&lt;br /&gt;Goto main&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;span style="color:green;"&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="font-family:Arial;"&gt;&lt;br /&gt;//PROCESSING CODE FOR SOUNDS&lt;br /&gt;&lt;br /&gt;import pitaru.sonia_v2_9.*;&lt;br /&gt;import processing.serial.*;&lt;br /&gt;&lt;br /&gt;/*avani added, put sounds in array, sounds should reside in same folder as .pde file */&lt;br /&gt;String[] wavArray = {"first.wav", "second.wav","third.wav"};// new String[3];&lt;br /&gt;&lt;br /&gt;//end avani additions &lt;br /&gt;int bgcolor;                      // background color&lt;br /&gt;int fgcolor;                      // fill color&lt;br /&gt;Serial port;                              // the serial port&lt;br /&gt;int[] serialInArray = new int[3];    // where we'll put what we receive&lt;br /&gt;int serialPong = 0;&lt;br /&gt;int serialCount = 0;                 // a count of how many bytes we receive&lt;br /&gt;&lt;br /&gt;boolean firstContact = false;  // whether we've heard from the microcontroller&lt;br /&gt;int j=0; //wavs index&lt;br /&gt;Sample bounce;&lt;br /&gt;&lt;br /&gt;void setup() {&lt;br /&gt;  size(256, 256);  // stage size&lt;br /&gt;  noStroke();            // no border on the next thing drawn&lt;br /&gt;&lt;br /&gt;  // print a list of the serial ports, for debugging purposes:&lt;br /&gt;  println(Serial.list());&lt;br /&gt;&lt;br /&gt;  port = new Serial(this, Serial.list()[0], 9600);&lt;br /&gt;  //port.write(65);    // send a capital A to start the microcontroller sending&lt;br /&gt;  Sonia.start(this); // Start Sonia engine.&lt;br /&gt;  &lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;void draw() {&lt;br /&gt;  background(bgcolor);&lt;br /&gt;  fill(fgcolor);&lt;br /&gt;  // get any new serial data:&lt;br /&gt;  while (port.available() &gt; 0) {&lt;br /&gt;    serialEvent();&lt;br /&gt;    // note that we heard from the microntroller:&lt;br /&gt;    firstContact = true;&lt;br /&gt;  }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;void serialEvent() {&lt;br /&gt;  processByte((char)port.read());&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;void processByte(char inByte) {&lt;br /&gt;  // add the latest byte from the serial port to array:&lt;br /&gt;  serialInArray[serialCount] = inByte;&lt;br /&gt;  serialCount++;&lt;br /&gt;  &lt;br /&gt;  // if we have 3 bytes:&lt;br /&gt;  if (serialCount &gt; 2 ) {&lt;br /&gt;    bounce = new Sample(wavArray[j]);    &lt;br /&gt;    serialPong = (int)serialInArray[0];&lt;br /&gt;    println(serialPong);&lt;br /&gt;    &lt;br /&gt;    if (serialPong == 52) {&lt;br /&gt;      bounce.play();&lt;br /&gt;      j++;&lt;br /&gt;      if (j&gt;2) { j=0;}&lt;br /&gt;     } serialCount = 0;&lt;br /&gt;  }&lt;br /&gt;}&lt;br /&gt;  &lt;br /&gt;// Safely close the sound engine upon Browser shutdown.&lt;br /&gt;public void stop(){&lt;br /&gt;  Sonia.stop();&lt;br /&gt;  super.stop();&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;[processing code here]&lt;br /&gt;&lt;br /&gt;We constructed two Radio Shack project boxes in order to keep the components in place when the user swings the paddle. &lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/7955/1601/1600/box_setup.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://photos1.blogger.com/blogger/7955/1601/320/box_setup.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/7955/1601/1600/box_setup2.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://photos1.blogger.com/blogger/7955/1601/320/box_setup2.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;So without further ado....see the project in action! That's right! &lt;a href="http://itp.nyu.edu/~ap1493/pingpong/thats_right.avi"&gt;Click here&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Lots of fun was had.  &lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/7955/1601/1600/milmoe.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://photos1.blogger.com/blogger/7955/1601/320/milmoe.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16776717-113061808181765864?l=pcomp-av.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16776717/posts/default/113061808181765864'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16776717/posts/default/113061808181765864'/><link rel='alternate' type='text/html' href='http://pcomp-av.blogspot.com/2005/10/obs-proj-two-final-stretch-um.html' title='Obs Proj TWO, the Final Stretch [um, Prototype]'/><author><name>Avani</name><uri>http://www.blogger.com/profile/00093604322537072335</uri><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></entry><entry><id>tag:blogger.com,1999:blog-16776717.post-113001501873301012</id><published>2005-10-22T14:01:00.000-07:00</published><updated>2005-10-22T14:03:38.733-07:00</updated><title type='text'>Observation Project TWO, it's Analog, it's digital....it ANALOG!</title><content type='html'>Steven decided to strip the drum trigger to see what was inside.  He found piezo film which basically senses vibration.  We rigged the paddle so that the film was placed inside a groove cut for it near the bottom of the paddle.  It picked up the vibration and so we figured out YES the drum trigger is analog.  Oh and when the vibration was sensed, the LED in Santa's mouth lit up!  &lt;span style="font-weight:bold;"&gt;"Ping Pong, Santa's ON."&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16776717-113001501873301012?l=pcomp-av.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pcomp-av.blogspot.com/feeds/113001501873301012/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16776717&amp;postID=113001501873301012' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16776717/posts/default/113001501873301012'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16776717/posts/default/113001501873301012'/><link rel='alternate' type='text/html' href='http://pcomp-av.blogspot.com/2005/10/observation-project-two-its-analog-its.html' title='Observation Project TWO, it&apos;s Analog, it&apos;s digital....it ANALOG!'/><author><name>Avani</name><uri>http://www.blogger.com/profile/00093604322537072335</uri><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>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16776717.post-112951364688927369</id><published>2005-10-16T18:45:00.000-07:00</published><updated>2005-10-16T19:05:40.770-07:00</updated><title type='text'>Observation Project TWO, Phase II</title><content type='html'>We convened and decided to each take a paddle and try out different sensors.  We all ended up in the lab at the same time and worked from one board, each testing after another.  &lt;br /&gt;&lt;br /&gt;Conclusions and findings: &lt;br /&gt;&lt;br /&gt;- Drum trigger is digital NOT analog.  Had to be hit at a specific pt and not big enough to cover surface area of paddle.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;- Flex sensor.  Idea was to attach multiple flex sensors to a paddle.  Only flex sensor detects when a tennis ball hits it but the range of values is small, very similiar to values when just moving paddle.  We tried a various of resistors but this just dropped the values from 900 to 200, but the overall number range stayed the same.  After three different flex sensors and no consistent results we decided to try some Piezos.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/7955/1601/1600/paddle1.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://photos1.blogger.com/blogger/7955/1601/320/paddle1.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/7955/1601/1600/paddle3.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://photos1.blogger.com/blogger/7955/1601/320/paddle3.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16776717-112951364688927369?l=pcomp-av.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pcomp-av.blogspot.com/feeds/112951364688927369/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16776717&amp;postID=112951364688927369' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16776717/posts/default/112951364688927369'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16776717/posts/default/112951364688927369'/><link rel='alternate' type='text/html' href='http://pcomp-av.blogspot.com/2005/10/observation-project-two-phase-ii.html' title='Observation Project TWO, Phase II'/><author><name>Avani</name><uri>http://www.blogger.com/profile/00093604322537072335</uri><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-16776717.post-113001565813984888</id><published>2005-10-15T14:12:00.000-07:00</published><updated>2005-10-29T15:05:06.446-07:00</updated><title type='text'>WeekSIX</title><content type='html'>&lt;span style="color: rgb(255, 102, 0);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;Workshop.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;I had put off soldering for quite awhile so I decided to get to it and finally solder my serial cable to the header pins.  After that was done, I couldn't get any results in HyperTerminal.  Carlin showed me how to use the multimeter to check the connections and see if the signal was going through.  In spite of all the signals checking out, once I swapped out the serial header I got results again.&lt;br /&gt;&lt;br /&gt;Lesson learned:  &lt;span style="color: rgb(204, 0, 0); font-style: italic;"&gt;Solder carefully, very carefully&lt;/span&gt;.  Save yourself hours of frustration!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 0);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;Processing.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Since I'm not taking ICM I had no idea what Processing was.  I opened it up and after Arly pointed me to &lt;a href="http://stage.itp.tsoa.nyu.edu/ICM/"&gt;Dan Shiffman's site here&lt;/a&gt; and I read up on how Processing's Java based syntax flows, I felt more at ease. &lt;a href="http://itp.nyu.edu/%7Edbo3/cgi-bin/ClassWiki.cgi?ICMSerial"&gt;Dan OSullivan's site&lt;/a&gt; has the PIC Basic/Processing code that lets the PIC communicated with Processing.  I'm going to strip out all the junk and post a simpler, easier to understand version in a few days.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(255, 102, 0);font-size:130%;" &gt;Brainstorming.&lt;/span&gt;&lt;br /&gt;Since college I've always had an interest in furniture design. My ID class spent the last two weeks trash digging in order to acquire enough cardboard to make some chairs. I really dug the whole assignment and had the idea to make a clear chair that shows how many people have sat in it. The idea is still in the early stages so more to come in a week or so.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16776717-113001565813984888?l=pcomp-av.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pcomp-av.blogspot.com/feeds/113001565813984888/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16776717&amp;postID=113001565813984888' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16776717/posts/default/113001565813984888'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16776717/posts/default/113001565813984888'/><link rel='alternate' type='text/html' href='http://pcomp-av.blogspot.com/2005/10/weeksix.html' title='WeekSIX'/><author><name>Avani</name><uri>http://www.blogger.com/profile/00093604322537072335</uri><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-16776717.post-112899137849070333</id><published>2005-10-10T17:38:00.000-07:00</published><updated>2005-10-22T13:38:08.173-07:00</updated><title type='text'>A life lesson in bad design</title><content type='html'>Back in undergrad I did two research seminars on user interface design.  It made me shift my personal design paradigm from just making things look pretty to making something functional and usable as well.  About a year ago I bought the Design of Everyday Things, which essentially talks about the same concept in terms of physical objects.  I am currently taking an industrial design class as well, which has further emphasized the importance of form and function and its symbiosis.&lt;br /&gt;&lt;br /&gt;Fast forward to this weekend.  My boyfriend Erik gives me his extra iPod.  Not being a Mac fan, I am still excited.  I was talking on the phone and in my multitasking I connected the WRONG dock cover to the docking station.  After wasting 40 minutes on tech support while alternately googling trying to see if the fucking cover was removable, my patience evaporated and I had to destroy the cover in order to get it off.  While the rest of the iPod maybe a piece of brilliant design, the docking design leaves A LOT to be desired.  I will admit tho that I did enjoy the destruction.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/7955/1601/1600/ipod_destruction.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://photos1.blogger.com/blogger/7955/1601/320/ipod_destruction.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16776717-112899137849070333?l=pcomp-av.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pcomp-av.blogspot.com/feeds/112899137849070333/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16776717&amp;postID=112899137849070333' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16776717/posts/default/112899137849070333'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16776717/posts/default/112899137849070333'/><link rel='alternate' type='text/html' href='http://pcomp-av.blogspot.com/2005/10/life-lesson-in-bad-design.html' title='A life lesson in bad design'/><author><name>Avani</name><uri>http://www.blogger.com/profile/00093604322537072335</uri><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-16776717.post-112863087719007772</id><published>2005-10-06T13:15:00.000-07:00</published><updated>2005-10-06T13:39:38.603-07:00</updated><title type='text'>Week FIVE</title><content type='html'>I spent quite a bit of time in the lab Wednesday (instead of doing my ID project)...basically lit up a 10 segment bar, got the servo to do some weird unintended things and made some noise with the piezo buzzer. See code below, its simple but might save you a few seconds if you pick it up from here:&lt;br /&gt;&lt;br /&gt;* BUZZER CODE *&lt;span style="color:purple;"&gt;&lt;br /&gt;&lt;span style="font-family:arial;font-size:85%;"&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;DEFINE OSC 4&lt;br /&gt;&lt;br /&gt;main:&lt;br /&gt;  HIGH portd.2&lt;br /&gt;  pause 500 ' change up pauses and see what happens&lt;br /&gt;  LOW portd.2&lt;br /&gt;  pause 500&lt;br /&gt;goto main&lt;br /&gt;&lt;br /&gt;*BUZZER CODE with ARRAY&lt;br /&gt;&lt;br /&gt;DEFINE OSC 4&lt;br /&gt;&lt;br /&gt;start:&lt;br /&gt;&lt;br /&gt;  TRISA = %11111111 ' Set PORTA to all input&lt;br /&gt;  OUTput portd.2&lt;br /&gt;&lt;br /&gt;  toneRange VAR WORD[10] ' define array with 10 elements&lt;br /&gt;  toneRange(1)=200&lt;br /&gt;  toneRange(2)=400&lt;br /&gt;  toneRange(3)=600&lt;br /&gt;&lt;br /&gt;main:&lt;br /&gt;&lt;br /&gt;  i var byte&lt;br /&gt;' loop allows me to build up a range of pauses with a few lines of code&lt;br /&gt;' change 3 to array length as array items are added&lt;br /&gt;&lt;br /&gt;  FOR i = 1 TO 3&lt;br /&gt;    HIGH portd.2&lt;br /&gt;    pause toneRange(i)&lt;br /&gt;    LOW portd.2&lt;br /&gt;&lt;br /&gt;    pause toneRange(i)&lt;br /&gt;    next i&lt;br /&gt;&lt;br /&gt;goto main&lt;/pre&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;color:#6666cc;"&gt;&lt;strong&gt;Observation Project TWO, Phase 1.&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#000000;"&gt;Our group had lots of ideas...involving pool cues, rotating tables, something we dubbed the Jeopardy Meat Buzzer, vacuum tube delivery. All good, but we decided to go simple: Ping Pong. So we got some paddles and did some um, research. See the video here: &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://itp.nyu.edu/~sj695/pingpong" target="_blank"&gt;http://itp.nyu.edu/ ~sj695/pingpong/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16776717-112863087719007772?l=pcomp-av.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pcomp-av.blogspot.com/feeds/112863087719007772/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16776717&amp;postID=112863087719007772' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16776717/posts/default/112863087719007772'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16776717/posts/default/112863087719007772'/><link rel='alternate' type='text/html' href='http://pcomp-av.blogspot.com/2005/10/week-five.html' title='Week FIVE'/><author><name>Avani</name><uri>http://www.blogger.com/profile/00093604322537072335</uri><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-16776717.post-112844878632404346</id><published>2005-10-04T10:57:00.000-07:00</published><updated>2005-10-04T11:27:44.546-07:00</updated><title type='text'>Week FOUR</title><content type='html'>&lt;span style="font-weight: bold;"&gt;Observation Project Continued...&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Meeting again, Charles and I decided that the dog run mister would be the most beneficial of our ideas.  The mister's features:&lt;br /&gt;&lt;br /&gt;1) A long mister at waist level in a shaded area&lt;br /&gt;2) When the temperature/humidity/heat index go above a certain point the mister will automatically come on&lt;br /&gt;3) Has human override so it can be turned on/off whenever wanted&lt;br /&gt;4) Has a motion detector so if there is no one in the run the mister will not turn on&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Serials and Pots&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;After soldering the header to the serial connector, I got to programming. I had lots of ideas, but eventually I just wanted output that moved along the screen as the potentiometer was turned.&lt;br /&gt;&lt;br /&gt;TIP: I found that soldering the header was not necessary. Just clip the pins off the connector, clipping all the way down to the hole and jam the header in the holes. I tested it and the connector worked great this way.&lt;br /&gt;&lt;br /&gt;The code:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;span style="font-family: arial;font-size:85%;" &gt;&lt;br /&gt; &lt;span style="color: rgb(153, 51, 153);"&gt;DEFINE  ADC_BITS  10     ' Set number of bits in result&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(153, 51, 153);"&gt;DEFINE  ADC_CLOCK 3      ' Set clock source(3=rc)&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(153, 51, 153);"&gt;DEFINE  ADC_SAMPLEUS 50  ' Set sampling time in uS&lt;/span&gt;&lt;br /&gt; &lt;br /&gt; &lt;br /&gt; &lt;span style="color: rgb(153, 51, 153);"&gt;ADCvar  VAR WORD    ' Create variable to store result&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(153, 51, 153);"&gt;smallRange VAR WORD             ' holds smaller range of pot&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(153, 51, 153);"&gt;decRange VAR WORD&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(153, 51, 153);"&gt;prevRange VAR WORD&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(153, 51, 153);"&gt;TRISA = %11111111       ' Set PORTA to all input&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(153, 51, 153);"&gt;ADCON1 = %10000010      ' Set PORTA analog and right justify result&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(153, 51, 153);"&gt;Pause 500               ' Wait .5 second&lt;/span&gt;&lt;br /&gt; &lt;br /&gt; &lt;br /&gt; &lt;span style="color: rgb(153, 51, 153);"&gt;serout2 PORTC.6, 16468, ["Avani Patel"]&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(153, 51, 153);"&gt;main:     &lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(153, 51, 153);"&gt;    ADCIN 0, ADCvar       ' Read channel 0 to adval&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(153, 51, 153);"&gt;'    serout2 PORTC.6, 16468, [DEC ADCvar, 13, 10]  &lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(153, 51, 153);"&gt;' print it to serial out, &lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(153, 51, 153);"&gt;' with linefeed and carriage return (10, 13)    &lt;/span&gt;&lt;br /&gt; &lt;br /&gt; &lt;span style="color: rgb(153, 51, 153);"&gt;    smallRange = ADCVAR/20&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(153, 51, 153);"&gt;    decRange=smallRange&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(153, 51, 153);"&gt;    &lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(153, 51, 153);"&gt;    serout2 PORTC.6, 16468, [DEC smallRange,13,10]&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(153, 51, 153);"&gt;    &lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(153, 51, 153);"&gt;    &lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(153, 51, 153);"&gt;    while decRange &gt; 0    ' inserts spaces based on POT&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(153, 51, 153);"&gt;        serout2 PORTC.6, 16468, [" "]&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(153, 51, 153);"&gt;        decRange=decRange-1  &lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(153, 51, 153);"&gt;        wend&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(153, 51, 153);"&gt;        &lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(153, 51, 153);"&gt;    if smallRange &gt; prevRange THEN  ' checks if pot is increasing or decreasing&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(153, 51, 153);"&gt;     SEROUT2 PORTC.6, 16468, ["increasing ----&gt;"]&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(153, 51, 153);"&gt;     SEROUT2 PORTC.6, 16468, [10, 13]&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(153, 51, 153);"&gt;    ENDIF&lt;/span&gt;&lt;br /&gt; &lt;br /&gt; &lt;span style="color: rgb(153, 51, 153);"&gt;    if smallRange = prevRange THEN&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(153, 51, 153);"&gt;     SEROUT2 PORTC.6, 16468, ["------ same -------"]&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(153, 51, 153);"&gt;    ENDIF&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(153, 51, 153);"&gt;     &lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(153, 51, 153);"&gt;    if smallRange &lt;&gt;&lt;br /&gt; &lt;span style="color: rgb(153, 51, 153);"&gt;        SEROUT2 PORTC.6, 16468, ["&lt;------- decreasing"]&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(153, 51, 153);"&gt;        SEROUT2 PORTC.6, 16468, [10, 13]&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(153, 51, 153);"&gt;    ENDIF&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(153, 51, 153);"&gt;    prevRange=smallRange&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(153, 51, 153);"&gt;    &lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(153, 51, 153);"&gt;GoTo main&lt;/span&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Took a bit of debugging and ugly math to pad the spaces, but it worked.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16776717-112844878632404346?l=pcomp-av.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pcomp-av.blogspot.com/feeds/112844878632404346/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16776717&amp;postID=112844878632404346' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16776717/posts/default/112844878632404346'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16776717/posts/default/112844878632404346'/><link rel='alternate' type='text/html' href='http://pcomp-av.blogspot.com/2005/10/week-four.html' title='Week FOUR'/><author><name>Avani</name><uri>http://www.blogger.com/profile/00093604322537072335</uri><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-16776717.post-112844845035671953</id><published>2005-10-04T10:37:00.000-07:00</published><updated>2005-10-04T10:54:10.373-07:00</updated><title type='text'>Week THREE</title><content type='html'>&lt;span style="font-weight: bold;"&gt;The world of row column scanning.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Back in undergrad we made an 8 or 16-bit adder in my logic and design class. The adder display results on our theoretical 7 segment LED display. So I thought I would do a 3- switch puzzle that when completed flashes the correct number code. The first step was just wiring the 7 seg LED. That wasn't as easy as I had thought. Carlin came by and explain row/column scanning, which conceptually I understood and even wired it properly, but it was messy as you can see!&lt;br /&gt;&lt;br /&gt;I spend so much time on wiring that I ran out of time to actually execute the puzzle. But its something I want to keep in mind to do at a later date.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16776717-112844845035671953?l=pcomp-av.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pcomp-av.blogspot.com/feeds/112844845035671953/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16776717&amp;postID=112844845035671953' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16776717/posts/default/112844845035671953'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16776717/posts/default/112844845035671953'/><link rel='alternate' type='text/html' href='http://pcomp-av.blogspot.com/2005/10/week-three.html' title='Week THREE'/><author><name>Avani</name><uri>http://www.blogger.com/profile/00093604322537072335</uri><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-16776717.post-112742610273557136</id><published>2005-09-22T14:45:00.000-07:00</published><updated>2005-09-22T15:02:05.866-07:00</updated><title type='text'>Week TWO Observations</title><content type='html'>Charles and I visited the dog run at Washington Sq Park on Wednesday.  We talked to Lenore, who brings her dog Tony on a regular basis.  We asked her what she thought could be improved at the run.  A few ideas / complaints she had (all weather related too): &lt;br /&gt;&lt;br /&gt;- the idea of a wading pool and increasing the shade in the run, which around 3 PM had shade along the perimeter, but had mostly directly sun in the center of the run. Mostly a concern on hot days.&lt;br /&gt;&lt;br /&gt;- the poor drainage when it rains, the run turns into a lake.  &lt;br /&gt;&lt;br /&gt;- when it snows the park is too heavily salted (salt is very bad for dog paw pads).  &lt;br /&gt;&lt;br /&gt;She told us to talk to Pat, the president of the dog run association.  Pat had a lot to say.  The rules of the run:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/7955/1601/1600/dogrun%20001.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://photos1.blogger.com/blogger/7955/1601/200/dogrun%20001.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The things that stand out&lt;br /&gt;&lt;br /&gt;- even though there is fencing, some of the more athletic dogs have been known to jump the fence&lt;br /&gt;&lt;br /&gt;- the rules state the females in heat or aggressive dogs are not allowed, aggressive dogs have injured/killed other dogs fairly recently in the run&lt;br /&gt;&lt;br /&gt;- the run will most likely be moved soon.  Pat expressed concern about this &lt;br /&gt;because its close to the street, so if a dog jumps over the fence, they &lt;br /&gt;would jump right onto a busy road.  Also the firetrucks run along that same &lt;br /&gt;stretch of road and the noise tends to spook many of the dogs.  Also the &lt;br /&gt;shade is considerably less.  &lt;br /&gt;&lt;br /&gt;- since the run is completely self maintained, volunteers/money are always needed.  The bulletin board keeps owners up to date on developments.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/7955/1601/1600/dogrun%20004.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://photos1.blogger.com/blogger/7955/1601/200/dogrun%20004.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Some observations I made on my own (and partly because i have a dog).  &lt;br /&gt;&lt;br /&gt;- Dogs love to chase tennis balls.  &lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/7955/1601/1600/dogrun%20002.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://photos1.blogger.com/blogger/7955/1601/200/dogrun%20002.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;- Poop pickup is always a problem, esp since the run is a public place its essential.  &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Ideas based on observations:&lt;br /&gt;&lt;br /&gt;1. A sensor that can detect a dog in heat and set off a signal upon detection&lt;br /&gt;2. A ball dispensor (sort of like the tennis ball kind) that shoots balls around the park, if high dog activity is detected&lt;br /&gt;3. A water mister that goes off if the temp reaches a certain temperature, adjusts amount of water/time on according to heat index, humidity.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16776717-112742610273557136?l=pcomp-av.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pcomp-av.blogspot.com/feeds/112742610273557136/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16776717&amp;postID=112742610273557136' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16776717/posts/default/112742610273557136'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16776717/posts/default/112742610273557136'/><link rel='alternate' type='text/html' href='http://pcomp-av.blogspot.com/2005/09/week-two-observations.html' title='Week TWO Observations'/><author><name>Avani</name><uri>http://www.blogger.com/profile/00093604322537072335</uri><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-16776717.post-112723816252842616</id><published>2005-09-20T10:24:00.000-07:00</published><updated>2005-09-20T18:23:10.273-07:00</updated><title type='text'>Week TWO</title><content type='html'>This week's assignment called for programming the PIC chip for the first time. Before I began any programming, I hooked up my ON/OFF switch so I know what state I am in. The first switch I had hooked up was a single button switch which wouldn't suffice. I also added an input terminal to more securely fasten my power and ground from fromo the power supply to the board.&lt;br /&gt;&lt;br /&gt;I set up the wiring as directed, but ran into a minor problem when I used a 1M capacitor instead of a 22pico one. Once that was straightened out and I added a pull up resistor to the master reset, my LED started blinking.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/7955/1601/1600/1_blink.jpg"&gt;&lt;img style="cursor: pointer;" src="http://photos1.blogger.com/blogger/7955/1601/320/1_blink.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Todd suggested I use the b ports for my output, so I first added two LEDs to the b ports and once I got that to work, proceeded to add the rest of the wiring for a total of 8 LEDs (+1 initial from portd.1).&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/7955/1601/1600/3_blink.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://photos1.blogger.com/blogger/7955/1601/320/3_blink.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I got the whole row blinking and messed around with the timing of the blinking a bit for a different effect. &lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/7955/1601/1600/row_blink22.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://photos1.blogger.com/blogger/7955/1601/320/row_blink22.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;For the initial switch code I had one LED in my LED row blink when the single button switch was pressed.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/7955/1601/1600/switch.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://photos1.blogger.com/blogger/7955/1601/320/switch.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Puzzle Idea&lt;/span&gt;&lt;br /&gt;My idea for the puzzle was to hook up three single button switches to input terminals and randomly generate the sequence in which they must be pressed. There are only 6 possibilities, so its simple enough to try out.  When you have the correct answer the green LED will light up, else the red LED will light up.  The 8 panel LED will also tell you how many tries you have had.&lt;br /&gt;&lt;br /&gt;Of course this is just my test plan, we'll see how far I actually get when it comes to coding....&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Observation Project Ideas&lt;br /&gt;&lt;/span&gt;I am very interested in the notion of public spaces, it was one of the main reasons I decided to go to school in NY, just because of the sheer number of posssibilities.  My ideas were to scope out Washington Sq Park, Bobst Library and the Rec Center, all different environments with an interesting mix of people.  Observations and Charles ideas to follow...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16776717-112723816252842616?l=pcomp-av.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pcomp-av.blogspot.com/feeds/112723816252842616/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16776717&amp;postID=112723816252842616' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16776717/posts/default/112723816252842616'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16776717/posts/default/112723816252842616'/><link rel='alternate' type='text/html' href='http://pcomp-av.blogspot.com/2005/09/week-two.html' title='Week TWO'/><author><name>Avani</name><uri>http://www.blogger.com/profile/00093604322537072335</uri><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-16776717.post-112681218538790059</id><published>2005-09-15T12:16:00.000-07:00</published><updated>2005-09-15T12:58:05.233-07:00</updated><title type='text'>Week ONE</title><content type='html'>&lt;a href="http://photos1.blogger.com/blogger/7955/1601/1600/intial-setup11.jpg"&gt;&lt;img style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://photos1.blogger.com/blogger/7955/1601/320/intial-setup11.jpg" border="0" /&gt;&lt;/a&gt;My first entry. I went into the shop, did some soldering and after reading up on how breadboards and wiring work, I went to work and was very happy to get my first LED to light up.&lt;br /&gt;&lt;br /&gt;I did a bit of rewiring, since I realized some of it was extraneous, like the wiring on the left side of the board. Then I went on to light up two LEDs in series (3 LEDS, actually 4, since I have a control LED on the bottom of my board, would not light up since 5V wasn't sufficient to power all)&lt;br /&gt;&lt;br /&gt;&lt;a href="http://photos1.blogger.com/blogger/7955/1601/1600/step1_rewired5.jpg"&gt;&lt;img style="CURSOR: hand" alt="" src="http://photos1.blogger.com/blogger/7955/1601/200/step1_rewired5.jpg" border="0" /&gt;&lt;/a&gt; &lt;a href="http://photos1.blogger.com/blogger/7955/1601/1600/step2.jpg"&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://photos1.blogger.com/blogger/7955/1601/1600/step21.jpg"&gt;&lt;img style="CURSOR: hand" alt="" src="http://photos1.blogger.com/blogger/7955/1601/200/step21.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://photos1.blogger.com/blogger/7955/1601/1600/step2.jpg"&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;And then in parallel....&lt;br /&gt;&lt;br /&gt;&lt;a href="http://photos1.blogger.com/blogger/7955/1601/1600/step2_parallel.jpg"&gt;&lt;img style="CURSOR: hand" alt="" src="http://photos1.blogger.com/blogger/7955/1601/200/step2_parallel.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;And then I replaced my plain vanilla resistor with a photoresistor.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://photos1.blogger.com/blogger/7955/1601/1600/photocell.jpg"&gt;&lt;img style="CURSOR: hand" alt="" src="http://photos1.blogger.com/blogger/7955/1601/200/photocell.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I have video, but I'm not sure how to put it up just yet.  Till next week!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16776717-112681218538790059?l=pcomp-av.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pcomp-av.blogspot.com/feeds/112681218538790059/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16776717&amp;postID=112681218538790059' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16776717/posts/default/112681218538790059'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16776717/posts/default/112681218538790059'/><link rel='alternate' type='text/html' href='http://pcomp-av.blogspot.com/2005/09/week-one.html' title='Week ONE'/><author><name>Avani</name><uri>http://www.blogger.com/profile/00093604322537072335</uri><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>
