<?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-19401694</id><updated>2011-06-08T02:25:26.920-04:00</updated><title type='text'>Segment Tags</title><subtitle type='html'>Allowing the personalization of an environment through the use of interactive displays.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://segmenttags.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19401694/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://segmenttags.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Michael DelGaudio</name><uri>http://www.blogger.com/profile/05535032620522106184</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='27' src='http://michaeldelgaudio.com/images/del_g_photo_sm.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>10</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-19401694.post-113462941142522850</id><published>2005-12-15T01:49:00.000-05:00</published><updated>2005-12-15T01:50:11.426-05:00</updated><title type='text'>Schematic</title><content type='html'>&lt;a href="http://photos1.blogger.com/blogger/5266/1977/1600/TagSchematic.gif"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://photos1.blogger.com/blogger/5266/1977/400/TagSchematic.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/19401694-113462941142522850?l=segmenttags.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://segmenttags.blogspot.com/feeds/113462941142522850/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=19401694&amp;postID=113462941142522850' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19401694/posts/default/113462941142522850'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19401694/posts/default/113462941142522850'/><link rel='alternate' type='text/html' href='http://segmenttags.blogspot.com/2005/12/schematic.html' title='Schematic'/><author><name>kchannell</name><uri>http://www.blogger.com/profile/10070972181419210245</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-19401694.post-113437434386359040</id><published>2005-12-12T02:52:00.000-05:00</published><updated>2005-12-12T09:44:21.906-05:00</updated><title type='text'>Prototype Photos :: 12.11.05</title><content type='html'>&lt;a href="http://photos1.blogger.com/blogger/1116/237/1600/IMG_4078.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://photos1.blogger.com/blogger/1116/237/400/IMG_4078.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://photos1.blogger.com/blogger/1116/237/1600/IMG_4077.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://photos1.blogger.com/blogger/1116/237/400/IMG_4077.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://photos1.blogger.com/blogger/1116/237/1600/IMG_4071.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://photos1.blogger.com/blogger/1116/237/400/IMG_4071.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Perf board and breadboard prototypes from earlier this weekend. And. a picture of my because Jenny says we need one of those here too. Personally, I don't believe her.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19401694-113437434386359040?l=segmenttags.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://segmenttags.blogspot.com/feeds/113437434386359040/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=19401694&amp;postID=113437434386359040' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19401694/posts/default/113437434386359040'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19401694/posts/default/113437434386359040'/><link rel='alternate' type='text/html' href='http://segmenttags.blogspot.com/2005/12/prototype-photos-121105.html' title='Prototype Photos :: 12.11.05'/><author><name>Michael DelGaudio</name><uri>http://www.blogger.com/profile/05535032620522106184</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='27' src='http://michaeldelgaudio.com/images/del_g_photo_sm.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19401694.post-113425426418637096</id><published>2005-12-10T17:34:00.000-05:00</published><updated>2005-12-10T17:37:44.210-05:00</updated><title type='text'>code for the pic</title><content type='html'>here's the working code for our project.  This version has scrolling.  you can end the scrolling by pressing any button.&lt;br /&gt;&lt;br /&gt;'****************************************************************&lt;br /&gt;'*  Name    : sevenSegmentCounter_wEdgeDetection.bas            *&lt;br /&gt;'*  Author  : Jenny Chowdhury &amp;MichaelDelGadudio &amp;amp; Karl Channell                                 *&lt;br /&gt;'*          : All Rights Reserved                               *&lt;br /&gt;'*  Date    : 12/10/2005                                        *&lt;br /&gt;'*  Version : 1.0                                               *&lt;br /&gt;'*  Notes   : seven segment display counter using edge          *&lt;br /&gt;'*          : detection                                         *&lt;br /&gt;'****************************************************************&lt;br /&gt;&lt;br /&gt;DEFINE OSC 4&lt;br /&gt;' Set all of PORTB to outputs&lt;br /&gt;TRISB = %00000000&lt;br /&gt;   &lt;br /&gt;'Set all A ports as digital&lt;br /&gt;adcon1 = %00000110&lt;br /&gt;&lt;br /&gt;TRISA = %00000000&lt;br /&gt;TRISD = %00000000&lt;br /&gt;&lt;br /&gt;'set buttons as input ports&lt;br /&gt;input PORTB.7 'curser button&lt;br /&gt;input PORTC.7 'forward alphabet&lt;br /&gt;input PORTC.6 'backwards alphabet&lt;br /&gt;&lt;br /&gt;'set pins as write control&lt;br /&gt;output PORTC.5 'write control for 1st display&lt;br /&gt;output PORTC.4 'write control for 2nd display&lt;br /&gt;output PORTD.7 'write control for 3rd display&lt;br /&gt;&lt;br /&gt;output portc.2  ' address pin for 1st display&lt;br /&gt;output portc.3  ' address pin for 1st display&lt;br /&gt;&lt;br /&gt;output PORTC.0 ' address pin for 2nd display&lt;br /&gt;OUTput PORTC.1 ' address pin for 2nd display&lt;br /&gt;&lt;br /&gt;output PORTE.1  'address pin for 3rd display&lt;br /&gt;output PORTE.2  'address pin for 3rd display&lt;br /&gt;&lt;br /&gt; timer var byte&lt;br /&gt; timer = 0&lt;br /&gt;&lt;br /&gt;myDigit var byte[12]&lt;br /&gt;j var byte ' counter for for loops&lt;br /&gt;&lt;br /&gt;'initialize letters&lt;br /&gt;FOR j=0 to 11 STEp 1&lt;br /&gt;    myDigit[j] = j&lt;br /&gt;next j&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;alphabet var BYTE[27]&lt;br /&gt;alphabet[0] = "A"&lt;br /&gt;alphabet[1] = "B"&lt;br /&gt;alphabet[2] = "C"&lt;br /&gt;alphabet[3] = "D"&lt;br /&gt;alphabet[4] = "E"&lt;br /&gt;alphabet[5] = "F"&lt;br /&gt;alphabet[6] = "G"&lt;br /&gt;alphabet[7] = "H"&lt;br /&gt;alphabet[8] = "I"&lt;br /&gt;alphabet[9] = "J"&lt;br /&gt;alphabet[10] = "K"&lt;br /&gt;alphabet[11] = "L"&lt;br /&gt;alphabet[12] = "M"&lt;br /&gt;alphabet[13] = "N"&lt;br /&gt;alphabet[14] = "O"&lt;br /&gt;alphabet[15] = "P"&lt;br /&gt;alphabet[16] = "Q"&lt;br /&gt;alphabet[17] = "R"&lt;br /&gt;alphabet[18] = "S"&lt;br /&gt;alphabet[19] = "T"&lt;br /&gt;alphabet[20] = "U"&lt;br /&gt;alphabet[21] = "V"&lt;br /&gt;alphabet[22] = "W"&lt;br /&gt;alphabet[23] = "X"&lt;br /&gt;alphabet[24] = "Y"&lt;br /&gt;alphabet[25] = "Z"&lt;br /&gt;alphabet[26] = " "&lt;br /&gt;&lt;br /&gt;' --- Edge Detection vars for cursor ---'&lt;br /&gt;switchStateVar var byte&lt;br /&gt;switchStateVar = 0&lt;br /&gt;lastSwitchStateVar var byte&lt;br /&gt;switchCountVar var byte&lt;br /&gt;switchCountVar = 0&lt;br /&gt;&lt;br /&gt;' --- Edge Detection vars for alpha ---'&lt;br /&gt;alphaSwitchStateVar var byte&lt;br /&gt;alphaswitchStateVar = 0&lt;br /&gt;alphaLastSwitchStateVar var byte&lt;br /&gt;alphaSwitchCountVar var byte&lt;br /&gt;&lt;br /&gt;' --- Edge Detection vars for backwards alpha ---'&lt;br /&gt;backAlphaSwitchStateVar var byte&lt;br /&gt;backAlphaswitchStateVar = 0&lt;br /&gt;backAlphaLastSwitchStateVar var byte&lt;br /&gt;backAlphaSwitchCountVar var byte&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;' Display 1&lt;br /&gt;' PIC B0-B6 maps to 1414 D0-D6&lt;br /&gt;' -- Set the initial display state -- '&lt;br /&gt;&lt;br /&gt;gosub reset&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;MAIN:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;' -- Edge detection for cursor --'&lt;br /&gt;switchStateVar = PORTB.7&lt;br /&gt;   if switchStateVar &lt;&gt; lastswitchStateVar THEN&lt;br /&gt;       timer = 0&lt;br /&gt;       if switchStateVar = 1 then&lt;br /&gt;           ' the switch went from off to on&lt;br /&gt;           switchCountVar = switchCountVar + 1&lt;br /&gt;           switchCountVar = (switchCountVar//12)&lt;br /&gt;                              &lt;br /&gt;           high PORTD.2&lt;br /&gt;           ' clear it all out&lt;br /&gt;            gosub reset&lt;br /&gt;       else&lt;br /&gt;           ' the switch went from on to off&lt;br /&gt;           ' test pin&lt;br /&gt;           low PORTD.2&lt;br /&gt;       endif&lt;br /&gt;    ' store the state of the switch for next check:&lt;br /&gt;    lastswitchStateVar = switchStateVar&lt;br /&gt;     else&lt;br /&gt;    'increment the timer&lt;br /&gt;       timer = timer + 1&lt;br /&gt;       if timer &gt;= 100 then&lt;br /&gt;            while (switchStateVar = lastswitchStateVar &amp;&amp;amp; alphaswitchStateVar = alphalastswitchStateVar &amp;&amp;amp; backAlphaswitchStateVar = backAlphalastswitchStateVar)&lt;br /&gt;           &lt;br /&gt;            gosub scroll&lt;br /&gt;            switchStateVar = PORTB.7&lt;br /&gt;            alphaSwitchStateVar = PORTC.7&lt;br /&gt;            backAlphaswitchStateVar = PORTC.6&lt;br /&gt;           &lt;br /&gt;            wend&lt;br /&gt;       endif&lt;br /&gt;&lt;br /&gt;  endif&lt;br /&gt;&lt;br /&gt;' -- Edge detection for forward alphabet button --'&lt;br /&gt;alphaswitchStateVar = PORTC.7&lt;br /&gt;   if alphaswitchStateVar &lt;&gt; alphalastswitchStateVar THEN&lt;br /&gt;       timer = 0&lt;br /&gt;       &lt;br /&gt;       ' the switch went from off to on&lt;br /&gt;       if alphaswitchStateVar = 1 then&lt;br /&gt;       'increment the current digit&lt;br /&gt;      &lt;br /&gt;       for j= 0 to 11 step 1&lt;br /&gt;           If(switchcountvar = j) then&lt;br /&gt;               mydigit[j] = mydigit[j]+1&lt;br /&gt;               myDigit[j] = myDigit[j]//27&lt;br /&gt;               Endif&lt;br /&gt;       next j          &lt;br /&gt;&lt;br /&gt;           ' clear it all out&lt;br /&gt;           gosub reset&lt;br /&gt;       else 'the switchpin went off&lt;br /&gt;          &lt;br /&gt;       endif&lt;br /&gt;    ' store the state of the switch for next check:&lt;br /&gt;    alphalastswitchStateVar = alphaswitchStateVar&lt;br /&gt;  endif&lt;br /&gt;&lt;br /&gt; 'backbutton edge detection&lt;br /&gt; ' -- Edge detection for backwards alphabet button --'&lt;br /&gt;backAlphaswitchStateVar = PORTC.6&lt;br /&gt;   if backAlphaswitchStateVar &lt;&gt; backAlphalastswitchStateVar THEN&lt;br /&gt;  &lt;br /&gt;   timer = 0&lt;br /&gt;       ' the switch went from off to on&lt;br /&gt;       if backAlphaswitchStateVar = 1 then&lt;br /&gt;       'increment the current digit&lt;br /&gt;      &lt;br /&gt;       for j= 0 to 11 step 1&lt;br /&gt;         If(switchcountvar = j) then&lt;br /&gt;               mydigit[j] = mydigit[j] + 26&lt;br /&gt;               myDigit[j] = myDigit[j]//27              &lt;br /&gt;               Endif&lt;br /&gt;       next j&lt;br /&gt;      &lt;br /&gt;           ' clear it all out&lt;br /&gt;           gosub reset&lt;br /&gt;       else&lt;br /&gt;           ' the switch went from on to off&lt;br /&gt;          &lt;br /&gt;       endif&lt;br /&gt;    ' store the state of the switch for next check:&lt;br /&gt;    backAlphalastswitchStateVar = backAlphaswitchStateVar&lt;br /&gt;  endif&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;   'Letters are written right to left thus digit 3 appears first and so on&lt;br /&gt;   'Display three&lt;br /&gt;  &lt;br /&gt;   'end of display three&lt;br /&gt;    if switchCountVar = 11 then&lt;br /&gt;      &lt;br /&gt;       High PORTD.7&lt;br /&gt;       ' Digit 0C&lt;br /&gt;       Low PORTE.1&lt;br /&gt;       LOW PORTE.2&lt;br /&gt;       '_&lt;br /&gt;       PORTD = alphabet[myDigit[11]]&lt;br /&gt;       low PORTD.7&lt;br /&gt;&lt;br /&gt;       pause 50&lt;br /&gt;&lt;br /&gt;       High PORTD.7&lt;br /&gt;       ' Digit 0C&lt;br /&gt;       Low PORTE.1&lt;br /&gt;       LOW PORTE.2&lt;br /&gt;       '_&lt;br /&gt;       PORTD = " "&lt;br /&gt;       low PORTD.7&lt;br /&gt;&lt;br /&gt;       pause 50&lt;br /&gt;&lt;br /&gt;  endif&lt;br /&gt; &lt;br /&gt;  if switchCountVar = 10 then&lt;br /&gt;&lt;br /&gt;       High PORTD.7&lt;br /&gt;       ' Digit 1c&lt;br /&gt;       high PORTE.1&lt;br /&gt;       LOW PORTE.2&lt;br /&gt;       '_&lt;br /&gt;       PORTD = alphabet[myDigit[10]]&lt;br /&gt;       low PORTD.7&lt;br /&gt;&lt;br /&gt;       pause 50&lt;br /&gt;&lt;br /&gt;       High PORTD.7&lt;br /&gt;       ' Digit 1c&lt;br /&gt;       high PORTE.1&lt;br /&gt;       LOW PORTE.2&lt;br /&gt;       '_&lt;br /&gt;       PORTD = " "&lt;br /&gt;       low PORTD.7&lt;br /&gt;&lt;br /&gt;       pause 50&lt;br /&gt;&lt;br /&gt;  endif&lt;br /&gt; &lt;br /&gt;  if switchCountVar = 9 then&lt;br /&gt;&lt;br /&gt;       High PORTD.7&lt;br /&gt;       ' Digit 2c&lt;br /&gt;       low PORTE.1&lt;br /&gt;       high PORTE.2&lt;br /&gt;       '_&lt;br /&gt;       PORTD = alphabet[myDigit[9]]&lt;br /&gt;       low PORTD.7&lt;br /&gt;&lt;br /&gt;       pause 50&lt;br /&gt;&lt;br /&gt;       High PORTD.7&lt;br /&gt;       ' Digit 2c&lt;br /&gt;       low PORTE.1&lt;br /&gt;       high PORTE.2&lt;br /&gt;       '_&lt;br /&gt;       PORTD = " "&lt;br /&gt;       low PORTD.7&lt;br /&gt;&lt;br /&gt;       pause 50&lt;br /&gt;&lt;br /&gt;  endif&lt;br /&gt; &lt;br /&gt; &lt;br /&gt;  ''put in 8&lt;br /&gt;  if switchCountVar = 8 then&lt;br /&gt;&lt;br /&gt;       High PORTD.7&lt;br /&gt;       ' Digit 3c&lt;br /&gt;       high PORTE.1&lt;br /&gt;       high PORTE.2&lt;br /&gt;       '_&lt;br /&gt;       PORTD = alphabet[myDigit[8]]&lt;br /&gt;       low PORTD.7&lt;br /&gt;&lt;br /&gt;       pause 50&lt;br /&gt;&lt;br /&gt;       High PORTD.7&lt;br /&gt;       ' Digit 3c&lt;br /&gt;       high PORTE.1&lt;br /&gt;       high PORTE.2&lt;br /&gt;       '_&lt;br /&gt;       PORTD = " "&lt;br /&gt;       low PORTD.7&lt;br /&gt;&lt;br /&gt;       pause 50&lt;br /&gt;&lt;br /&gt;  endif&lt;br /&gt;&lt;br /&gt;   ' Display two&lt;br /&gt;  &lt;br /&gt;      if switchCountVar = 7 then&lt;br /&gt;&lt;br /&gt;       High PORTC.4&lt;br /&gt;       ' Digit 0B&lt;br /&gt;       Low PORTC.2&lt;br /&gt;       LOW PORTC.3&lt;br /&gt;       '_&lt;br /&gt;       PORTA = alphabet[myDigit[7]]&lt;br /&gt;       low PORTC.4&lt;br /&gt;&lt;br /&gt;       pause 50&lt;br /&gt;&lt;br /&gt;       High PORTC.4&lt;br /&gt;       ' Digit 0B&lt;br /&gt;       Low PORTC.2&lt;br /&gt;       LOW PORTC.3&lt;br /&gt;       '_&lt;br /&gt;       PORTA = " "&lt;br /&gt;       low PORTC.4&lt;br /&gt;&lt;br /&gt;       pause 50&lt;br /&gt;&lt;br /&gt;  endif&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;  if switchCountVar = 6 then&lt;br /&gt;&lt;br /&gt;       High PORTC.4&lt;br /&gt;       ' Digit 1B&lt;br /&gt;       high PORTC.2&lt;br /&gt;       LOW PORTC.3&lt;br /&gt;       '_&lt;br /&gt;       PORTA = alphabet[myDigit[6]]&lt;br /&gt;       low PORTC.4&lt;br /&gt;&lt;br /&gt;       pause 50&lt;br /&gt;&lt;br /&gt;       High PORTC.4&lt;br /&gt;       ' Digit 1B&lt;br /&gt;       high PORTC.2&lt;br /&gt;       LOW PORTC.3&lt;br /&gt;       '_&lt;br /&gt;       PORTA = " "&lt;br /&gt;       low PORTC.4&lt;br /&gt;&lt;br /&gt;       pause 50&lt;br /&gt;&lt;br /&gt;  endif&lt;br /&gt;  &lt;br /&gt;   if switchCountVar = 5 then&lt;br /&gt;&lt;br /&gt;       ' Digit 2B&lt;br /&gt;       High PORTC.4&lt;br /&gt;       ' Digit 2B&lt;br /&gt;       LOw PORTC.2&lt;br /&gt;       high PORTC.3&lt;br /&gt;       '_&lt;br /&gt;       PORTA = alphabet[myDigit[5]]&lt;br /&gt;       low PORTC.4&lt;br /&gt;&lt;br /&gt;       pause 50&lt;br /&gt;&lt;br /&gt;       High PORTC.4&lt;br /&gt;       ' Digit 2B&lt;br /&gt;       low PORTC.2&lt;br /&gt;       high PORTC.3&lt;br /&gt;       '_&lt;br /&gt;       PORTA = " "&lt;br /&gt;       low PORTC.4&lt;br /&gt;&lt;br /&gt;       pause 50&lt;br /&gt;&lt;br /&gt;  endif&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;    if switchCountVar = 4 then&lt;br /&gt;&lt;br /&gt;       ' Digit 3B&lt;br /&gt;&lt;br /&gt;       High PORTC.4&lt;br /&gt;       ' Digit 3B&lt;br /&gt;       high PORTC.2&lt;br /&gt;       high PORTC.3&lt;br /&gt;       '_&lt;br /&gt;       PORTA = alphabet[myDigit[4]]&lt;br /&gt;       low PORTC.4&lt;br /&gt;&lt;br /&gt;       pause 50&lt;br /&gt;&lt;br /&gt;       High PORTC.4&lt;br /&gt;       ' Digit 3B&lt;br /&gt;       high PORTC.2&lt;br /&gt;       high PORTC.3&lt;br /&gt;       '_&lt;br /&gt;       PORTA = " "&lt;br /&gt;       low PORTC.4&lt;br /&gt;&lt;br /&gt;       pause 50&lt;br /&gt;&lt;br /&gt;  endif&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;  ' Display One&lt;br /&gt;&lt;br /&gt;   if switchCountVar = 3 then&lt;br /&gt;&lt;br /&gt;       High PORTC.5&lt;br /&gt;       ' Digit 0&lt;br /&gt;       Low PORTC.0&lt;br /&gt;       LOW PORTC.1&lt;br /&gt;       '_&lt;br /&gt;       PORTB = alphabet[myDigit[3]]&lt;br /&gt;       low PORTC.5&lt;br /&gt;&lt;br /&gt;       pause 50&lt;br /&gt;&lt;br /&gt;       High PORTC.5&lt;br /&gt;       ' Digit 0&lt;br /&gt;       Low PORTC.0&lt;br /&gt;       LOW PORTC.1&lt;br /&gt;       '_&lt;br /&gt;       PORTB = " "&lt;br /&gt;       low PORTC.5&lt;br /&gt;&lt;br /&gt;       pause 50&lt;br /&gt;&lt;br /&gt;  endif&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;  if switchCountVar = 2 then&lt;br /&gt;&lt;br /&gt;       High PORTC.5&lt;br /&gt;       ' Digit 1&lt;br /&gt;       high PORTC.0&lt;br /&gt;       LOW PORTC.1&lt;br /&gt;       '_&lt;br /&gt;       PORTB = alphabet[myDigit[2]]&lt;br /&gt;       low PORTC.5&lt;br /&gt;&lt;br /&gt;       pause 50&lt;br /&gt;&lt;br /&gt;       High PORTC.5&lt;br /&gt;       ' Digit 1&lt;br /&gt;       high PORTC.0&lt;br /&gt;       LOW PORTC.1&lt;br /&gt;       '_&lt;br /&gt;       PORTB = " "&lt;br /&gt;       low PORTC.5&lt;br /&gt;&lt;br /&gt;       pause 50&lt;br /&gt;&lt;br /&gt;  endif&lt;br /&gt;&lt;br /&gt;  if switchCountVar = 1 then&lt;br /&gt;&lt;br /&gt;       ' Digit 2&lt;br /&gt;&lt;br /&gt;       High PORTC.5&lt;br /&gt;       ' Digit 2&lt;br /&gt;       LOw PORTC.0&lt;br /&gt;       high PORTC.1&lt;br /&gt;       '_&lt;br /&gt;       PORTB = alphabet[myDigit[1]]&lt;br /&gt;       low PORTC.5&lt;br /&gt;&lt;br /&gt;       pause 50&lt;br /&gt;&lt;br /&gt;       High PORTC.5&lt;br /&gt;       ' Digit 2&lt;br /&gt;       low PORTC.0&lt;br /&gt;       high PORTC.1&lt;br /&gt;       '_&lt;br /&gt;       PORTB = " "&lt;br /&gt;       low PORTC.5&lt;br /&gt;&lt;br /&gt;       pause 50&lt;br /&gt;&lt;br /&gt;  endif&lt;br /&gt;&lt;br /&gt;  if switchCountVar = 0 then&lt;br /&gt;&lt;br /&gt;       ' Digit 3&lt;br /&gt;       'letter3 = alphabet[myDigit[0]]&lt;br /&gt;&lt;br /&gt;       High PORTC.5&lt;br /&gt;       ' Digit 3&lt;br /&gt;       high PORTC.0&lt;br /&gt;       high PORTC.1&lt;br /&gt;       '_&lt;br /&gt;       PORTB = alphabet[myDigit[0]]&lt;br /&gt;       low PORTC.5&lt;br /&gt;&lt;br /&gt;       pause 50&lt;br /&gt;&lt;br /&gt;       High PORTC.5&lt;br /&gt;       ' Digit 3&lt;br /&gt;       high PORTC.0&lt;br /&gt;       high PORTC.1&lt;br /&gt;       '_&lt;br /&gt;       PORTB = " "&lt;br /&gt;       low PORTC.5&lt;br /&gt;&lt;br /&gt;       pause 50&lt;br /&gt;&lt;br /&gt;  endif&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;goto main&lt;br /&gt;&lt;br /&gt;'This subroutine resets all digits on both displays&lt;br /&gt;reset:&lt;br /&gt;       ' Start Write&lt;br /&gt;       high PORTC.5&lt;br /&gt;       ' Digit 0&lt;br /&gt;       Low PORTC.0&lt;br /&gt;       LOW PORTC.1&lt;br /&gt;       '_&lt;br /&gt;       PORTB = alphabet[mydigit[3]]&lt;br /&gt;       ' End Write&lt;br /&gt;       low PORTC.5&lt;br /&gt;&lt;br /&gt;       ' Start Write&lt;br /&gt;       high PORTC.5&lt;br /&gt;       ' Digit 0&lt;br /&gt;       high PORTC.0&lt;br /&gt;       LOW PORTC.1&lt;br /&gt;       '_&lt;br /&gt;       PORTB = alphabet[mydigit[2]]&lt;br /&gt;       ' End Write&lt;br /&gt;       low PORTC.5&lt;br /&gt;&lt;br /&gt;       ' Start Write&lt;br /&gt;       high PORTC.5&lt;br /&gt;       ' Digit 0&lt;br /&gt;       Low PORTC.0&lt;br /&gt;       high PORTC.1&lt;br /&gt;       '_&lt;br /&gt;       PORTB = alphabet[mydigit[1]]&lt;br /&gt;       ' End Write&lt;br /&gt;       low PORTC.5&lt;br /&gt;&lt;br /&gt;       ' Start Write&lt;br /&gt;       high PORTC.5&lt;br /&gt;       ' Digit 0&lt;br /&gt;       high PORTC.0&lt;br /&gt;       high PORTC.1&lt;br /&gt;       '_&lt;br /&gt;       PORTB = alphabet[mydigit[0]]&lt;br /&gt;       ' End Write&lt;br /&gt;       low PORTC.5&lt;br /&gt;      &lt;br /&gt;       'send letters to 2nd output display&lt;br /&gt;      &lt;br /&gt;       ' Start Write&lt;br /&gt;       high PORTC.4&lt;br /&gt;       ' Digit 0b&lt;br /&gt;       Low PORTC.2&lt;br /&gt;       LOW PORTC.3&lt;br /&gt;       '_&lt;br /&gt;       PORTA = alphabet[mydigit[7]]&lt;br /&gt;       ' End Write&lt;br /&gt;       low PORTC.4&lt;br /&gt;&lt;br /&gt;       ' Start Write&lt;br /&gt;       high PORTC.4&lt;br /&gt;       ' Digit 0&lt;br /&gt;       high PORTC.2&lt;br /&gt;       LOW PORTC.3&lt;br /&gt;       '_&lt;br /&gt;       PORTA = alphabet[mydigit[6]]&lt;br /&gt;       ' End Write&lt;br /&gt;       low PORTC.4&lt;br /&gt;&lt;br /&gt;       ' Start Write&lt;br /&gt;       high PORTC.4&lt;br /&gt;       ' Digit 0&lt;br /&gt;       Low PORTC.2&lt;br /&gt;       high PORTC.3&lt;br /&gt;       '_&lt;br /&gt;       PORTA = alphabet[mydigit[5]]&lt;br /&gt;       ' End Write&lt;br /&gt;       low PORTC.4&lt;br /&gt;&lt;br /&gt;       ' Start Write&lt;br /&gt;       high PORTC.4&lt;br /&gt;       ' Digit 0&lt;br /&gt;       high PORTC.2&lt;br /&gt;       high PORTC.3&lt;br /&gt;       '_&lt;br /&gt;       PORTA = alphabet[mydigit[4]]&lt;br /&gt;       ' End Write&lt;br /&gt;       low PORTC.4&lt;br /&gt;      &lt;br /&gt;       'send 3rd output display&lt;br /&gt;      &lt;br /&gt;       ' Start Write&lt;br /&gt;       high PORTD.7&lt;br /&gt;       ' Digit 0&lt;br /&gt;       Low PORTE.1&lt;br /&gt;       LOW PORTE.2&lt;br /&gt;       '_&lt;br /&gt;       PORTD = alphabet[mydigit[11]]&lt;br /&gt;       ' End Write&lt;br /&gt;       low PORTD.7&lt;br /&gt;&lt;br /&gt;       ' Start Write&lt;br /&gt;       high PORTD.7&lt;br /&gt;       ' Digit 0&lt;br /&gt;       high PORTE.1&lt;br /&gt;       LOW PORTE.2&lt;br /&gt;       '_&lt;br /&gt;       PORTD = alphabet[mydigit[10]]&lt;br /&gt;       ' End Write&lt;br /&gt;       low PORTD.7&lt;br /&gt;&lt;br /&gt;       ' Start Write&lt;br /&gt;       high PORTD.7&lt;br /&gt;       ' Digit 0&lt;br /&gt;       Low PORTE.1&lt;br /&gt;       high PORTE.2&lt;br /&gt;       '_&lt;br /&gt;       PORTD = alphabet[mydigit[9]]&lt;br /&gt;       ' End Write&lt;br /&gt;       low PORTD.7&lt;br /&gt;&lt;br /&gt;       ' Start Write&lt;br /&gt;       high PORTD.7&lt;br /&gt;       ' Digit 0&lt;br /&gt;       high PORTE.1&lt;br /&gt;       high PORTE.2&lt;br /&gt;       '_&lt;br /&gt;       PORTD = alphabet[mydigit[8]]&lt;br /&gt;       ' End Write&lt;br /&gt;       low PORTD.7&lt;br /&gt;      &lt;br /&gt;return&lt;br /&gt;&lt;br /&gt;'This subroutine scrolls all digits&lt;br /&gt;scroll:&lt;br /&gt;&lt;br /&gt;i var byte&lt;br /&gt;&lt;br /&gt;scroller var byte [36]&lt;br /&gt;&lt;br /&gt;scroller[0] = " "&lt;br /&gt;scroller[1] = " "&lt;br /&gt;scroller[2] = " "&lt;br /&gt;scroller[3] = " "&lt;br /&gt;scroller[4] = " "&lt;br /&gt;scroller[5] = " "&lt;br /&gt;scroller[6] = " "&lt;br /&gt;scroller[7] = " "&lt;br /&gt;scroller[8] = " "&lt;br /&gt;scroller[9] = " "&lt;br /&gt;scroller[10] = " "&lt;br /&gt;scroller[11] = " "&lt;br /&gt;scroller[12] = alphabet[mydigit[0]]&lt;br /&gt;scroller[13] = alphabet[mydigit[1]]&lt;br /&gt;scroller[14] = alphabet[mydigit[2]]&lt;br /&gt;scroller[15] = alphabet[mydigit[3]]&lt;br /&gt;scroller[16] = alphabet[mydigit[4]]&lt;br /&gt;scroller[17] = alphabet[mydigit[5]]&lt;br /&gt;scroller[18] = alphabet[mydigit[6]]&lt;br /&gt;scroller[19] = alphabet[mydigit[7]]&lt;br /&gt;scroller[20] = alphabet[mydigit[8]]&lt;br /&gt;scroller[21] = alphabet[mydigit[9]]&lt;br /&gt;scroller[22] = alphabet[mydigit[10]]&lt;br /&gt;scroller[23] = alphabet[mydigit[11]]&lt;br /&gt;scroller[24] = " "&lt;br /&gt;scroller[25] = " "&lt;br /&gt;scroller[26] = " "&lt;br /&gt;scroller[27] = " "&lt;br /&gt;scroller[28] = " "&lt;br /&gt;scroller[29] = " "&lt;br /&gt;scroller[30] = " "&lt;br /&gt;scroller[31] = " "&lt;br /&gt;scroller[32] = " "&lt;br /&gt;scroller[33] = " "&lt;br /&gt;scroller[34] = " "&lt;br /&gt;scroller[35] = " "&lt;br /&gt;&lt;br /&gt;FOR i=0 to 23 STEp 1&lt;br /&gt;&lt;br /&gt;    gosub checkinput&lt;br /&gt;    if (switchStateVar &lt;&gt; lastswitchStateVar || alphaswitchStateVar &lt;&gt; alphalastswitchStateVar || backAlphaswitchStateVar &lt;&gt; backAlphalastswitchStateVar) then&lt;br /&gt;          timer = 0&lt;br /&gt;          return&lt;br /&gt;&lt;br /&gt;          endif&lt;br /&gt;         &lt;br /&gt;      ' Start Write&lt;br /&gt;       high PORTC.5&lt;br /&gt;       ' First Letter&lt;br /&gt;       high PORTC.0&lt;br /&gt;       high PORTC.1&lt;br /&gt;       '_&lt;br /&gt;       PORTB = scroller[i]&lt;br /&gt;       ' End Write&lt;br /&gt;       low PORTC.5&lt;br /&gt;&lt;br /&gt;       ' Start Write&lt;br /&gt;       high PORTC.5&lt;br /&gt;       ' Second Letter&lt;br /&gt;       low PORTC.0&lt;br /&gt;       high PORTC.1&lt;br /&gt;       '_&lt;br /&gt;       PORTB = scroller[i+1]&lt;br /&gt;       ' End Write&lt;br /&gt;       low PORTC.5&lt;br /&gt;&lt;br /&gt;       ' Start Write&lt;br /&gt;       high PORTC.5&lt;br /&gt;       ' Third Letter&lt;br /&gt;       high PORTC.0&lt;br /&gt;       low PORTC.1&lt;br /&gt;       '_&lt;br /&gt;       PORTB = scroller[i+2]&lt;br /&gt;       ' End Write&lt;br /&gt;       low PORTC.5&lt;br /&gt;&lt;br /&gt;       ' Start Write&lt;br /&gt;       high PORTC.5&lt;br /&gt;       ' Fourth Letter&lt;br /&gt;       low PORTC.0&lt;br /&gt;       low PORTC.1&lt;br /&gt;       '_&lt;br /&gt;       PORTB = scroller[i+3]&lt;br /&gt;       ' End Write&lt;br /&gt;       low PORTC.5&lt;br /&gt;      &lt;br /&gt;       'send letters to 2nd output display&lt;br /&gt;      &lt;br /&gt;       ' Start Write&lt;br /&gt;       high PORTC.4&lt;br /&gt;       ' Fifth Letter&lt;br /&gt;       high PORTC.2&lt;br /&gt;       high PORTC.3&lt;br /&gt;       '_&lt;br /&gt;       PORTA = scroller[i+4]&lt;br /&gt;       ' End Write&lt;br /&gt;       low PORTC.4&lt;br /&gt;&lt;br /&gt;       ' Start Write&lt;br /&gt;       high PORTC.4&lt;br /&gt;       ' Sixth Letter&lt;br /&gt;       low PORTC.2&lt;br /&gt;       high PORTC.3&lt;br /&gt;       '_&lt;br /&gt;       PORTA = scroller[i+5]&lt;br /&gt;       ' End Write&lt;br /&gt;       low PORTC.4&lt;br /&gt;&lt;br /&gt;       ' Start Write&lt;br /&gt;       high PORTC.4&lt;br /&gt;       ' Seventh Letter&lt;br /&gt;       high PORTC.2&lt;br /&gt;       low PORTC.3&lt;br /&gt;       '_&lt;br /&gt;       PORTA = scroller[i+6]&lt;br /&gt;       ' End Write&lt;br /&gt;       low PORTC.4&lt;br /&gt;&lt;br /&gt;       ' Start Write&lt;br /&gt;       high PORTC.4&lt;br /&gt;       ' Eigth Letter&lt;br /&gt;       low PORTC.2&lt;br /&gt;       low PORTC.3&lt;br /&gt;       '_&lt;br /&gt;       PORTA = scroller[i+7]&lt;br /&gt;       ' End Write&lt;br /&gt;       low PORTC.4&lt;br /&gt;      &lt;br /&gt;       'send 3rd output display&lt;br /&gt;      &lt;br /&gt;       ' Start Write&lt;br /&gt;       high PORTD.7&lt;br /&gt;       ' Ninth Letter&lt;br /&gt;       high PORTE.1&lt;br /&gt;       high PORTE.2&lt;br /&gt;       '_&lt;br /&gt;       PORTD = scroller[i+8]&lt;br /&gt;       ' End Write&lt;br /&gt;       low PORTD.7&lt;br /&gt;&lt;br /&gt;       ' Start Write&lt;br /&gt;       high PORTD.7&lt;br /&gt;       ' Tenth Letter&lt;br /&gt;       low PORTE.1&lt;br /&gt;       high PORTE.2&lt;br /&gt;       '_&lt;br /&gt;       PORTD = scroller[i+9]&lt;br /&gt;       ' End Write&lt;br /&gt;       low PORTD.7&lt;br /&gt;&lt;br /&gt;       ' Start Write&lt;br /&gt;       high PORTD.7&lt;br /&gt;       ' Eleventh Letter&lt;br /&gt;       high PORTE.1&lt;br /&gt;       low PORTE.2&lt;br /&gt;       '_&lt;br /&gt;       PORTD = scroller[i+10]&lt;br /&gt;       ' End Write&lt;br /&gt;       low PORTD.7&lt;br /&gt;&lt;br /&gt;       ' Start Write&lt;br /&gt;       high PORTD.7&lt;br /&gt;       ' Twelveth Letter&lt;br /&gt;       low PORTE.1&lt;br /&gt;       low PORTE.2&lt;br /&gt;       '_&lt;br /&gt;       PORTD = scroller[i+11]&lt;br /&gt;       ' End Write&lt;br /&gt;       low PORTD.7&lt;br /&gt;      &lt;br /&gt;pause 200&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;next i&lt;br /&gt;return&lt;br /&gt;&lt;br /&gt;'this subroutine updates button values&lt;br /&gt;checkinput:&lt;br /&gt;&lt;br /&gt;switchStateVar = PORTB.7&lt;br /&gt;            alphaSwitchStateVar = PORTC.7&lt;br /&gt;            backAlphaswitchStateVar = PORTC.6&lt;br /&gt;return&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19401694-113425426418637096?l=segmenttags.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://segmenttags.blogspot.com/feeds/113425426418637096/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=19401694&amp;postID=113425426418637096' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19401694/posts/default/113425426418637096'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19401694/posts/default/113425426418637096'/><link rel='alternate' type='text/html' href='http://segmenttags.blogspot.com/2005/12/code-for-pic.html' title='code for the pic'/><author><name>Jenny Chowdhury</name><uri>http://www.blogger.com/profile/06306367417957573566</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-19401694.post-113398107341926985</id><published>2005-12-07T13:37:00.000-05:00</published><updated>2005-12-07T13:58:11.090-05:00</updated><title type='text'>next on the agenda</title><content type='html'>Michael and I have succesfully programmed 2 segment displays to be controlled by one pic. This "control" consists of the following:&lt;br /&gt;&lt;br /&gt;1) cursor selection - allows user to choose the location of specfic letter he/she is changing with a press of a button.&lt;br /&gt;2) forward scrolling letter selection - allows user to choose which letter for that particular spot(selected with the cursor button) with a button which makes letters appear in alphabetical order&lt;br /&gt;3) backwards scrolling letter selection - allows user to choose which letter for that particular spot with a button which makes letters appear in reverse alphabetical order.&lt;br /&gt;&lt;br /&gt;The code is really ugly and long because it's procedural. Apparenlty you can't do the OOP thing with pic basic pro. Or even pass parameters to subroutines for that matter.&lt;br /&gt;&lt;br /&gt;Meanwhile, Karl has been working on getting the text to scroll across the segment. &lt;br /&gt;&lt;br /&gt;Today, we'll be working on getting a third segment on the pic, getting scrolling to occur after an idle period and generally, making our code uglier and longer.&lt;br /&gt;&lt;br /&gt;Michael talked to Todd about buying back the other segment displays yesterday so hopefully, we can get start soldering before long.&lt;br /&gt;&lt;br /&gt;Also, I called Jameco to today to yet again tell them about their duplication error. I really had hoped that they would send me a shipping label as I have no time to go to the post office. I couldn't convince the rep though.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19401694-113398107341926985?l=segmenttags.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://segmenttags.blogspot.com/feeds/113398107341926985/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=19401694&amp;postID=113398107341926985' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19401694/posts/default/113398107341926985'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19401694/posts/default/113398107341926985'/><link rel='alternate' type='text/html' href='http://segmenttags.blogspot.com/2005/12/next-on-agenda.html' title='next on the agenda'/><author><name>Jenny Chowdhury</name><uri>http://www.blogger.com/profile/06306367417957573566</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-19401694.post-113398055805282257</id><published>2005-12-07T13:32:00.000-05:00</published><updated>2005-12-07T13:36:31.350-05:00</updated><title type='text'>some photos from the first prototype</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/3621/1920/1600/IMG_3841smallJenny.0.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/3621/1920/320/IMG_3841smallJenny.0.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/3621/1920/1600/IMG_3848small.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/3621/1920/320/IMG_3848small.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/3621/1920/1600/IMG_3846small.0.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/3621/1920/320/IMG_3846small.0.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: right;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19401694-113398055805282257?l=segmenttags.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://segmenttags.blogspot.com/feeds/113398055805282257/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=19401694&amp;postID=113398055805282257' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19401694/posts/default/113398055805282257'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19401694/posts/default/113398055805282257'/><link rel='alternate' type='text/html' href='http://segmenttags.blogspot.com/2005/12/some-photos-from-first-prototype.html' title='some photos from the first prototype'/><author><name>Jenny Chowdhury</name><uri>http://www.blogger.com/profile/06306367417957573566</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-19401694.post-113387631865862660</id><published>2005-12-06T12:51:00.000-05:00</published><updated>2005-12-06T12:51:25.746-05:00</updated><title type='text'>Summary</title><content type='html'>Segment Tags aim to allow for the personalization of space and objects in an environment. Through the use of interactive displays users can create their own tag or message without the destruction of property. Visitors of a restaurant, bar, or public space are encourage to leave a word, thought, question or message of what's on heir mind with relation to their surroundings. The intent is to open a dialog between visitors who share a space at different times. &lt;br /&gt;&lt;br /&gt;Walls, furniture, and objects don't commonly allow people to leave their mark or capture a thought. The desire for people to leave traces of their presence can be seen in graffiti, guest books, customized cars, blogs, and bumper, where we leave behind signs that we have been someplace and have something to say. As individuals, we desire the ability to leave a bit of our selves in an environment. Segment Tags bridge this gap by providing people the opportunity to leave a few words behind.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19401694-113387631865862660?l=segmenttags.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://segmenttags.blogspot.com/feeds/113387631865862660/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=19401694&amp;postID=113387631865862660' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19401694/posts/default/113387631865862660'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19401694/posts/default/113387631865862660'/><link rel='alternate' type='text/html' href='http://segmenttags.blogspot.com/2005/12/summary.html' title='Summary'/><author><name>Michael DelGaudio</name><uri>http://www.blogger.com/profile/05535032620522106184</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='27' src='http://michaeldelgaudio.com/images/del_g_photo_sm.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19401694.post-113365784761645085</id><published>2005-12-03T19:47:00.000-05:00</published><updated>2005-12-03T19:57:27.626-05:00</updated><title type='text'>PIC Code and the 1414</title><content type='html'>&lt;a href="http://photos1.blogger.com/blogger/1116/237/1600/12.03.2005.jpg"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;" src="http://photos1.blogger.com/blogger/1116/237/200/12.03.2005.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;Yesterday Jenny Karl and I worked mainly on the software side. Karl worked on making the text display scrollable, while Jenny and I worked on implementing edge detection for the cursor and letter selection. One big ah-ha happened when we realized that the decoder in the 1414 cal translate string character like "A". This saves a lot of time because we no longer need to send the IC binary.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19401694-113365784761645085?l=segmenttags.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://segmenttags.blogspot.com/feeds/113365784761645085/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=19401694&amp;postID=113365784761645085' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19401694/posts/default/113365784761645085'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19401694/posts/default/113365784761645085'/><link rel='alternate' type='text/html' href='http://segmenttags.blogspot.com/2005/12/pic-code-and-1414.html' title='PIC Code and the 1414'/><author><name>Michael DelGaudio</name><uri>http://www.blogger.com/profile/05535032620522106184</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='27' src='http://michaeldelgaudio.com/images/del_g_photo_sm.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19401694.post-113346527509740258</id><published>2005-12-01T17:39:00.000-05:00</published><updated>2005-12-01T14:40:07.506-05:00</updated><title type='text'>1414 Smart Display Photos</title><content type='html'>&lt;a href="http://photos1.blogger.com/blogger/1116/237/1600/IMG_4028.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://photos1.blogger.com/blogger/1116/237/400/IMG_4028.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://photos1.blogger.com/blogger/1116/237/1600/IMG_4031.0.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://photos1.blogger.com/blogger/1116/237/400/IMG_4031.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://photos1.blogger.com/blogger/1116/237/1600/IMG_4032.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://photos1.blogger.com/blogger/1116/237/400/IMG_4032.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;On top: Karl &amp; Jenny setting up the 1414 on the board. On the bottom: The 1414 smart 16-segment display. This display is great. It's easy to setup and easy to send data to. ASCII characters are sent to the display where they are decoded, stored in memory, and multiplexed. The character size is small but the LEDs are bright and make up for their size in brightness.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19401694-113346527509740258?l=segmenttags.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://segmenttags.blogspot.com/feeds/113346527509740258/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=19401694&amp;postID=113346527509740258' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19401694/posts/default/113346527509740258'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19401694/posts/default/113346527509740258'/><link rel='alternate' type='text/html' href='http://segmenttags.blogspot.com/2005/12/1414-smart-display-photos.html' title='1414 Smart Display Photos'/><author><name>Michael DelGaudio</name><uri>http://www.blogger.com/profile/05535032620522106184</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='27' src='http://michaeldelgaudio.com/images/del_g_photo_sm.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19401694.post-113323347035135990</id><published>2005-11-29T02:58:00.000-05:00</published><updated>2005-11-29T00:40:07.673-05:00</updated><title type='text'>Research</title><content type='html'>A compilation of resources for setting up 7 and 16-segment displays and drivers. &lt;a href="http://www.amazon.com/gp/product/0070580782/103-9802643-4421456?v=glance&amp;n=283155&amp;v=glance" target="_blank"&gt;Practical Electronics for Inventors&lt;/a&gt; gives a great explanation of displays in the appendix. We've been working with &lt;a href="http://en.wikipedia.org/wiki/Seven-segment_display" target="_blank"&gt;7-segment&lt;/a&gt; and &lt;a href="http://en.wikipedia.org/wiki/Sixteen-segment_display" target="_blank"&gt;16-segment&lt;/a&gt; &lt;a href="http://en.wikipedia.org/wiki/LED" target="_blank"&gt;LED&lt;/a&gt; displays.&lt;br /&gt;&lt;br /&gt;Display Drivers/ICs&lt;br /&gt;&lt;a href="www.micrel.com/product-info/products/mm5450.shtml" target="_blank"&gt;MM5450&lt;/a&gt; :: 7-Segment LED display driver. We set this chip up to drive up four seven shipment displays. Multiplexing needs to be used in order to drive eight displays instead of just the four.&lt;br /&gt;&lt;a href="http://www.maxim-ic.com/quick_view2.cfm/qv_pk/3410/ln/en" target="_blank"&gt;MAX6954&lt;/a&gt; :: 16-Segment LED display driver can power up to eight displays (on order)&lt;br /&gt;Allegro shift register - ...&lt;br /&gt;&lt;br /&gt;Displays&lt;br /&gt;&lt;a href="http://www.radioshack.com/product/index.jsp?productId=2062557&amp;cp=&amp;kw=displays+segment&amp;parentPage=search" target="_blank"&gt;Seven segment from Radio Shack&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.goldmine-elec-products.com/prodinfo.asp?number=G4031A&amp;amp;variation=&amp;amp;aitem=3&amp;amp;mitem=4" target="_blank"&gt;Dual seven segment&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.electronetwork.org/exhibits/hiox/LED/" target="_blank"&gt;Sixteen segment display&lt;/a&gt;&lt;br /&gt;HPDL1414 :: "Smart" Alphanumeric Display include embedded IC, driver, latch decoder and character fonts (ordered waiting for delivery).&lt;br /&gt;&lt;br /&gt;Resources&lt;br /&gt;Maxim &lt;a href="http://www.maxim-ic.com/appnotes.cfm/appnote_number/3212" targt="_blank"&gt;16-Segment display tutorial&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19401694-113323347035135990?l=segmenttags.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://segmenttags.blogspot.com/feeds/113323347035135990/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=19401694&amp;postID=113323347035135990' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19401694/posts/default/113323347035135990'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19401694/posts/default/113323347035135990'/><link rel='alternate' type='text/html' href='http://segmenttags.blogspot.com/2005/11/research.html' title='Research'/><author><name>Michael DelGaudio</name><uri>http://www.blogger.com/profile/05535032620522106184</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='27' src='http://michaeldelgaudio.com/images/del_g_photo_sm.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19401694.post-113322463010390736</id><published>2005-11-28T19:33:00.000-05:00</published><updated>2005-11-28T19:37:10.103-05:00</updated><title type='text'>Setup</title><content type='html'>The blog documenting our Physical Computing final is alive and well. Even though there are only a few weeks Left tin the semester, capturing what we do is important. Instead of creating a documentation page for the project, it's easier to create something we can all edit.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19401694-113322463010390736?l=segmenttags.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://segmenttags.blogspot.com/feeds/113322463010390736/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=19401694&amp;postID=113322463010390736' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19401694/posts/default/113322463010390736'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19401694/posts/default/113322463010390736'/><link rel='alternate' type='text/html' href='http://segmenttags.blogspot.com/2005/11/setup.html' title='Setup'/><author><name>Michael DelGaudio</name><uri>http://www.blogger.com/profile/05535032620522106184</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='27' src='http://michaeldelgaudio.com/images/del_g_photo_sm.jpg'/></author><thr:total>0</thr:total></entry></feed>
