Main.Team5 History

Hide minor edits - Show changes to markup

March 16, 2010, at 11:07 PM by 151.204.251.137 -
March 16, 2010, at 11:03 PM by 151.204.251.137 -
Added lines 147-154:
March 16, 2010, at 11:01 PM by 151.204.251.137 -
Added lines 144-146:
March 05, 2010, at 02:25 PM by Amy -
Changed line 133 from:
to:

the spider in action: http://www.youtube.com/watch?v=yYgol1MbuJs

March 04, 2010, at 12:07 PM by Amy -
Added lines 132-134:
Added line 139:
March 03, 2010, at 12:54 PM by 18.111.74.156 -
Added lines 133-139:
March 03, 2010, at 12:52 PM by 18.111.74.156 -
Added lines 131-133:
March 03, 2010, at 12:46 PM by Sarah Bates -
Changed lines 2-4 from:

By Edwina, Sara, Amy & James

to:

By Edwina, Sarah, Amy & James

Changed line 128 from:
to:

This program allows for two of the legs to turn the LED on or off. If two legs are turned on in combination the eyes will flash faster or slower. With no input the spider flashes its eyes continuously, scheming.

March 03, 2010, at 12:44 PM by Sarah Bates -
Changed lines 89-108 from:

b1Input();

b2Input();

b3Input();

b4Input();

b1High();

b2High();

b3High();

b4High();

  for(;;)
to:
 b1Input(); b2Input(); b3Input(); b4Input();

b1High(); b2High(); b3High(); b4High();

 for(;;)
Changed lines 94-106 from:

if (b1IsLow()&b3IsLow())

{

b0High();

_delay_ms(500);

b0Low();

_delay_ms(500);

to:
      if (b1IsLow()&b3IsLow())
      {
         b0High();
        _delay_ms(500);
        b0Low();
        _delay_ms(500);
      }

      else if (b2IsLow()&b1IsLow())
      {
       b0High();
       _delay_ms(2000);
       b0Low();
       _delay_ms(2000);
       }
     else if (b1IsLow())
     {
     b0High();
      }
     else if (b2IsLow())
     {
      b0Low();
      }
     else
     {
      b0High();
     _delay_ms(1000);
      b0Low();
     _delay_ms(1000);
      }
Deleted lines 124-174:

else if (b2IsLow()&b1IsLow())

{

{

b0High();

_delay_ms(2000);

b0Low();

_delay_ms(2000);

}

}

else if (b1IsLow())

{

b0High();

}

else if (b2IsLow())

{

b0Low();

}

else

{

b0High();

_delay_ms(1000);

b0Low();

_delay_ms(1000);

}

}

Deleted line 125:
March 03, 2010, at 12:41 PM by Sarah Bates -
Changed lines 61-62 from:

The other issue is that we had mistakenly thought that the microcontroller could hold the input pins low instead of high. It turns out that this is not the case. As a result, the input pins would not reliably sense when the switch was open rather than closed. To solve this problem, we changed the circuit pictued above on the fly.

to:

The other issue is that we had mistakenly thought that the microcontroller could hold the input pins low instead of high. It turns out that this is not the case. As a result, the input pins would not reliably sense when the switch was open rather than closed. To solve this problem, we changed the circuit pictured above on the fly. Instead of having the legs be tied to VCC we broke the connection and rerouted them to ground. We then changed the program to sense when the pins were low rather than high.

This is our current code: /*********************************************

 * Author: Leah Buechley

 * Filename: blink.c

 * Chip: ATtiny13

 */
  1. define F_CPU 1000000
  2. include <avr/io.h>
  3. include <util/delay.h>
  4. include "../leah_library/pin_macros.h"

int main (void)

{

b0Output();

b1Input();

b2Input();

b3Input();

b4Input();

b1High();

b2High();

b3High();

b4High();

  for(;;)

{

if (b1IsLow()&b3IsLow())

{

b0High();

_delay_ms(500);

b0Low();

_delay_ms(500);

}

else if (b2IsLow()&b1IsLow())

{

{

b0High();

_delay_ms(2000);

b0Low();

_delay_ms(2000);

}

}

else if (b1IsLow())

{

b0High();

}

else if (b2IsLow())

{

b0Low();

}

else

{

b0High();

_delay_ms(1000);

b0Low();

_delay_ms(1000);

}

}

return 0;

}

March 03, 2010, at 12:39 PM by Sarah Bates -
Added lines 56-61:

When we began programming our spider we found that there were two issues that we had not anticipated. One is that our programming configuration was a little bit awkward as we can see in the picture below:

We needed to hold some of the clips in place to ensure that we had a good connection to the microcrontroller.

The other issue is that we had mistakenly thought that the microcontroller could hold the input pins low instead of high. It turns out that this is not the case. As a result, the input pins would not reliably sense when the switch was open rather than closed. To solve this problem, we changed the circuit pictued above on the fly.

March 03, 2010, at 12:16 PM by 72.93.181.94 -
Changed line 1 from:

+Tiny AT's Dream \\

to:

Tiny AT's Dream \\

March 03, 2010, at 12:16 PM by 72.93.181.94 -
Deleted line 19:
Added lines 24-25:

Tabs were made for GND and b0(output) because they were in the interior of the body, so the alligator clips could be attached for programming.

Added lines 27-29:

Programming attached layout

Added lines 31-33:

The battery layer needed to be on a separate layer. Two pieces of fabric sandwiched the battery, with an insulating layer separating it from the main circuitry layer.
\\

