Difference between revisions of "Ed Powell"

From WLCS
(3rd and 4th Quarter Proposal)
Line 1: Line 1:
== '''3rd and 4th 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 - ✓
+
*  All of the necessary parts to learn the instruction set for the microcontroller and build the cube have been purchased (see list below) - ✓
A programmer to load the code onto the micro-controller has been purchased - ✓
+
The C Programming webiste tutorials have been completed and a program for each section has been made - ✓
Enough C has been learned to be able to to program the micro-controller - ✓
+
*Two sections should be done during each class
*  A blink LED program has been executed - Onging
+
**  Sections compleated during the last class should be reviewed to ensure that its not forgotten
** Multiple programs has been loaded onto the microcontroller successfully but the LED doesn't blink
+
*  Tutorials have been found that explain the programming process sufficiently (links to tutorials will be posted as they're found) - Ongoing
The parts have been soldered onto the proto-board and are ready to be programmed - Ongoing
+
*  Start working with the micro-controller understand how it works
** The LEDs have been soldered into layers and most parts have been soldered onto the board
+
**  The breadboard should be used so circuts can be made, tested, and then disassembled
* Tutorials have been found that explain the programming process sufficiently - ✓
+
**  A blink LED program has been executed - Onging
 +
**Multiple programs has been loaded onto the microcontroller successfully but the LED doesn't blink
 +
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 circitry has been wired - Ongoing
 +
** The LEDs have been bent, soldered into layers, and and soldered together into their final cubic form (see Pictures 1 and 2)
 +
**  The remaining parts have been soldered to the proto-board
 +
**  The finished LED cube has been soldered to the proto-board
 +
**  The circitry has been wired and the microcontroller is ready to be programmed
 +
*  The C Programming webiste tutorials have been completed and a program for each section has been made - ✓
 +
Tutorials have been found that explain the programming process sufficiently - ✓
 
**  The tutorials have been finished - Ongoing
 
**  The tutorials have been finished - Ongoing
 
*  The programming of the main program has been started -
 
*  The programming of the main program has been started -
 
*  The cube has been tested -
 
*  The cube has been tested -
  
'''Pictures and Progress:'''
+
'''Pictures of Progress:'''
 
{|
 
{|
|[[File:Cube_Template.jpg|thumb|alt=image 1|Cube Template with an Unfinished Layer]]
+
|[[File:Cube_Template.jpg|thumb|alt=image 1|Picture 1: Cube Template with an Unfinished Layer]]
|[[File:Cube_Layers.jpg|thumb|alt=image 1|Completed Cube Layers]]
+
|[[File:Cube_Layers.jpg|thumb|alt=image 1|Picture 2: Completed Cube Layers]]
|[[File:Stacked_Layers.jpg|thumb|alt=image 1|Connected Layers of Cube]]
+
|[[File:Stacked_Layers.jpg|thumb|alt=image 1|Picture 3: Connected Layers of Cube]]
 
|}
 
|}
  
 
'''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 Protoboard]
 
**  [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 44: Line 54:
 
**  [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]
**  [http://www.radioshack.com/product/index.jsp?productId=2062497 Power switch]
 
**  [http://en.wikipedia.org/wiki/Universal_Serial_Bus Connector for 5v power (A USB Cable will be used as it produces a 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]
 +
*  Un-used/Replaced Parts:
 +
**  [http://www.radioshack.com/product/index.jsp?productId=2062497 Power switch (being replaced with a spare USB cable)]
  
 +
 +
*  Build a single color LED cube using the following parts:
 +
**  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
  
 
'''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
 +
*  [http://www.instructables.com/id/LED-Cube-4x4x4/?images*images 4x4x4 LED Cube Instructable]
 +
*  [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]
 +
*  [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.atmel.com/dyn/resources/prod_documents/AVRISPmkII_UG.pdf Data Sheet for AVRISP MKII]
*  [http://elasticsheep.com/2009/09/blinking-the-leds/ Blinking LED Tutorial]
 
 
*  [http://www.societyofrobots.com/robotforum/index.php?topic=3013.0 AVRISP MKII Help]
 
*  [http://www.societyofrobots.com/robotforum/index.php?topic=3013.0 AVRISP MKII Help]
*  [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]
 
  
 
== '''2nd Quarter Proposal''' ==
 
== '''2nd Quarter Proposal''' ==
Line 77: Line 117:
 
*  [http://www.linuxfocus.org/English/November2004/article352.shtml AVR C Programming Guide]
 
*  [http://www.linuxfocus.org/English/November2004/article352.shtml AVR C Programming Guide]
  
'''Goals and Deadlines:'''
+
'''Progress:'''
*  Work through all steps in the C Programming website by 11/19/10 - ✓
+
*  Work through all steps in the C Programming website - ✓
**  This should be completed at home by the date above - ✓
 
 
**  After each step is competed a program containing what was learned should be written - ✓
 
**  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
 
*  Work through all of the steps in the ATmega16 programming guide by 12/6/10
Line 136: Line 175:
 
*  [http://www.cprogramming.com/ C Programming Guide]
 
*  [http://www.cprogramming.com/ C Programming Guide]
  
'''Goals and Deadlines:'''
+
'''Progress:'''
 
*  Acquire all parts necessary for the cube by 10/1/10
 
*  Acquire all parts necessary for the cube by 10/1/10
 
*  Solder parts on to the protoboard by 10/7/10
 
*  Solder parts on to the protoboard by 10/7/10

Revision as of 12:19, 17 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 microcontroller and build the cube have been purchased (see list below) - ✓
  • The C Programming webiste tutorials have been completed and a program for each section has been made - ✓
    • Two sections should be done during each class
    • Sections compleated 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 circuts can be made, tested, and then disassembled
    • A blink LED program has been executed - Onging
      • Multiple programs has been loaded onto the microcontroller successfully but the LED doesn't blink
  • 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 circitry has been wired - Ongoing
    • The LEDs have been bent, soldered into layers, and and soldered together into their final cubic form (see Pictures 1 and 2)
    • The remaining parts have been soldered to the proto-board
    • The finished LED cube has been soldered to the proto-board
    • The circitry has been wired and the microcontroller is ready to be programmed
  • The C Programming webiste tutorials have been completed and a program for each section has been made - ✓
  • Tutorials have been found that explain the programming process sufficiently - ✓
    • The tutorials have been finished - Ongoing
  • The programming of the main program has been started -
  • The 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: Connected Layers of Cube

Parts:


  • Build a single color LED cube using the following parts:
    • 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

Links:

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:

Progress:

  • Work through all steps in the C Programming website - ✓
    • 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

Progress:

  • The C Programming website has been completed and program files for each section have been written - ✓
  • The parts necessary to build the cube have been ordered or gotten - ✓


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:

Progress:

  • Acquire all parts necessary for the cube by 10/1/10
  • Solder parts on to the protoboard by 10/7/10
  • Bend and attach all LEDs to the board by 10/14/10
  • Finish assembling the cube by 10/15/10
  • Learn C by 10/21/10
  • Program the micro-controller by 11/1/10




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