Difference between revisions of "Ed Powell"

From WLCS
(Proposal)
 
(53 intermediate revisions by the same user not shown)
Line 1: Line 1:
== '''1st Quarter Proposal:''' ==
+
== '''Proposal''' ==
 +
 
  
 
'''Description:'''
 
'''Description:'''
Learn C to program the microcontroller To build a single color LED cube using the fololowing parts:
+
A single LED cube will be built using an ATmega 16 to control it
**  Acrylic Case
+
*  The ATmega 16 will be programmed with C using AVR Studio and an AVRISP MKII to load the program onto the micro-controller
**  Protoboard (the type with copper circles)
+
*  The instruction set to program the micro-controller will be learned from the PDFs available on Atmel's website and from other linked websites
**  Atmel AVR Atmega16 microcontroller
+
*  A breadboard will be used to aid in learning the instruction set and to ease programming
**  Programmer to program the Atmega16
+
**  An ATmega 168 will be used in addition to the ATmega 16 while the instruction set is being learned
*64 Leds
+
 
**  2 status leds. I used red and green
+
 
**  Max232 rs-232 chip, or equivalent
+
'''Progress:'''
**  16 resistors for leds
+
* All of the necessary parts to learn the instruction set for the micro-controller and build the cube have been purchased (see list below) - ✓
**  2x resistor 470 ohm
+
The C Programming website tutorials have been completed and a program for each section has been made - ✓ (click the links below to view)
**  1x resistor 10k
+
**  Two sections should be done during each class
**  4x resistor 2.2k
+
**  Sections completed during the last class should be reviewed to ensure that its not forgotten
**  4x NPN transistor BC338
+
*  Tutorials have been found that explain the programming process sufficiently (links to tutorials will be posted as they're found) - Ongoing
**  1x 10uF capacitor
+
Start working with the micro-controller understand how it works - ✓
**  1x 1000uF capacitor
+
**  The breadboard should be used so circuits can be made, tested, and then disassembled
**  6x 0.1uF ceramic capacitor
+
**  A blink LED program has been executed - Ongoing
**  2x 22pF ceramic capacitor
+
***  Wire the circuit and load the program onto the micro-controller - ✓
**  1x crystal 14.7456 MHz
+
***  Test the circuit and make sure the LED blinks - Needs Debugging
**  2x tactile button
+
**  Other beginner programs should be made and tested - Ongoing
**  Optional pwr switch
+
* All of the necessary parts to build the cube have been purchased (see list below) - ✓
*Connector for 12v power
+
All parts have been soldered onto the proto-board and the circuitry has been wired - Ongoing
*Optional connector for 5v power
+
**  The LEDs have been bent, soldered into layers, and and soldered together into their final cubic form (see Pictures 1 to 6) - ✓
Learn C to program the microcontroller
+
**  The remaining parts have been soldered to the proto-board - ✓
 +
**  The finished LED cube has been soldered to the proto-board -
 +
**  The circuitry has been wired and the micro-controller is ready to be programmed -
 +
* The programming of the main program has been started -
 +
The final cube has been tested -
 +
 
 +
 
 +
'''Pictures of Progress:'''
 +
{|
 +
|[[File:Cube_Template.jpg|thumb|alt=image 1|Picture 1: Cube Template with an Unfinished Layer]]
 +
|[[File:Cube_Layers.jpg|thumb|alt=image 1|Picture 2: Completed Cube Layers]]
 +
|[[File:Stacked_Layers.jpg|thumb|alt=image 1|Picture 3: Layers of Cube]]
 +
|[[File:Bent_Anodes.jpg|thumb|alt=image 1|Picture 4: Bent Anodes to be Soldered to Form the Cube]]
 +
|[[File:Final_Cube.jpg|thumb|alt=image 1|Picture 5: Completed Cube]]
 +
|[[File:Final_Cube_Test.jpg|thumb|alt=image 1|Picture 6: Test of LEDs in the Final Cube]]
 +
|}
 +
 
 +
'''Code:'''
 +
* [http://paulbui.net/wiki/images/9/9f/Hello_World.txt Hello World]
 +
[http://paulbui.net/wiki/images/c/c2/Birthday_Prompt.txt Birthday Prompt]
 +
* [http://paulbui.net/wiki/images/c/c3/Power_3.txt Power of 3]
 +
[http://paulbui.net/wiki/images/4/4a/Factorial_Sequence.txt Factorial Sequence]
 +
* [http://paulbui.net/wiki/images/4/41/Fibonacci_Sequence.txt Fibonacci Sequence]
 +
[http://paulbui.net/wiki/images/1/16/MPAA_Calculator.txt MPAA Calculator]
 +
[http://paulbui.net/wiki/images/a/a6/Print_Square.txt Print Square]
 +
[http://paulbui.net/wiki/images/f/f0/Print_Triangle.txt Print Triangle]
 +
[http://paulbui.net/wiki/images/7/79/Print_Initials.txt Print Initials]
  
  
'''Resources and Information:'''
+
'''Parts:'''
*  [http://www.instructables.com/id/LED-Cube-4x4x4/?images*images|LED Cube Instructable]
+
*  The following parts will be used:
*  [http://www.superbrightleds.com/cgi-bin/store/index.cgi?action=DispPage&Page2Disp=%2Fleds.htm%23fivemm/|LEDs]
+
**  [http://parts.digikey.com/1/parts/552059-ic-avr-mcu-16k-16mhz-5v-40dip-atmega16-16pu.html Atmel Atamega16 micro-controller]
*  [http://dclausen.net/projects/ledcyl/|RGB LED Cylinder]
+
**  [http://parts.digikey.com/1/parts/408608-programmer-avr-system-atavrisp2.html Programmer for the micro-controller]
*  [http://www.thinkgeek.com/gadgets/lights/d71d/?cpg=froogle|Think Geek Cube Available to Buy]
+
**  [http://www.radioshack.com/product/index.jsp?productId=2102843&filterName=Type&filterValue=Breadboards Proto-board]
*  [http://www.lomont.org/Projects/LEDCube/LEDCube4.php|RGB LED Cube Story|RGB LED Cube Story]
+
**  [http://www.superbrightleds.com/cgi-bin/store/index.cgi?action=DispPage&Page2Disp=/specs/G16120_specs.htm 64 green LEDs]
*  [http://www.superbrightleds.com/cgi-bin/store/index.cgi?action=DispPage&Page2Disp=%2Fspecs%2FTriColor_LED.htm|RGB LEDs]
+
**  [http://www.superbrightleds.com/cgi-bin/store/index.cgi?action=DispPage&Page2Disp=/specs/R12120_specs.htm 1 red status LED]
*  [http://hypnocube.com/|RGB LED Cube Story Cube For Sale]
+
**  [http://www.radioshack.com/product/index.jsp?productId=2062317&filterName=Type&filterValue=1%26amp;amp;%23047;2-watt+resistors 16 220 ohm resistors for LEDs]
*  [http://www.lumisense.com/?page=eightcubed-v1|8 x 8 RGB LED Cube]
+
**  [http://www.radioshack.com/product/index.jsp?productId=2062320&filterName=Type&filterValue=1%26amp;%23047;2-watt+resistors 2 470 ohm resistors]
*  [http://embeddedmicro.com/|RGB LED Cube Directions]
+
**  [http://www.radioshack.com/product/index.jsp?productId=2062330&filterName=Type&filterValue=1%26amp;%23047;2-watt+resistors 1 10k resistor]
*  [http://hypnocube.com/|RGB LED 4 x 4 Cube Directions]
+
**  [http://www.radioshack.com/product/index.jsp?productId=2062325&filterName=Type&filterValue=1%26amp;%23047;2-watt+resistors 4 2.2 k resistors]
*  [http://www.cprogramming.com/|C Programming Guide]
+
**  [http://www.radioshack.com/product/index.jsp?productId=2062586&filterName=Type&filterValue=Transistor 4 2N2222 NPN transistors]
 +
**  [http://www.radioshack.com/product/index.jsp?productId=2062365&filterName=Type&filterValue=Ceramic+disc+capacitors 6 0.1uF ceramic capacitors]
 +
**  [http://www.radioshack.com/product/index.jsp?productId=2103610&filterName=Type&numProdsPerPage=60&filterValue=Electrolytic+capacitors 1 10uf capacitor]
 +
**  [http://www.radioshack.com/product/index.jsp?productId=2102507&filterName=Type&filterValue=Electrolytic+capacitors 1 1000uf capacitor]
 +
**  [http://www.sparkfun.com/products/8571 2 22pF ceramic capacitors]
 +
**  [http://www.sparkfun.com/products/669 1 14.7456 MHz crystal]
 +
**  [http://www.radioshack.com/product/index.jsp?productId=3060978 2 tactile buttons]
 +
**  [http://www.radioshack.com/product/index.jsp?productId=2062509 1 power switch]
 +
**  [http://www.radioshack.com/product/index.jsp?productId=2062605 40 pin connector for micro-controller]
 +
**  A spare USB cable (for power)
 +
***  [http://en.wikipedia.org/wiki/Universal_Serial_Bus USB ports provide a constant 5V]
 +
*  Unused or Unnecessary Parts:
 +
**  [http://www.radioshack.com/product/index.jsp?productId=2062497 Power switch (being replaced with a spare USB cable)]
  
  
'''Goals and Deadlines:'''
+
'''Links:'''
Aquire all parts neccessary for the cube by 10/1/10
+
Links are added in the order they were found
Solder parts on to the protoboard by 10/7/10
+
*  [http://www.instructables.com/id/LED-Cube-4x4x4/?images*images 4x4x4 LED Cube Instructable]
Bend and attach all LEDs to the board by 10/14/10
+
*  [http://dclausen.net/projects/ledcyl/ RGB LED Cylinder]
Finish assembling the cube by 10/15/10
+
*  [http://www.thinkgeek.com/gadgets/lights/d71d/?cpg=froogle Think Geek Cube Available to Buy]
Learn C by 10/21/10
+
[http://www.lomont.org/Projects/LEDCube/LEDCube4.php RGB LED Cube Story]
Program the microcontroller by 11/1/10
+
*  [http://hypnocube.com/ RGB LED Cube Story Cube For Sale]
 +
*  [http://www.lumisense.com/?page=eightcubed-v1 8x8x8 RGB LED Cube]
 +
*  [http://embeddedmicro.com/ RGB LED Cube Directions]
 +
*  [http://hypnocube.com/ RGB LED 4x4x4 Cube Directions]
 +
*  [http://popularmicrocontrollers.com/avr-c-tutorial C programming Tutorials]
 +
*  [http://ladyada.net/make/minipov3/software.html Installing the Software on the Micro-Controller]
 +
*  [http://courses.cit.cornell.edu/ee476/FinalProjects/s2008/pae26_rwc28/pae26_rwc28/index.html#AppendixA 5x5x5 LED Cube Instructable]
 +
*  [http://www2.tech.purdue.edu/ecet/courses/referencematerial/atmel/ ATmega16 Programming Guide]
 +
*  [http://web.archive.org/web/20040202003107/http://www.microschematic.com/inde.html ATmega Architecture Guide]
 +
[http://abdullah.0fees.net/atmega32.php ATmega32 Programming Guide]
 +
[http://www.avrbeginners.net/ AVR Programming Guide]
 +
[http://www.linuxfocus.org/English/November2004/article352.shtml AVR C Programming Guide]
 +
*  [http://www.atmel.com/dyn/resources/prod_documents/doc2466.pdf ATmega 16 Data Sheet
 +
[http://elasticsheep.com/2009/09/blinking-the-leds/ ATmega 168 Blink LED Tutorial]
 +
*  [http://www.atmel.com/dyn/resources/prod_documents/doc2545.pdf ATmega 168 Data Sheet]
 +
*  [http://www.instructables.com/id/Ghetto-Programming%3a-Getting-started-with-AVR-micro/step4/Make-Programmer-Cable/ Parallel Port Programmer Cable]
 +
*  [http://www.atmel.com/dyn/resources/prod_documents/AVRISPmkII_UG.pdf Data Sheet for AVRISP MKII]
 +
*  [http://www.societyofrobots.com/robotforum/index.php?topic=3013.0 AVRISP MKII Help]
  
  
Line 55: Line 111:
 
'''Possible Later Goal:'''
 
'''Possible Later Goal:'''
 
* Build an RGB LED cube after the single color cube is finished using the following parts (if deemed possible):
 
* Build an RGB LED cube after the single color cube is finished using the following parts (if deemed possible):
**  Acrilic Case
+
**  Acrylic Case
 
**  H4C printed circuit board
 
**  H4C printed circuit board
 
**  110VAC to 9VDC 300mA transformer
 
**  110VAC to 9VDC 300mA transformer
 
**  22 AWG straightened galvanized soft steel wire x40
 
**  22 AWG straightened galvanized soft steel wire x40
 
**  Diffuse common-cathode RGB LED x64
 
**  Diffuse common-cathode RGB LED x64
**  PIC18F4620 microcontroller (40 pins)
+
**  PIC18F4620 micro-controller (40 pins)
 
**  SN74AHC574 octal D-type flip-flop x4 (20 pins)
 
**  SN74AHC574 octal D-type flip-flop x4 (20 pins)
 
**  ULN2803A NPN Darlington transistor array (18 pins)
 
**  ULN2803A NPN Darlington transistor array (18 pins)

Latest revision as of 12:25, 20 June 2011

Proposal

Description:

  • A single LED cube will be built using an ATmega 16 to control it
  • The ATmega 16 will be programmed with C using AVR Studio and an AVRISP MKII to load the program onto the micro-controller
  • The instruction set to program the micro-controller will be learned from the PDFs available on Atmel's website and from other linked websites
  • A breadboard will be used to aid in learning the instruction set and to ease programming
    • An ATmega 168 will be used in addition to the ATmega 16 while the instruction set is being learned


Progress:

  • All of the necessary parts to learn the instruction set for the micro-controller and build the cube have been purchased (see list below) - ✓
  • The C Programming website tutorials have been completed and a program for each section has been made - ✓ (click the links below to view)
    • Two sections should be done during each class
    • Sections completed during the last class should be reviewed to ensure that its not forgotten
  • Tutorials have been found that explain the programming process sufficiently (links to tutorials will be posted as they're found) - Ongoing
  • Start working with the micro-controller understand how it works - ✓
    • The breadboard should be used so circuits can be made, tested, and then disassembled
    • A blink LED program has been executed - Ongoing
      • Wire the circuit and load the program onto the micro-controller - ✓
      • Test the circuit and make sure the LED blinks - Needs Debugging
    • Other beginner programs should be made and tested - Ongoing
  • All of the necessary parts to build the cube have been purchased (see list below) - ✓
  • All parts have been soldered onto the proto-board and the circuitry has been wired - Ongoing
    • The LEDs have been bent, soldered into layers, and and soldered together into their final cubic form (see Pictures 1 to 6) - ✓
    • The remaining parts have been soldered to the proto-board - ✓
    • The finished LED cube has been soldered to the proto-board -
    • The circuitry has been wired and the micro-controller is ready to be programmed -
  • The programming of the main program has been started -
  • The final cube has been tested -


Pictures of Progress:

image 1
Picture 1: Cube Template with an Unfinished Layer
image 1
Picture 2: Completed Cube Layers
image 1
Picture 3: Layers of Cube
image 1
Picture 4: Bent Anodes to be Soldered to Form the Cube
image 1
Picture 5: Completed Cube
image 1
Picture 6: Test of LEDs in the Final Cube

Code:


Parts:


Links:




Possible Later Goal:

  • Build an RGB LED cube after the single color cube is finished using the following parts (if deemed possible):
    • Acrylic Case
    • H4C printed circuit board
    • 110VAC to 9VDC 300mA transformer
    • 22 AWG straightened galvanized soft steel wire x40
    • Diffuse common-cathode RGB LED x64
    • PIC18F4620 micro-controller (40 pins)
    • SN74AHC574 octal D-type flip-flop x4 (20 pins)
    • ULN2803A NPN Darlington transistor array (18 pins)
    • LM2574 5V switching regulator (8 pins)
    • 22 resistor array (16 pins)
    • 47 resistor array (16 pins)
    • 68 resistor array (16 pins)
    • 47K resistor x3 (yellow-violet-orange-gold)
    • 1K resistor x5 (brown-black-red-gold)
    • 1N4148TR signal diode x24 (red)
    • 511-BAT48 rectifier diode (blue)
    • 330mH inductor
    • 0.1uF ceramic capacitor x5
    • 10uF electrolytic capacitor
    • 22uF electrolytic capacitor
    • 220uF electrolytic capacitor
    • 6” black wire
    • 18” red wire
    • 24” white wire
    • 2.1mm DC power jack
    • Toggle switch
    • Momentary toggle switch x2
    • 1” threaded standoff x4
    • 1⁄2” 4-40 screw x8
    • Rubber feet x4
    • DLP-UB232R UART-USB bridge module
    • Mini-B USB cable