Difference between revisions of "Ed Powell"

From WLCS
(3rd Quarter Proposal)
(Proposal)
 
(25 intermediate revisions by the same user not shown)
Line 1: Line 1:
== '''3rd Quarter Proposal''' ==
+
== '''Proposal''' ==
  
  
 
'''Description:'''
 
'''Description:'''
*  The instruction set to program the micro-controller will be learned from the PDFs of the Atmel website and from some of the linked websites
+
*  A single LED cube will be built using an ATmega 16 to control it
The soldering of the cube will be finished
+
*  The ATmega 16 will be programmed with C using AVR Studio and an AVRISP MKII to load the program onto the micro-controller
The cube code will be written using the programming software
+
*  The instruction set to program the micro-controller will be learned from the PDFs available on Atmel's website and from other linked websites
*  It will be tested for bugs and brought into class when finalized
+
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:'''
 
'''Progress:'''
*  All of the necessary parts to build the cube have been bought - Done
+
*  All of the necessary parts to learn the instruction set for the micro-controller and build the cube have been purchased (see list below) -
A programmer to load the code onto the micro-controller has been purchased - Done
+
The C Programming website tutorials have been completed and a program for each section has been made - ✓ (click the links below to view)
Enough C has been learned to be able to to program the micro-controller - Done
+
**  Two sections should be done during each class
*  A blink LED program has been executed - Ongoing
+
**  Sections completed during the last class should be reviewed to ensure that its not forgotten
The parts have been soldered onto the proto-board and are ready to be programmed - Almost done (some connections to the 40 pin connector/microcontroller remaining)
+
Tutorials have been found that explain the programming process sufficiently (links to tutorials will be posted as they're found) - Ongoing
*  The instruction set to program the micro-controller has been learned - Ongoing
+
*  Start working with the micro-controller understand how it works -
**  Good tutorials have been found explaining the programming process - Done
+
**  The breadboard should be used so circuits can be made, tested, and then disassembled
**  The tutorials have been finished - Ongoing
+
**  A blink LED program has been executed - Ongoing
**  The programming of the main program has been started -
+
**Wire the circuit and load the program onto the micro-controller - ✓
*  The cube has been tested -
+
***  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:'''
 +
{|
 +
|[[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]
 +
 
  
 
'''Parts:'''
 
'''Parts:'''
 
*  The following parts will be used:
 
*  The following parts will be used:
**  [http://www.radioshack.com/product/index.jsp?productId=2102843&filterName=Type&filterValue=Breadboards Protoboard]
 
 
**  [http://parts.digikey.com/1/parts/552059-ic-avr-mcu-16k-16mhz-5v-40dip-atmega16-16pu.html Atmel Atamega16 micro-controller]
 
**  [http://parts.digikey.com/1/parts/552059-ic-avr-mcu-16k-16mhz-5v-40dip-atmega16-16pu.html Atmel Atamega16 micro-controller]
 
**  [http://parts.digikey.com/1/parts/408608-programmer-avr-system-atavrisp2.html Programmer for the micro-controller]
 
**  [http://parts.digikey.com/1/parts/408608-programmer-avr-system-atavrisp2.html Programmer for the micro-controller]
 +
**  [http://www.radioshack.com/product/index.jsp?productId=2102843&filterName=Type&filterValue=Breadboards Proto-board]
 
**  [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=/specs/G16120_specs.htm 64 green LEDs]
 
**  [http://www.superbrightleds.com/cgi-bin/store/index.cgi?action=DispPage&Page2Disp=/specs/R12120_specs.htm 1 red status LED]
 
**  [http://www.superbrightleds.com/cgi-bin/store/index.cgi?action=DispPage&Page2Disp=/specs/R12120_specs.htm 1 red status LED]
Line 31: Line 65:
 
**  [http://www.radioshack.com/product/index.jsp?productId=2062330&filterName=Type&filterValue=1%26amp;%23047;2-watt+resistors 1 10k resistor]
 
**  [http://www.radioshack.com/product/index.jsp?productId=2062330&filterName=Type&filterValue=1%26amp;%23047;2-watt+resistors 1 10k resistor]
 
**  [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.radioshack.com/product/index.jsp?productId=2062325&filterName=Type&filterValue=1%26amp;%23047;2-watt+resistors 4 2.2 k resistors]
**  [http://www.radioshack.com/product/index.jsp?productId=2062586&filterName=Type&filterValue=Transistor 4 2N2222 transistors]
+
**  [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=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/8571 2 22pF ceramic capacitors]
 
**  [http://www.sparkfun.com/products/669 1 14.7456 MHz crystal]
 
**  [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=3060978 2 tactile buttons]
**  Power switch
+
**  [http://www.radioshack.com/product/index.jsp?productId=2062509 1 power switch]
**  [http://en.wikipedia.org/wiki/Universal_Serial_Bus Connector for 5v power (A USB Cable will be used as it produces a fairly constant 5V)]
 
 
**  [http://www.radioshack.com/product/index.jsp?productId=2062605 40 pin connector for micro-controller]
 
**  [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)]
 +
  
 
'''Links:'''
 
'''Links:'''
[http://popularmicrocontrollers.com/avr-c-tutorial C programming tutorial that will mainly be used]
+
Links are added in the order they were found
 
 
== '''2nd Quarter Proposal''' ==
 
 
 
 
 
'''Description:'''
 
*  Continue working on the 1st quarter project by learning C to program the micro-controller
 
**  There will be more websites used this quarter with more concise information on programming the micro-controller
 
***  If more websites are found during the quarter they will be added to this page
 
***  Description from the previous quarter should be read for more information on the project
 
**  Two books (C for Unix and C++ for You++) will also be used along with the websites to help accomplish this task
 
**  The goals and deadlines may be altered if more resources are found during the quarter
 
 
 
'''Resources and Information:'''
 
*  [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]
 
 
 
'''Goals and Deadlines:'''
 
*  Work through all steps in the C Programming website by 11/19/10
 
**  This should be completed at home by the date above
 
**  After each step is competed a program containing what was learned should be written
 
*  Work through all of the steps in the ATmega16 programming guide by 12/6/10
 
**  Two steps of the guide should be done per class period
 
**  What was learned the last class period should be reviewed the next class period so it is not forgotten
 
*  Start working with the micro-controller by installing and running beginner programs to understand how it works
 
**  The tutorials above should be used to learn how to program the controller
 
**  The installation and testing will only be done at home but the code may be written at school
 
**  A separate board may be created for this purpose
 
*  Program the micro-controller with the finished code and make sure that it works
 
**  After figuring out how the micro-controller works the writing of the final code should begin
 
**  This may be done at school or at home
 
*  The finished cube should be brought to class
 
 
 
'''Progress:'''
 
*  The C Programming website has been completed and program files for each section have been written - Done
 
*  The parts necessary to build the cube have been ordered or gotten - Done
 
 
 
 
 
 
 
== '''1st Quarter Proposal:''' ==
 
 
 
 
 
'''Description:'''
 
*  Build a single color LED cube using the following parts:
 
**  Acrylic Case
 
**  Protoboard (the type with copper circles)
 
**  Atmel AVR Atamega16 micro-controller
 
**  Programmer to program the Atmega16
 
**  64 LEDs
 
**  2 status LEDs
 
**  Max232 rs-232 chip, or equivalent
 
**  16 resistors for LEDs
 
**  2x resistor 470 ohm
 
**  1x resistor 10k
 
**  4x resistor 2.2k
 
**  4x NPN transistor BC338
 
**  1x 10uF capacitor
 
**  1x 1000uF capacitor
 
**  6x 0.1uF ceramic capacitor
 
**  2x 22pF ceramic capacitor
 
**  1x crystal 14.7456 MHz
 
**  2x tactile button
 
**  Optional power switch
 
**  Connector for 12v power
 
**  Optional connector for 5v power
 
*  Learn C to program the micro-controller using the C Programming Guide
 
 
 
'''Resources and Information:'''
 
 
*  [http://www.instructables.com/id/LED-Cube-4x4x4/?images*images 4x4x4 LED Cube Instructable]
 
*  [http://www.instructables.com/id/LED-Cube-4x4x4/?images*images 4x4x4 LED Cube Instructable]
*  [http://www.superbrightleds.com/cgi-bin/store/index.cgi?action=DispPage&Page2Disp=%2Fleds.htm%23fivemm LEDs]
 
 
*  [http://dclausen.net/projects/ledcyl/ RGB LED Cylinder]
 
*  [http://dclausen.net/projects/ledcyl/ RGB LED Cylinder]
 
*  [http://www.thinkgeek.com/gadgets/lights/d71d/?cpg=froogle Think Geek Cube Available to Buy]
 
*  [http://www.thinkgeek.com/gadgets/lights/d71d/?cpg=froogle Think Geek Cube Available to Buy]
 
*  [http://www.lomont.org/Projects/LEDCube/LEDCube4.php RGB LED Cube Story]
 
*  [http://www.lomont.org/Projects/LEDCube/LEDCube4.php RGB LED Cube Story]
*  [http://www.superbrightleds.com/cgi-bin/store/index.cgi?action=DispPage&Page2Disp=%2Fspecs%2FTriColor_LED.htm RGB LEDs]
 
 
*  [http://hypnocube.com/ RGB LED Cube Story Cube For Sale]
 
*  [http://hypnocube.com/ RGB LED Cube Story Cube For Sale]
 
*  [http://www.lumisense.com/?page=eightcubed-v1 8x8x8 RGB LED Cube]
 
*  [http://www.lumisense.com/?page=eightcubed-v1 8x8x8 RGB LED Cube]
 
*  [http://embeddedmicro.com/ RGB LED Cube Directions]
 
*  [http://embeddedmicro.com/ RGB LED Cube Directions]
 
*  [http://hypnocube.com/ RGB LED 4x4x4 Cube Directions]
 
*  [http://hypnocube.com/ RGB LED 4x4x4 Cube Directions]
*  [http://www.cprogramming.com/ C Programming Guide]
+
*  [http://popularmicrocontrollers.com/avr-c-tutorial C programming Tutorials]
 
+
*  [http://ladyada.net/make/minipov3/software.html Installing the Software on the Micro-Controller]
'''Goals and Deadlines:'''
+
*  [http://courses.cit.cornell.edu/ee476/FinalProjects/s2008/pae26_rwc28/pae26_rwc28/index.html#AppendixA 5x5x5 LED Cube Instructable]
Acquire all parts necessary for the cube by 10/1/10
+
*  [http://www2.tech.purdue.edu/ecet/courses/referencematerial/atmel/ ATmega16 Programming Guide]
Solder parts on to the protoboard by 10/7/10
+
*  [http://web.archive.org/web/20040202003107/http://www.microschematic.com/inde.html ATmega Architecture Guide]
Bend and attach all LEDs to the board by 10/14/10
+
*  [http://abdullah.0fees.net/atmega32.php ATmega32 Programming Guide]
Finish assembling the cube by 10/15/10
+
[http://www.avrbeginners.net/ AVR Programming Guide]
Learn C by 10/21/10
+
[http://www.linuxfocus.org/English/November2004/article352.shtml AVR C Programming Guide]
Program the micro-controller by 11/1/10
+
[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]
  
  

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