March 03, 2010, at 12:12 PM by 72.93.181.94 -
Added lines 16-18:

Aww, isn't he cute?

Added lines 20-23:

The challenge of the circuit layout was to somehow extend functionality to all of the spider legs. We decided on a scheme that would extend VCC(+) to all of the legs on one side of the spider, and b1, b2, b3, and b4 to the otherside as inputs. When any of the b* inputs come into contact with the VCC legs, that b* input would go to the 'high()' state. This way we can program multiple possible outputs (LED flashing patterns) based on the conditions of legs.

March 03, 2010, at 12:06 PM by 72.93.181.94 -
Changed lines 10-11 from:

Design

to:



Design\\

March 03, 2010, at 12:05 PM by 72.93.181.94 -
Deleted lines 6-7:

The initial idea came from a desire to extend the ATtiny13's pins outwards so they can begin interacting with eachother.

Added lines 8-9:

The initial idea came from a desire to extend the ATtiny13's pins outwards so they can begin interacting with eachother. The design evolved into a plush toy spider; its legs act as interactive element, and upon coming into contact with its other legs (in several different configurations), the spider's LED eyes would respond differently - perhaps to indicate its current mood. (A more complex iteration could involve coloring each leg a different color, and touching legs of different colors would generate the mixed color result, which could show up on a multicolored LED, as a way to teach a child the color wheel)

March 03, 2010, at 12:04 PM by Sarah Bates -
March 03, 2010, at 12:03 PM by Amy -
Added lines 21-25:

<<<<<<< Laser cutting the spider circuit proved to be trickier than we expected. We accidentally laser cut the fabric with the conductive side up, and iron-on paper down, and realized later that the paper didn't get cut. We were able to use an exacto knife to cut the rest of the spider, so we didn't need to cut another one.

=======

Changed lines 27-28 from:
to:

>>>>>>>

Added lines 31-34:

We also experienced some unforeseen difficulties with the assembly. The first was figuring out how to iron the circuit onto the backing fabric without accidentally sticking all of the legs together. We ended up taping over the conductive side before tearing away the paper, which worked very well. Once everything was ironed we soldered the components together. Because the legs of the microcontroller are so close together, we were worried that we might accidentally connect them with solder, but using very thin solder worked well to prevent this. We decided to put in two LEDs for eyes, which was not a good idea, in hindsight. When connected to the computer's power source, both LEDs (wired in series) could light up, but later when we attached the battery, we realized that 3V is not enough to light up both. However, the battery was enough to power one LED, so we decided just to short the second LED and paint it red. (No wait, that was the plan all along...)

Another thing we discovered is that too much soldering can burn the conductive fabric and cause it to tear. After re-soldering the connections multiple times, we finally decided to epoxy everything on both sides of the circuit.

March 03, 2010, at 11:58 AM by 72.93.181.94 -
Changed lines 5-7 from:

The Concept

to:

The Concept

The initial idea came from a desire to extend the ATtiny13's pins outwards so they can begin interacting with eachother.

March 03, 2010, at 11:53 AM by 72.93.181.94 -
Changed line 19 from:
to:
March 03, 2010, at 11:51 AM by 72.93.181.94 -
Added lines 14-15:
March 03, 2010, at 11:46 AM by 72.93.181.94 -
Changed lines 11-12 from:
to:
March 03, 2010, at 11:40 AM by 72.93.181.94 -
Changed line 11 from:
to:
March 03, 2010, at 11:37 AM by 72.93.181.94 -
Changed line 11 from:
to:
March 03, 2010, at 11:33 AM by 72.93.181.94 -
Changed line 7 from:
to:
March 03, 2010, at 11:33 AM by 72.93.181.94 -
Changed line 7 from:
to:
March 03, 2010, at 11:33 AM by 72.93.181.94 -
Changed line 7 from:
to:
March 03, 2010, at 11:32 AM by 72.93.181.94 -
Changed line 7 from:
to:
March 03, 2010, at 11:32 AM by 72.93.181.94 -
Changed line 7 from:
to:
March 03, 2010, at 11:32 AM by 72.93.181.94 -
Changed line 7 from:
to:
March 03, 2010, at 11:32 AM by 72.93.181.94 -
Changed line 7 from:
to:
March 03, 2010, at 11:31 AM by 72.93.181.94 -
Changed line 7 from:
to:
March 03, 2010, at 11:29 AM by 72.93.181.94 -
Changed line 7 from:
to:
March 03, 2010, at 11:28 AM by 72.93.181.94 -
Changed line 7 from:
to:
March 03, 2010, at 11:28 AM by 72.93.181.94 -
Changed line 7 from:
to:
March 03, 2010, at 11:27 AM by 72.93.181.94 -
Changed line 1 from:

+Tiny AT's Dream

to:

+Tiny AT's Dream \\

Changed line 7 from:
to:
March 03, 2010, at 11:20 AM by 72.93.181.94 -
Changed lines 4-34 from:

Concept

to:

The Concept

Design

Fabrication Pt I - Laser Cutting

Fabrication Pt II - Assembly

Programming

Result

Issues

March 03, 2010, at 11:18 AM by 72.93.181.94 -
Changed lines 1-5 from:

+Tiny AT's Dream

to:

+Tiny AT's Dream By Edwina, Sara, Amy & James

Concept

March 03, 2010, at 11:17 AM by 72.93.181.94 -
Added line 1:

+Tiny AT's Dream