Difference between revisions of "Ed Powell"

From WLCS
(Proposal)
 
(48 intermediate revisions by the same user not shown)
Line 1: Line 1:
== '''2nd Quarter Proposal''' ==
+
== '''Proposal''' ==
 +
 
  
 
'''Description:'''
 
'''Description:'''
Continue working on the 1st quarter project by learning C to program the micro-controller
+
A single LED cube will be built using an ATmega 16 to control it
*There will be more websites used this quarter with more concise information on programming the micro-controller
+
The ATmega 16 will be programmed with C using AVR Studio and an AVRISP MKII to load the program onto the micro-controller
**If more websites are found during the quarter they will be added to this page
+
The instruction set to program the micro-controller will be learned from the PDFs available on Atmel's website and from other linked websites
***  Discription from the previous quarter should be read for more information on the project
+
A breadboard will be used to aid in learning the instruction set and to ease programming
*Two books (C for Unix and C++ for You++) will also be used along with the websites to help accomplish this task
+
**  An ATmega 168 will be used in addition to the ATmega 16 while the instruction set is being learned
**  The goals and deadlines may be altered if more reasources 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]
 
 
 
'''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 compeated 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 by 1/4/11
 
**  The instillation and testing will only be done at home but the code may be written at school
 
**  A seperate board may be created for this purpose
 
*  Program the micro-controller with the finished code and make sure that it works, this should be completed by 1/12/11
 
**  After figuring out how the microcontroller 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 by 1/14/11
 
  
 
'''Progress:'''
 
'''Progress:'''
*  The C Programming website has been completed and program files for each section have been written
+
*  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 ATmega16 programming guide has been completed
+
*  The C Programming website tutorials have been completed and a program for each section has been made - ✓ (click the links below to view)
The parts neccessary to build the cube have been ordered or gotten and the cube is being built
+
**  Two sections should be done during each class
Writing of the final code for the cube has begun
+
**  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 -
  
'''Parts:'''
 
*  Will be updated
 
  
 +
'''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]
  
== '''1st Quarter Proposal:''' ==
 
  
'''Description:'''
+
'''Parts:'''
Build a single color LED cube using the following parts:
+
The following parts will be used:
**  Acrylic Case
+
**  [http://parts.digikey.com/1/parts/552059-ic-avr-mcu-16k-16mhz-5v-40dip-atmega16-16pu.html Atmel Atamega16 micro-controller]
**  Protoboard (the type with copper circles)
+
**  [http://parts.digikey.com/1/parts/408608-programmer-avr-system-atavrisp2.html Programmer for the micro-controller]
**  Atmel AVR Atamega16 micro-controller
+
**  [http://www.radioshack.com/product/index.jsp?productId=2102843&filterName=Type&filterValue=Breadboards Proto-board]
**  Programmer to program the Atmega16
+
**  [http://www.superbrightleds.com/cgi-bin/store/index.cgi?action=DispPage&Page2Disp=/specs/G16120_specs.htm 64 green LEDs]
**  64 LEDs
+
**  [http://www.superbrightleds.com/cgi-bin/store/index.cgi?action=DispPage&Page2Disp=/specs/R12120_specs.htm 1 red status LED]
**  2 status LEDs. I used red and green
+
**  [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]
**  Max232 rs-232 chip, or equivalent
+
**  [http://www.radioshack.com/product/index.jsp?productId=2062320&filterName=Type&filterValue=1%26amp;%23047;2-watt+resistors 2 470 ohm resistors]
**  16 resistors for LEDs
+
**  [http://www.radioshack.com/product/index.jsp?productId=2062330&filterName=Type&filterValue=1%26amp;%23047;2-watt+resistors 1 10k resistor]
**  2x resistor 470 ohm
+
**  [http://www.radioshack.com/product/index.jsp?productId=2062325&filterName=Type&filterValue=1%26amp;%23047;2-watt+resistors 4 2.2 k resistors]
**  1x resistor 10k
+
**  [http://www.radioshack.com/product/index.jsp?productId=2062586&filterName=Type&filterValue=Transistor 4 2N2222 NPN transistors]
**  4x resistor 2.2k
+
**  [http://www.radioshack.com/product/index.jsp?productId=2062365&filterName=Type&filterValue=Ceramic+disc+capacitors 6 0.1uF ceramic capacitors]
**  4x NPN transistor BC338
+
**  [http://www.radioshack.com/product/index.jsp?productId=2103610&filterName=Type&numProdsPerPage=60&filterValue=Electrolytic+capacitors 1 10uf capacitor]
**  1x 10uF capacitor
+
**  [http://www.radioshack.com/product/index.jsp?productId=2102507&filterName=Type&filterValue=Electrolytic+capacitors 1 1000uf capacitor]
**  1x 1000uF capacitor
+
**  [http://www.sparkfun.com/products/8571 2 22pF ceramic capacitors]
**  6x 0.1uF ceramic capacitor
+
**  [http://www.sparkfun.com/products/669 1 14.7456 MHz crystal]
**  2x 22pF ceramic capacitor
+
**  [http://www.radioshack.com/product/index.jsp?productId=3060978 2 tactile buttons]
**  1x crystal 14.7456 MHz
+
**  [http://www.radioshack.com/product/index.jsp?productId=2062509 1 power switch]
**  2x tactile button
+
**  [http://www.radioshack.com/product/index.jsp?productId=2062605 40 pin connector for micro-controller]
**  Optional power switch
+
**  A spare USB cable (for power)
**  Connector for 12v power
+
***  [http://en.wikipedia.org/wiki/Universal_Serial_Bus USB ports provide a constant 5V]
**  Optional connector for 5v power
+
*  Unused or Unnecessary Parts:
* Learn C to program the micro-controller using the C Programming Guide
+
**  [http://www.radioshack.com/product/index.jsp?productId=2062497 Power switch (being replaced with a spare USB cable)]
 
 
 
 
'''Resources and Information:'''
 
*  [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://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|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://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://www.cprogramming.com/| C Programming Guide]
 
  
  
'''Goals and Deadlines:'''
+
'''Links:'''
Acquire all parts necessary 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 micro-controller 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]
  
  

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