<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://hades.mech.northwestern.edu//api.php?action=feedcontributions&amp;feedformat=atom&amp;user=TristanSokol</id>
	<title>Mech - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://hades.mech.northwestern.edu//api.php?action=feedcontributions&amp;feedformat=atom&amp;user=TristanSokol"/>
	<link rel="alternate" type="text/html" href="https://hades.mech.northwestern.edu//index.php/Special:Contributions/TristanSokol"/>
	<updated>2026-04-30T22:38:37Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.35.9</generator>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=Northwestern_Design_Competition&amp;diff=22148</id>
		<title>Northwestern Design Competition</title>
		<link rel="alternate" type="text/html" href="https://hades.mech.northwestern.edu//index.php?title=Northwestern_Design_Competition&amp;diff=22148"/>
		<updated>2013-04-25T03:22:55Z</updated>

		<summary type="html">&lt;p&gt;TristanSokol: /* DC2013 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==DC2013==&lt;br /&gt;
Spring Quarter Schedule&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Workshop 6&amp;#039;&amp;#039;&amp;#039; - H-Bridges, DC motor control, wheel sensing&lt;br /&gt;
** Wed, 4/3/2013, 6pm in mechatronics lab&lt;br /&gt;
** [[Media:workshop6.c | workshop6.c - drive a DC motor using PWM with an h-bridge and sense its position with a reflectance sensor]]&lt;br /&gt;
** [[Media:DC2013_hbridge_motors.pdf | How to use an h-bridge and a DC motor]]&lt;br /&gt;
** [[Media:encoder.docx | Encoder template]]&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Milestone 6&amp;#039;&amp;#039;&amp;#039; - Wheel control&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;Meeting in the mechatronics lab at 6pm 4/17&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** Demo due by 4/17/2013&lt;br /&gt;
** Press the USER button, and the wheel rotates 180 degrees&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Milestone 7&amp;#039;&amp;#039;&amp;#039; - Complete chassis&lt;br /&gt;
**[[Media:DC2013_3dprinting_design.pdf | How to design parts that can be 3D printed]] &lt;br /&gt;
** Demo due by 4/24/2013&lt;br /&gt;
** Demo your chassis&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Milestone 8&amp;#039;&amp;#039;&amp;#039; - Driving and sensing the world&lt;br /&gt;
** Demo due by 5/1/2013&lt;br /&gt;
** Demo your robot driving around the arena and sensing things&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Milestone 9&amp;#039;&amp;#039;&amp;#039; - Identify prey and drive towards them&lt;br /&gt;
** Demo due by 5/8/2013&lt;br /&gt;
** Demo your robot chasing Prey&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Milestone 10&amp;#039;&amp;#039;&amp;#039; - Operational robot, demo for E-Week&lt;br /&gt;
** Demo due by 5/15/2013, demo at E-Week in Tech lobby&lt;br /&gt;
** Show how your robot works&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;COMPETITION!!!!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** 5/18/2013, Noon in the machine shop&lt;br /&gt;
&lt;br /&gt;
Useful things:&lt;br /&gt;
* Arena and breakout board&lt;br /&gt;
** [[Media:DC2013breakout_eagle.zip | Breakout board EAGLE files]]&lt;br /&gt;
[[File:DC2013arena.jpg|700px]]&lt;br /&gt;
** [[Media:DC2013arena.pdf | DC2013arena.pdf]]&lt;br /&gt;
* Write-ups&lt;br /&gt;
** [[Media:DC2013milestone2.pdf | DC2013milestone2.pdf]]&lt;br /&gt;
** [[Media:DC2013milestone3.pdf | DC2013milestone3.pdf]]&lt;br /&gt;
** [[Media:DC2013_laser_cutter_design.pdf | How to design parts that can be made on the laser cutter]] &lt;br /&gt;
** [[Media:workshop5.dxf | workshop5.dxf - parts that mount the laser, sensors and servo]] for reference&lt;br /&gt;
** [[Media:DC2013_hbridge_motors.pdf | How to use an h-bridge and a DC motor]]&lt;br /&gt;
** [[Media:DC2013_3dprinting_design.pdf | How to design parts that can be 3D printed]]  &lt;br /&gt;
* Code&lt;br /&gt;
** [[Media:NU32.c| NU32.c]], [[Media:NU32.h | NU32.h]], [[Media:NU32bootloaded.ld | NU32bootloaded.ld]]&lt;br /&gt;
** [[Media:DC2013_Milestone2.c| DC2013_Milestone2.c]]&lt;br /&gt;
** [[Media:DC2013_milestone3.c| DC2013_milestone3.c]]&lt;br /&gt;
** [[Media:workshop5.c | workshop5.c - sweep the servo when the user button is pressed, save the data to an array]]&lt;br /&gt;
** [[Media:workshop6.c | workshop6.c - drive a DC motor using PWM with an h-bridge and sense its position with a reflectance sensor]]&lt;br /&gt;
&lt;br /&gt;
* NU32&lt;br /&gt;
** Download: MPLAB X IDE and MPLAB XC32 Compiler from [http://www.microchip.com/pagehandler/en-us/family/mplabx/#downloads http://www.microchip.com/pagehandler/en-us/family/mplabx/#downloads]&lt;br /&gt;
** Download: FTDI Drivers from [http://www.ftdichip.com/Drivers/VCP.htm http://www.ftdichip.com/Drivers/VCP.htm]&lt;br /&gt;
** Download: NU32_Utility from [[NU32:_Software_to_Install]]&lt;br /&gt;
* NU32 from 2012&lt;br /&gt;
** We have a lot of left over boards from 2012 but you have to use NU32_Utility_v5 from [[NU32:_Software_to_Install]]&lt;br /&gt;
** and [[Media:NU32_2012.c| NU32_2012.c]], [[Media:NU32_2012.h | NU32_2012.h]] instead of NU32.c and NU32.h&lt;br /&gt;
&lt;br /&gt;
Winter 2013 Schedule&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Workshop 1&amp;#039;&amp;#039;&amp;#039; - Prey robot deconstruction&lt;br /&gt;
** Tue, 1/15/2013, 6pm, Ford B100&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Milestone 1&amp;#039;&amp;#039;&amp;#039; - Prey robot -&amp;gt; Demobot&lt;br /&gt;
** Due by Wed, 1/23/2013&lt;br /&gt;
** Show off your Demobot, made from a deconstructed Prey robot &amp;#039;&amp;#039;&amp;#039;DONE!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Workshop 2&amp;#039;&amp;#039;&amp;#039; - Programming the PIC32&lt;br /&gt;
** Begin Wed, 1/23/2013, meeting in the Mechatronics lab at 6pm&lt;br /&gt;
** How to program the PIC32 on the NU32&lt;br /&gt;
** Sample code - [[Media:NU32test.hex | NU32test.hex]], [[Media:SimplePIC.c | SimplePIC.c]], [[Media:NU32bootloaded.ld | NU32bootloaded.ld]], [[Media:talkingPIC.c | talkingPIC.c]], [[Media:NU32.c| NU32.c]], [[Media:NU32.h | NU32.h]]&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Milestone 2&amp;#039;&amp;#039;&amp;#039; - Programming the PIC32&lt;br /&gt;
** Due by Wed, 1/30/2013&lt;br /&gt;
** Code Template: [[Media:DC2013_Milestone2.c| DC2013_Milestone2.c]], [[Media:NU32.c| NU32.c]], [[Media:NU32.h | NU32.h]], [[Media:NU32bootloaded.ld | NU32bootloaded.ld]]&lt;br /&gt;
** Complete the assignment here: [[Media:DC2013milestone2.pdf | DC2013milestone2.pdf]] &amp;#039;&amp;#039;&amp;#039;DONE!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Workshop 3&amp;#039;&amp;#039;&amp;#039; - Programming the PIC32&lt;br /&gt;
** Begin Wed, 1/30/2013, meeting in the Mechatronics lab at 6pm&lt;br /&gt;
** How to program the PIC32 on the NU32, sensors and actuators, soldering&lt;br /&gt;
** Sample code - [[Media:DC2013_milestone3.c| DC2013_milestone3.c]]&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Milestone 3&amp;#039;&amp;#039;&amp;#039; - Programming the PIC32, sensors and actuators&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;Due by Wed, 2/6/2013&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** Potentiometers, phototransistors, RC servos, ultrasonic distance sensors&lt;br /&gt;
** Complete the assignment here: [[Media:DC2013milestone3.pdf | DC2013milestone3.pdf]] &amp;#039;&amp;#039;&amp;#039;DONE!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Workshop 4&amp;#039;&amp;#039;&amp;#039; - Using the laser cutter&lt;br /&gt;
** Begin Wed, 2/6/2013&lt;br /&gt;
** [[Media:DC2013_laser_cutter_design.pdf | How to design parts that can be made on the laser cutter]] &lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Milestone 4&amp;#039;&amp;#039;&amp;#039; - Laser cutter training&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;Due By Wed, 2/20/2013&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** Get trained on the laser cutter&lt;br /&gt;
** Design and build a robot gripper or mechanism &amp;#039;&amp;#039;&amp;#039;DONE!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Workshop 5&amp;#039;&amp;#039;&amp;#039; - RC servo and Laser detection&lt;br /&gt;
** Begin Wed, 2/13/2013, &amp;#039;&amp;#039;&amp;#039;at 6pm in the mechatronics lab&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** How to use a laser to detect retroreflective tape&lt;br /&gt;
** How to buffer and analyse data&lt;br /&gt;
** Combining the laser and RC servo to make a moving sensor&lt;br /&gt;
** [[Media:workshop5.dxf | workshop5.dxf - parts that mount the laser, sensors and servo]] for reference&lt;br /&gt;
** [[Media:workshop5.c | workshop5.c - sweep the servo when the user button is pressed, save the data to an array]]&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Milestone 5&amp;#039;&amp;#039;&amp;#039; - Target hunting&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;Due by Wed, 2/20/2013&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** Mount the laser on the servo&lt;br /&gt;
** Sweep the laser, find the target, and point at it &amp;#039;&amp;#039;&amp;#039;DONE!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Reading week 6/11-5, finals week 6/18-22, break 3/25-29&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==DC2012==&lt;br /&gt;
Scale arena:&lt;br /&gt;
[[Image:DC2012Arena.png|thumb|500px|Dimensions of the arena for 2012|center]]&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Equipment&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*NU32, USB cable, 6V power supply&lt;br /&gt;
*2 drive motors, 2 motor mounts, 2 wheels&lt;br /&gt;
*large and small RC servos&lt;br /&gt;
*red and IR lasers&lt;br /&gt;
*12&amp;quot;x24&amp;quot;x0.118&amp;quot; clear acrylic sheets&lt;br /&gt;
*AA batteries and packs&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;PCB&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
[[Image:DC2012PCBlayout.png|thumb|500px|The PCB breakout for DC2012|center]]&lt;br /&gt;
[[Media:DC2012PCBSchematic.pdf | Schematic of PCB for 2012]]&lt;br /&gt;
&lt;br /&gt;
[[Image:DC2012SheetMetalCutter.png|thumb|500px|Use the straight cut sheet metal cutter to slice up the PCB|center]]&lt;br /&gt;
[[Image:DC2012CuttingThePCB.png|thumb|500px|Like this|center]]&lt;br /&gt;
[[Image:DC2012CutUpPCB.png|thumb|500px|So that you separate all the boards|center]]&lt;br /&gt;
[[Image:DC2012FemaleHeader.png|thumb|500px|Use female header pins to attach the NU32. The headers come is sets of 20 pins, so you will have to cut one up.|center]]&lt;br /&gt;
[[Image:DC2012LaserPCB.png|thumb|500px|Attach lasers with hot glue|center]]&lt;br /&gt;
[[Image:DC2012LEDPCB.png|thumb|500px|Note the orientation of the LED an phototransistor, they are polarized!|center]]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Workshop 1, Wednesday 1/18 5:30-7pm Tech L221, makeup Thursday 1/19 9-11am Mechatronics Lab&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*How to program in MPLABX&lt;br /&gt;
*How to use the bootloader to put code on the NU32&lt;br /&gt;
*Digital output I/O (read a button and flash an LED)&lt;br /&gt;
*Analog input&lt;br /&gt;
*PWM output&lt;br /&gt;
*Sample code:[[Media:DC2012_Workshot1.zip | Sample code for Workshop 1]]&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Milestone 1, due by 1/27&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*If a pushbutton is pressed, read the value of a potentiometer and change the brightness of an LED to the corresponding value with PWM&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Workshop 2, Thursday 2/9 6-7pm Tech L221, makeup Friday 2/10 9-11am Mechatronics Lab&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*Optical isolation for motors and RC servos&lt;br /&gt;
*Powering a motor with an h-bridge&lt;br /&gt;
*Writing to the 16x2 character LCD&lt;br /&gt;
*Laser detection of retroreflective tape / Optical line detection&lt;br /&gt;
*2 1/2D design&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Milestone 2, Due week of Feb 27&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*Optically isolate a motor&lt;br /&gt;
*Read a potentiometer and write its voltage to the LCD&lt;br /&gt;
*Control the motor velocity based on the potentiometer reading&lt;br /&gt;
*Control an RC servo&lt;br /&gt;
*Detect a 3/4&amp;quot; wide black line on white paper with a phototransistor and LED&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Laser cutting Workshop, Week of Apr 2&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*Laser cutting&lt;br /&gt;
*2.5D design&lt;br /&gt;
*Making a chassis, mounting motors and sensors&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Chassis Milestone, Due Apr 13&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*Demonstrate a robot chassis that can drive around the arena, bonus points for following a line, detecting and moving towards the moving goals, and detecting and moving towards a crate&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Midterm Milestone, Due Apr 30 / May 1 / May 2&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*Demonstrate some strategy - from the starting position, go get a crate and bring to back towards the goal&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Pre-competition Milestone, Due May 9&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*Demonstrate some advanced strategy - score several points&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Competition May 19!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==DC2011==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Milestone 1&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*On a button press, read the value of a potentiometer and change the brightness of an LED accordingly using PWM. &amp;#039;&amp;#039;&amp;#039;Note:&amp;#039;&amp;#039;&amp;#039; Do not use an h-bridge or motor as previously assigned.&lt;br /&gt;
*Due before Workshop 2 on Wed, 2/9.&lt;br /&gt;
*[[Media:NU32v2_DC2011_workshop1.zip | Sample code from Workshop 1]]&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Milestone 2&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*Due before Workshop 3 on Wed, 2/23.&lt;br /&gt;
*Goals:&lt;br /&gt;
**Use code from [[NU32v2: Nokia 5110 LCD]] and [[NU32v2: Analog Input]] to read a potentiometer and print the voltage to the Nokia 5110&lt;br /&gt;
**Optically isolate a motor and control its velocity based on the potentiometer reading&lt;br /&gt;
**Do 1 of the following:&lt;br /&gt;
***Mount a phototransistor to a laser and detect a cake &amp;#039;&amp;#039;&amp;#039;OR&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
***Detect a line of electrical tape on white paper with an optoreflector&lt;br /&gt;
*Datasheets&lt;br /&gt;
**[[Media:HBridge_L293D.pdf|HBridge_L293D.pdf]] - H-bridge for driving a DC motor&lt;br /&gt;
**[[Media:Optocoupler_A847.pdf|Optocoupler_A847.pdf]] - Optocoupler to optically isolate your H-bridge&lt;br /&gt;
**[[Media:HexInverter_74HC04.pdf|HexInverter_74HC04.pdf]] - Inverting chip to digitize optocoupler output&lt;br /&gt;
**[[Media:Optoreflector_OPB740.pdf|Optoreflector_OPB740.pdf]] - Optoreflector to detect lines or color&lt;br /&gt;
**[[Media:Optoreflector_QRE1113.pdf|Optoreflector_QRE1113.pdf]] - Optoreflector to detect lines or color&lt;br /&gt;
**[[Media:Phototransistor_SFH310.pdf|Phototransistor_SFH310.pdf]] - Phototransistor to detect lines, color, or laser reflections&lt;br /&gt;
*Notes&lt;br /&gt;
**[[Media:DC2011_WS2_OpticalIsolation.pdf|DC2011_WS2_OpticalIsolation.pdf]] - How to optically isolate an h-bridge and servo motor using the A847 and 74HC04&lt;br /&gt;
**[[Media:DC2011_WS2_OpticalSensors.pdf|DC2011_WS2_OpticalSensors.pdf]] - How to use the SFH310 to detect a cake and use the OPB740 or QRE1113 for line following&lt;br /&gt;
**[[Media:DC2011_WS2_Code.zip|DC2011_WS2_Code.zip]] - Example code for the NU32v2 that will:&lt;br /&gt;
***Control a DC motor hooked up to an optically isolated h-bridge, and control an optically isolated RC servo motor&lt;br /&gt;
***Respond to serial commands to control the motors, write to the Nokia 5110, and read two analog signals&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Milestone 4&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*Due before Wed, 3/16&lt;br /&gt;
*Finish laser training, at least one person per team&lt;br /&gt;
*Construct a prototype chassis for your robot&lt;br /&gt;
*Do one of the following:&lt;br /&gt;
**Follow part of the line on the 36&amp;quot; x 96&amp;quot; printout of [[Media:DC2011LineFOllowing.pdf|this pdf]]&lt;br /&gt;
**Detect a cake somewhere on the floor and drive to it&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Breakout Boards&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*[[Media:DC2011Breakouts.pdf|Image of the breakout boards]]&lt;br /&gt;
*[[Media:DC2011BreakoutsSchematic.pdf|Circuit schematic of the breakout boards]]&lt;br /&gt;
*This board contains:&lt;br /&gt;
**A spot to plug in the NU32v2 with some prototyping area&lt;br /&gt;
**The optical isolation circuit with some prototyping area, the same size as the NU32v2 breakout board so it can be stacked on top&lt;br /&gt;
**8 SFH310 with LED breakout boards&lt;br /&gt;
**4 SFH310 with laser diode breakout boards&lt;br /&gt;
**1 LIS352AX accelerometer breakout board&lt;br /&gt;
**1 LSM303DHL tilt-compensated compass breakout board&lt;br /&gt;
**1 LPY550AL gyroscope breakout board&lt;br /&gt;
**1 LS7366R encoder decoder breakout board&lt;br /&gt;
**1 TCS3103 color sensor breakout board&lt;br /&gt;
*How to use the boards:&lt;br /&gt;
**[[Image:nu32v2_breakoutboard.jpg|thumb|500px|Solder female header pins to the NU32v2 Breakout Board so that you can plug in and remove your NU32v2|center]]&lt;br /&gt;
**[[Image:nu32v2_opticalisolationbreakoutboard.jpg|thumb|500px|Solder sockets to the Optically Isolated Motor Board so you can remove burnt out chips|center]]&lt;br /&gt;
**[[Image:nu32v2_phototransistorbreakoutboards.jpg|thumb|500px|The LED and Laser Phototransistor breakout boards will make it easier to attach wires to the sensors|center]]&lt;br /&gt;
**[[Image:nu32v2_stackedboards.jpg|thumb|500px|You can stack the NU32v2 breakout board with the Optically Isolated board|center]]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Brochure for 2011&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*[[Media:DC2011_brochure.pdf|Brochure for 2011]]&lt;br /&gt;
&lt;br /&gt;
==Previous Years==&lt;br /&gt;
&lt;br /&gt;
Wiki pages on sensors, actuators, programming, and microcontrollers: use pages below&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
* [http://www.mech.northwestern.edu/courses/433/Writeups/QuickStart/ Parts in the DC2008 quick start pack]&lt;br /&gt;
* [http://peshkin.mech.northwestern.edu/pic/info/piccintro_2008-01-24.pdf PIC C intro slides, as presented 2008/01/24 (pdf)]&lt;br /&gt;
* [http://peshkin.mech.northwestern.edu/pic/info/picinterfacing_2008-01-28.pdf PIC interfacing slides, as presented 2008/01/28 (pdf)]&lt;br /&gt;
* &amp;lt;b&amp;gt;[http://peshkin.mech.northwestern.edu/pic/code Link to all sample PIC code here.]&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Sensors and actuators for DC&amp;lt;/h3&amp;gt;&lt;br /&gt;
* [[Using Solderless Breadboard|Solderless Breadboard &amp;amp; wiring that works]]&lt;br /&gt;
* [[Using LEDs &amp;amp; IREDs]]&lt;br /&gt;
* [[Using a laser]]&lt;br /&gt;
* [[Sensing optical tape|Infrared reflectivity]]&lt;br /&gt;
** Using phototransistors&lt;br /&gt;
** Sensing optical tape&lt;br /&gt;
* [[Comparators | Comparators : the analog digital interface]]&lt;br /&gt;
* [http://www.robotroom.com/FaulhaberGearmotor.html Faulhaber MiniMotor SA gearmotor with encoder], as well as [[Actuators_Available_in_the_Mechatronics_Lab#Faulhaber_1524E006S_motor_with_141:1_gearhead_and_HES164A_magnetic_quadrature_encoder|the local wiki page]]&lt;br /&gt;
* [[Adding a magnetic encoder to a GM3 Gearmotor]]&lt;br /&gt;
** Using magnetic switches (Hall Effect)&lt;br /&gt;
* [[High-current devices|Driving high-current devices: several options]]&lt;br /&gt;
* [[Driving a Stepper Motor]]&lt;br /&gt;
* [[Driving an RC Servo]]&lt;br /&gt;
* [[Accelerometers]]&lt;br /&gt;
* [[Strain gauges]]&lt;br /&gt;
* [[Using the Basic Stamp Microcontroller|Basic Stamp Microcontroller]] &amp;lt;b&amp;gt;Not recommended for DC2008&amp;lt;/b&amp;gt;&lt;br /&gt;
* [http://www.mech.northwestern.edu/courses/433/Writeups/Battery_NiMH/ NiMH rechargable batteries and chargers]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt; [http://peshkin.mech.northwestern.edu/datasheets Prof. Peshkin&amp;#039;s favorite datasheets]&amp;lt;/h3&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>TristanSokol</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=Northwestern_Design_Competition&amp;diff=22147</id>
		<title>Northwestern Design Competition</title>
		<link rel="alternate" type="text/html" href="https://hades.mech.northwestern.edu//index.php?title=Northwestern_Design_Competition&amp;diff=22147"/>
		<updated>2013-04-25T03:22:10Z</updated>

		<summary type="html">&lt;p&gt;TristanSokol: /* DC2013 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==DC2013==&lt;br /&gt;
Spring Quarter Schedule&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Workshop 6&amp;#039;&amp;#039;&amp;#039; - H-Bridges, DC motor control, wheel sensing&lt;br /&gt;
** Wed, 4/3/2013, 6pm in mechatronics lab&lt;br /&gt;
** [[Media:workshop6.c | workshop6.c - drive a DC motor using PWM with an h-bridge and sense its position with a reflectance sensor]]&lt;br /&gt;
** [[Media:DC2013_hbridge_motors.pdf | How to use an h-bridge and a DC motor]]&lt;br /&gt;
** [[Media:encoder.docx | Encoder template]]&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Milestone 6&amp;#039;&amp;#039;&amp;#039; - Wheel control&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;Meeting in the mechatronics lab at 6pm 4/17&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** Demo due by 4/17/2013&lt;br /&gt;
** Press the USER button, and the wheel rotates 180 degrees&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Milestone 7&amp;#039;&amp;#039;&amp;#039; - Complete chassis&lt;br /&gt;
**[[Media:DC2013_3dprinting_design.pdf | How to design parts that can be 3D printed]] &lt;br /&gt;
** Demo due by 4/24/2013&lt;br /&gt;
** Demo your chassis&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Milestone 8&amp;#039;&amp;#039;&amp;#039; - Driving and sensing the world&lt;br /&gt;
** Demo due by 5/1/2013&lt;br /&gt;
** Demo your robot driving around the arena and sensing things&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Milestone 9&amp;#039;&amp;#039;&amp;#039; - Identify prey and drive towards them&lt;br /&gt;
** Demo due by 5/8/2013&lt;br /&gt;
** Demo your robot chasing Prey&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Milestone 10&amp;#039;&amp;#039;&amp;#039; - Operational robot, demo for E-Week&lt;br /&gt;
** Demo due by 5/15/2013, demo at E-Week in Tech lobby&lt;br /&gt;
** Show how your robot works&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;COMPETITION!!!!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** 5/18/2013, Noon in the machine shop&lt;br /&gt;
&lt;br /&gt;
Useful things:&lt;br /&gt;
* Arena and breakout board&lt;br /&gt;
** [[Media:DC2013breakout_eagle.zip | Breakout board EAGLE files]]&lt;br /&gt;
[[File:DC2013arena.jpg]]&lt;br /&gt;
** [[Media:DC2013arena.pdf | DC2013arena.pdf]]&lt;br /&gt;
* Write-ups&lt;br /&gt;
** [[Media:DC2013milestone2.pdf | DC2013milestone2.pdf]]&lt;br /&gt;
** [[Media:DC2013milestone3.pdf | DC2013milestone3.pdf]]&lt;br /&gt;
** [[Media:DC2013_laser_cutter_design.pdf | How to design parts that can be made on the laser cutter]] &lt;br /&gt;
** [[Media:workshop5.dxf | workshop5.dxf - parts that mount the laser, sensors and servo]] for reference&lt;br /&gt;
** [[Media:DC2013_hbridge_motors.pdf | How to use an h-bridge and a DC motor]]&lt;br /&gt;
** [[Media:DC2013_3dprinting_design.pdf | How to design parts that can be 3D printed]]  &lt;br /&gt;
* Code&lt;br /&gt;
** [[Media:NU32.c| NU32.c]], [[Media:NU32.h | NU32.h]], [[Media:NU32bootloaded.ld | NU32bootloaded.ld]]&lt;br /&gt;
** [[Media:DC2013_Milestone2.c| DC2013_Milestone2.c]]&lt;br /&gt;
** [[Media:DC2013_milestone3.c| DC2013_milestone3.c]]&lt;br /&gt;
** [[Media:workshop5.c | workshop5.c - sweep the servo when the user button is pressed, save the data to an array]]&lt;br /&gt;
** [[Media:workshop6.c | workshop6.c - drive a DC motor using PWM with an h-bridge and sense its position with a reflectance sensor]]&lt;br /&gt;
&lt;br /&gt;
* NU32&lt;br /&gt;
** Download: MPLAB X IDE and MPLAB XC32 Compiler from [http://www.microchip.com/pagehandler/en-us/family/mplabx/#downloads http://www.microchip.com/pagehandler/en-us/family/mplabx/#downloads]&lt;br /&gt;
** Download: FTDI Drivers from [http://www.ftdichip.com/Drivers/VCP.htm http://www.ftdichip.com/Drivers/VCP.htm]&lt;br /&gt;
** Download: NU32_Utility from [[NU32:_Software_to_Install]]&lt;br /&gt;
* NU32 from 2012&lt;br /&gt;
** We have a lot of left over boards from 2012 but you have to use NU32_Utility_v5 from [[NU32:_Software_to_Install]]&lt;br /&gt;
** and [[Media:NU32_2012.c| NU32_2012.c]], [[Media:NU32_2012.h | NU32_2012.h]] instead of NU32.c and NU32.h&lt;br /&gt;
&lt;br /&gt;
Winter 2013 Schedule&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Workshop 1&amp;#039;&amp;#039;&amp;#039; - Prey robot deconstruction&lt;br /&gt;
** Tue, 1/15/2013, 6pm, Ford B100&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Milestone 1&amp;#039;&amp;#039;&amp;#039; - Prey robot -&amp;gt; Demobot&lt;br /&gt;
** Due by Wed, 1/23/2013&lt;br /&gt;
** Show off your Demobot, made from a deconstructed Prey robot &amp;#039;&amp;#039;&amp;#039;DONE!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Workshop 2&amp;#039;&amp;#039;&amp;#039; - Programming the PIC32&lt;br /&gt;
** Begin Wed, 1/23/2013, meeting in the Mechatronics lab at 6pm&lt;br /&gt;
** How to program the PIC32 on the NU32&lt;br /&gt;
** Sample code - [[Media:NU32test.hex | NU32test.hex]], [[Media:SimplePIC.c | SimplePIC.c]], [[Media:NU32bootloaded.ld | NU32bootloaded.ld]], [[Media:talkingPIC.c | talkingPIC.c]], [[Media:NU32.c| NU32.c]], [[Media:NU32.h | NU32.h]]&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Milestone 2&amp;#039;&amp;#039;&amp;#039; - Programming the PIC32&lt;br /&gt;
** Due by Wed, 1/30/2013&lt;br /&gt;
** Code Template: [[Media:DC2013_Milestone2.c| DC2013_Milestone2.c]], [[Media:NU32.c| NU32.c]], [[Media:NU32.h | NU32.h]], [[Media:NU32bootloaded.ld | NU32bootloaded.ld]]&lt;br /&gt;
** Complete the assignment here: [[Media:DC2013milestone2.pdf | DC2013milestone2.pdf]] &amp;#039;&amp;#039;&amp;#039;DONE!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Workshop 3&amp;#039;&amp;#039;&amp;#039; - Programming the PIC32&lt;br /&gt;
** Begin Wed, 1/30/2013, meeting in the Mechatronics lab at 6pm&lt;br /&gt;
** How to program the PIC32 on the NU32, sensors and actuators, soldering&lt;br /&gt;
** Sample code - [[Media:DC2013_milestone3.c| DC2013_milestone3.c]]&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Milestone 3&amp;#039;&amp;#039;&amp;#039; - Programming the PIC32, sensors and actuators&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;Due by Wed, 2/6/2013&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** Potentiometers, phototransistors, RC servos, ultrasonic distance sensors&lt;br /&gt;
** Complete the assignment here: [[Media:DC2013milestone3.pdf | DC2013milestone3.pdf]] &amp;#039;&amp;#039;&amp;#039;DONE!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Workshop 4&amp;#039;&amp;#039;&amp;#039; - Using the laser cutter&lt;br /&gt;
** Begin Wed, 2/6/2013&lt;br /&gt;
** [[Media:DC2013_laser_cutter_design.pdf | How to design parts that can be made on the laser cutter]] &lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Milestone 4&amp;#039;&amp;#039;&amp;#039; - Laser cutter training&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;Due By Wed, 2/20/2013&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** Get trained on the laser cutter&lt;br /&gt;
** Design and build a robot gripper or mechanism &amp;#039;&amp;#039;&amp;#039;DONE!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Workshop 5&amp;#039;&amp;#039;&amp;#039; - RC servo and Laser detection&lt;br /&gt;
** Begin Wed, 2/13/2013, &amp;#039;&amp;#039;&amp;#039;at 6pm in the mechatronics lab&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** How to use a laser to detect retroreflective tape&lt;br /&gt;
** How to buffer and analyse data&lt;br /&gt;
** Combining the laser and RC servo to make a moving sensor&lt;br /&gt;
** [[Media:workshop5.dxf | workshop5.dxf - parts that mount the laser, sensors and servo]] for reference&lt;br /&gt;
** [[Media:workshop5.c | workshop5.c - sweep the servo when the user button is pressed, save the data to an array]]&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Milestone 5&amp;#039;&amp;#039;&amp;#039; - Target hunting&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;Due by Wed, 2/20/2013&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** Mount the laser on the servo&lt;br /&gt;
** Sweep the laser, find the target, and point at it &amp;#039;&amp;#039;&amp;#039;DONE!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Reading week 6/11-5, finals week 6/18-22, break 3/25-29&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==DC2012==&lt;br /&gt;
Scale arena:&lt;br /&gt;
[[Image:DC2012Arena.png|thumb|500px|Dimensions of the arena for 2012|center]]&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Equipment&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*NU32, USB cable, 6V power supply&lt;br /&gt;
*2 drive motors, 2 motor mounts, 2 wheels&lt;br /&gt;
*large and small RC servos&lt;br /&gt;
*red and IR lasers&lt;br /&gt;
*12&amp;quot;x24&amp;quot;x0.118&amp;quot; clear acrylic sheets&lt;br /&gt;
*AA batteries and packs&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;PCB&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
[[Image:DC2012PCBlayout.png|thumb|500px|The PCB breakout for DC2012|center]]&lt;br /&gt;
[[Media:DC2012PCBSchematic.pdf | Schematic of PCB for 2012]]&lt;br /&gt;
&lt;br /&gt;
[[Image:DC2012SheetMetalCutter.png|thumb|500px|Use the straight cut sheet metal cutter to slice up the PCB|center]]&lt;br /&gt;
[[Image:DC2012CuttingThePCB.png|thumb|500px|Like this|center]]&lt;br /&gt;
[[Image:DC2012CutUpPCB.png|thumb|500px|So that you separate all the boards|center]]&lt;br /&gt;
[[Image:DC2012FemaleHeader.png|thumb|500px|Use female header pins to attach the NU32. The headers come is sets of 20 pins, so you will have to cut one up.|center]]&lt;br /&gt;
[[Image:DC2012LaserPCB.png|thumb|500px|Attach lasers with hot glue|center]]&lt;br /&gt;
[[Image:DC2012LEDPCB.png|thumb|500px|Note the orientation of the LED an phototransistor, they are polarized!|center]]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Workshop 1, Wednesday 1/18 5:30-7pm Tech L221, makeup Thursday 1/19 9-11am Mechatronics Lab&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*How to program in MPLABX&lt;br /&gt;
*How to use the bootloader to put code on the NU32&lt;br /&gt;
*Digital output I/O (read a button and flash an LED)&lt;br /&gt;
*Analog input&lt;br /&gt;
*PWM output&lt;br /&gt;
*Sample code:[[Media:DC2012_Workshot1.zip | Sample code for Workshop 1]]&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Milestone 1, due by 1/27&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*If a pushbutton is pressed, read the value of a potentiometer and change the brightness of an LED to the corresponding value with PWM&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Workshop 2, Thursday 2/9 6-7pm Tech L221, makeup Friday 2/10 9-11am Mechatronics Lab&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*Optical isolation for motors and RC servos&lt;br /&gt;
*Powering a motor with an h-bridge&lt;br /&gt;
*Writing to the 16x2 character LCD&lt;br /&gt;
*Laser detection of retroreflective tape / Optical line detection&lt;br /&gt;
*2 1/2D design&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Milestone 2, Due week of Feb 27&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*Optically isolate a motor&lt;br /&gt;
*Read a potentiometer and write its voltage to the LCD&lt;br /&gt;
*Control the motor velocity based on the potentiometer reading&lt;br /&gt;
*Control an RC servo&lt;br /&gt;
*Detect a 3/4&amp;quot; wide black line on white paper with a phototransistor and LED&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Laser cutting Workshop, Week of Apr 2&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*Laser cutting&lt;br /&gt;
*2.5D design&lt;br /&gt;
*Making a chassis, mounting motors and sensors&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Chassis Milestone, Due Apr 13&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*Demonstrate a robot chassis that can drive around the arena, bonus points for following a line, detecting and moving towards the moving goals, and detecting and moving towards a crate&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Midterm Milestone, Due Apr 30 / May 1 / May 2&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*Demonstrate some strategy - from the starting position, go get a crate and bring to back towards the goal&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Pre-competition Milestone, Due May 9&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*Demonstrate some advanced strategy - score several points&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Competition May 19!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==DC2011==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Milestone 1&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*On a button press, read the value of a potentiometer and change the brightness of an LED accordingly using PWM. &amp;#039;&amp;#039;&amp;#039;Note:&amp;#039;&amp;#039;&amp;#039; Do not use an h-bridge or motor as previously assigned.&lt;br /&gt;
*Due before Workshop 2 on Wed, 2/9.&lt;br /&gt;
*[[Media:NU32v2_DC2011_workshop1.zip | Sample code from Workshop 1]]&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Milestone 2&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*Due before Workshop 3 on Wed, 2/23.&lt;br /&gt;
*Goals:&lt;br /&gt;
**Use code from [[NU32v2: Nokia 5110 LCD]] and [[NU32v2: Analog Input]] to read a potentiometer and print the voltage to the Nokia 5110&lt;br /&gt;
**Optically isolate a motor and control its velocity based on the potentiometer reading&lt;br /&gt;
**Do 1 of the following:&lt;br /&gt;
***Mount a phototransistor to a laser and detect a cake &amp;#039;&amp;#039;&amp;#039;OR&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
***Detect a line of electrical tape on white paper with an optoreflector&lt;br /&gt;
*Datasheets&lt;br /&gt;
**[[Media:HBridge_L293D.pdf|HBridge_L293D.pdf]] - H-bridge for driving a DC motor&lt;br /&gt;
**[[Media:Optocoupler_A847.pdf|Optocoupler_A847.pdf]] - Optocoupler to optically isolate your H-bridge&lt;br /&gt;
**[[Media:HexInverter_74HC04.pdf|HexInverter_74HC04.pdf]] - Inverting chip to digitize optocoupler output&lt;br /&gt;
**[[Media:Optoreflector_OPB740.pdf|Optoreflector_OPB740.pdf]] - Optoreflector to detect lines or color&lt;br /&gt;
**[[Media:Optoreflector_QRE1113.pdf|Optoreflector_QRE1113.pdf]] - Optoreflector to detect lines or color&lt;br /&gt;
**[[Media:Phototransistor_SFH310.pdf|Phototransistor_SFH310.pdf]] - Phototransistor to detect lines, color, or laser reflections&lt;br /&gt;
*Notes&lt;br /&gt;
**[[Media:DC2011_WS2_OpticalIsolation.pdf|DC2011_WS2_OpticalIsolation.pdf]] - How to optically isolate an h-bridge and servo motor using the A847 and 74HC04&lt;br /&gt;
**[[Media:DC2011_WS2_OpticalSensors.pdf|DC2011_WS2_OpticalSensors.pdf]] - How to use the SFH310 to detect a cake and use the OPB740 or QRE1113 for line following&lt;br /&gt;
**[[Media:DC2011_WS2_Code.zip|DC2011_WS2_Code.zip]] - Example code for the NU32v2 that will:&lt;br /&gt;
***Control a DC motor hooked up to an optically isolated h-bridge, and control an optically isolated RC servo motor&lt;br /&gt;
***Respond to serial commands to control the motors, write to the Nokia 5110, and read two analog signals&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Milestone 4&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*Due before Wed, 3/16&lt;br /&gt;
*Finish laser training, at least one person per team&lt;br /&gt;
*Construct a prototype chassis for your robot&lt;br /&gt;
*Do one of the following:&lt;br /&gt;
**Follow part of the line on the 36&amp;quot; x 96&amp;quot; printout of [[Media:DC2011LineFOllowing.pdf|this pdf]]&lt;br /&gt;
**Detect a cake somewhere on the floor and drive to it&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Breakout Boards&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*[[Media:DC2011Breakouts.pdf|Image of the breakout boards]]&lt;br /&gt;
*[[Media:DC2011BreakoutsSchematic.pdf|Circuit schematic of the breakout boards]]&lt;br /&gt;
*This board contains:&lt;br /&gt;
**A spot to plug in the NU32v2 with some prototyping area&lt;br /&gt;
**The optical isolation circuit with some prototyping area, the same size as the NU32v2 breakout board so it can be stacked on top&lt;br /&gt;
**8 SFH310 with LED breakout boards&lt;br /&gt;
**4 SFH310 with laser diode breakout boards&lt;br /&gt;
**1 LIS352AX accelerometer breakout board&lt;br /&gt;
**1 LSM303DHL tilt-compensated compass breakout board&lt;br /&gt;
**1 LPY550AL gyroscope breakout board&lt;br /&gt;
**1 LS7366R encoder decoder breakout board&lt;br /&gt;
**1 TCS3103 color sensor breakout board&lt;br /&gt;
*How to use the boards:&lt;br /&gt;
**[[Image:nu32v2_breakoutboard.jpg|thumb|500px|Solder female header pins to the NU32v2 Breakout Board so that you can plug in and remove your NU32v2|center]]&lt;br /&gt;
**[[Image:nu32v2_opticalisolationbreakoutboard.jpg|thumb|500px|Solder sockets to the Optically Isolated Motor Board so you can remove burnt out chips|center]]&lt;br /&gt;
**[[Image:nu32v2_phototransistorbreakoutboards.jpg|thumb|500px|The LED and Laser Phototransistor breakout boards will make it easier to attach wires to the sensors|center]]&lt;br /&gt;
**[[Image:nu32v2_stackedboards.jpg|thumb|500px|You can stack the NU32v2 breakout board with the Optically Isolated board|center]]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Brochure for 2011&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*[[Media:DC2011_brochure.pdf|Brochure for 2011]]&lt;br /&gt;
&lt;br /&gt;
==Previous Years==&lt;br /&gt;
&lt;br /&gt;
Wiki pages on sensors, actuators, programming, and microcontrollers: use pages below&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
* [http://www.mech.northwestern.edu/courses/433/Writeups/QuickStart/ Parts in the DC2008 quick start pack]&lt;br /&gt;
* [http://peshkin.mech.northwestern.edu/pic/info/piccintro_2008-01-24.pdf PIC C intro slides, as presented 2008/01/24 (pdf)]&lt;br /&gt;
* [http://peshkin.mech.northwestern.edu/pic/info/picinterfacing_2008-01-28.pdf PIC interfacing slides, as presented 2008/01/28 (pdf)]&lt;br /&gt;
* &amp;lt;b&amp;gt;[http://peshkin.mech.northwestern.edu/pic/code Link to all sample PIC code here.]&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Sensors and actuators for DC&amp;lt;/h3&amp;gt;&lt;br /&gt;
* [[Using Solderless Breadboard|Solderless Breadboard &amp;amp; wiring that works]]&lt;br /&gt;
* [[Using LEDs &amp;amp; IREDs]]&lt;br /&gt;
* [[Using a laser]]&lt;br /&gt;
* [[Sensing optical tape|Infrared reflectivity]]&lt;br /&gt;
** Using phototransistors&lt;br /&gt;
** Sensing optical tape&lt;br /&gt;
* [[Comparators | Comparators : the analog digital interface]]&lt;br /&gt;
* [http://www.robotroom.com/FaulhaberGearmotor.html Faulhaber MiniMotor SA gearmotor with encoder], as well as [[Actuators_Available_in_the_Mechatronics_Lab#Faulhaber_1524E006S_motor_with_141:1_gearhead_and_HES164A_magnetic_quadrature_encoder|the local wiki page]]&lt;br /&gt;
* [[Adding a magnetic encoder to a GM3 Gearmotor]]&lt;br /&gt;
** Using magnetic switches (Hall Effect)&lt;br /&gt;
* [[High-current devices|Driving high-current devices: several options]]&lt;br /&gt;
* [[Driving a Stepper Motor]]&lt;br /&gt;
* [[Driving an RC Servo]]&lt;br /&gt;
* [[Accelerometers]]&lt;br /&gt;
* [[Strain gauges]]&lt;br /&gt;
* [[Using the Basic Stamp Microcontroller|Basic Stamp Microcontroller]] &amp;lt;b&amp;gt;Not recommended for DC2008&amp;lt;/b&amp;gt;&lt;br /&gt;
* [http://www.mech.northwestern.edu/courses/433/Writeups/Battery_NiMH/ NiMH rechargable batteries and chargers]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt; [http://peshkin.mech.northwestern.edu/datasheets Prof. Peshkin&amp;#039;s favorite datasheets]&amp;lt;/h3&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>TristanSokol</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=Northwestern_Design_Competition&amp;diff=22146</id>
		<title>Northwestern Design Competition</title>
		<link rel="alternate" type="text/html" href="https://hades.mech.northwestern.edu//index.php?title=Northwestern_Design_Competition&amp;diff=22146"/>
		<updated>2013-04-25T03:20:42Z</updated>

		<summary type="html">&lt;p&gt;TristanSokol: /* DC2013 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==DC2013==&lt;br /&gt;
Spring Quarter Schedule&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Workshop 6&amp;#039;&amp;#039;&amp;#039; - H-Bridges, DC motor control, wheel sensing&lt;br /&gt;
** Wed, 4/3/2013, 6pm in mechatronics lab&lt;br /&gt;
** [[Media:workshop6.c | workshop6.c - drive a DC motor using PWM with an h-bridge and sense its position with a reflectance sensor]]&lt;br /&gt;
** [[Media:DC2013_hbridge_motors.pdf | How to use an h-bridge and a DC motor]]&lt;br /&gt;
** [[Media:encoder.docx | Encoder template]]&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Milestone 6&amp;#039;&amp;#039;&amp;#039; - Wheel control&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;Meeting in the mechatronics lab at 6pm 4/17&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** Demo due by 4/17/2013&lt;br /&gt;
** Press the USER button, and the wheel rotates 180 degrees&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Milestone 7&amp;#039;&amp;#039;&amp;#039; - Complete chassis&lt;br /&gt;
**[[Media:DC2013_3dprinting_design.pdf | How to design parts that can be 3D printed]] &lt;br /&gt;
** Demo due by 4/24/2013&lt;br /&gt;
** Demo your chassis&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Milestone 8&amp;#039;&amp;#039;&amp;#039; - Driving and sensing the world&lt;br /&gt;
** Demo due by 5/1/2013&lt;br /&gt;
** Demo your robot driving around the arena and sensing things&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Milestone 9&amp;#039;&amp;#039;&amp;#039; - Identify prey and drive towards them&lt;br /&gt;
** Demo due by 5/8/2013&lt;br /&gt;
** Demo your robot chasing Prey&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Milestone 10&amp;#039;&amp;#039;&amp;#039; - Operational robot, demo for E-Week&lt;br /&gt;
** Demo due by 5/15/2013, demo at E-Week in Tech lobby&lt;br /&gt;
** Show how your robot works&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;COMPETITION!!!!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** 5/18/2013, Noon in the machine shop&lt;br /&gt;
&lt;br /&gt;
Useful things:&lt;br /&gt;
* Arena and breakout board&lt;br /&gt;
** [[Media:DC2013breakout_eagle.zip | Breakout board EAGLE files]]&lt;br /&gt;
[[File:http://hades.mech.northwestern.edu/images/d/da/DC2013arena.jpg]]&lt;br /&gt;
** [[Media:DC2013arena.pdf | DC2013arena.pdf]]&lt;br /&gt;
* Write-ups&lt;br /&gt;
** [[Media:DC2013milestone2.pdf | DC2013milestone2.pdf]]&lt;br /&gt;
** [[Media:DC2013milestone3.pdf | DC2013milestone3.pdf]]&lt;br /&gt;
** [[Media:DC2013_laser_cutter_design.pdf | How to design parts that can be made on the laser cutter]] &lt;br /&gt;
** [[Media:workshop5.dxf | workshop5.dxf - parts that mount the laser, sensors and servo]] for reference&lt;br /&gt;
** [[Media:DC2013_hbridge_motors.pdf | How to use an h-bridge and a DC motor]]&lt;br /&gt;
** [[Media:DC2013_3dprinting_design.pdf | How to design parts that can be 3D printed]]  &lt;br /&gt;
* Code&lt;br /&gt;
** [[Media:NU32.c| NU32.c]], [[Media:NU32.h | NU32.h]], [[Media:NU32bootloaded.ld | NU32bootloaded.ld]]&lt;br /&gt;
** [[Media:DC2013_Milestone2.c| DC2013_Milestone2.c]]&lt;br /&gt;
** [[Media:DC2013_milestone3.c| DC2013_milestone3.c]]&lt;br /&gt;
** [[Media:workshop5.c | workshop5.c - sweep the servo when the user button is pressed, save the data to an array]]&lt;br /&gt;
** [[Media:workshop6.c | workshop6.c - drive a DC motor using PWM with an h-bridge and sense its position with a reflectance sensor]]&lt;br /&gt;
&lt;br /&gt;
* NU32&lt;br /&gt;
** Download: MPLAB X IDE and MPLAB XC32 Compiler from [http://www.microchip.com/pagehandler/en-us/family/mplabx/#downloads http://www.microchip.com/pagehandler/en-us/family/mplabx/#downloads]&lt;br /&gt;
** Download: FTDI Drivers from [http://www.ftdichip.com/Drivers/VCP.htm http://www.ftdichip.com/Drivers/VCP.htm]&lt;br /&gt;
** Download: NU32_Utility from [[NU32:_Software_to_Install]]&lt;br /&gt;
* NU32 from 2012&lt;br /&gt;
** We have a lot of left over boards from 2012 but you have to use NU32_Utility_v5 from [[NU32:_Software_to_Install]]&lt;br /&gt;
** and [[Media:NU32_2012.c| NU32_2012.c]], [[Media:NU32_2012.h | NU32_2012.h]] instead of NU32.c and NU32.h&lt;br /&gt;
&lt;br /&gt;
Winter 2013 Schedule&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Workshop 1&amp;#039;&amp;#039;&amp;#039; - Prey robot deconstruction&lt;br /&gt;
** Tue, 1/15/2013, 6pm, Ford B100&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Milestone 1&amp;#039;&amp;#039;&amp;#039; - Prey robot -&amp;gt; Demobot&lt;br /&gt;
** Due by Wed, 1/23/2013&lt;br /&gt;
** Show off your Demobot, made from a deconstructed Prey robot &amp;#039;&amp;#039;&amp;#039;DONE!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Workshop 2&amp;#039;&amp;#039;&amp;#039; - Programming the PIC32&lt;br /&gt;
** Begin Wed, 1/23/2013, meeting in the Mechatronics lab at 6pm&lt;br /&gt;
** How to program the PIC32 on the NU32&lt;br /&gt;
** Sample code - [[Media:NU32test.hex | NU32test.hex]], [[Media:SimplePIC.c | SimplePIC.c]], [[Media:NU32bootloaded.ld | NU32bootloaded.ld]], [[Media:talkingPIC.c | talkingPIC.c]], [[Media:NU32.c| NU32.c]], [[Media:NU32.h | NU32.h]]&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Milestone 2&amp;#039;&amp;#039;&amp;#039; - Programming the PIC32&lt;br /&gt;
** Due by Wed, 1/30/2013&lt;br /&gt;
** Code Template: [[Media:DC2013_Milestone2.c| DC2013_Milestone2.c]], [[Media:NU32.c| NU32.c]], [[Media:NU32.h | NU32.h]], [[Media:NU32bootloaded.ld | NU32bootloaded.ld]]&lt;br /&gt;
** Complete the assignment here: [[Media:DC2013milestone2.pdf | DC2013milestone2.pdf]] &amp;#039;&amp;#039;&amp;#039;DONE!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Workshop 3&amp;#039;&amp;#039;&amp;#039; - Programming the PIC32&lt;br /&gt;
** Begin Wed, 1/30/2013, meeting in the Mechatronics lab at 6pm&lt;br /&gt;
** How to program the PIC32 on the NU32, sensors and actuators, soldering&lt;br /&gt;
** Sample code - [[Media:DC2013_milestone3.c| DC2013_milestone3.c]]&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Milestone 3&amp;#039;&amp;#039;&amp;#039; - Programming the PIC32, sensors and actuators&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;Due by Wed, 2/6/2013&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** Potentiometers, phototransistors, RC servos, ultrasonic distance sensors&lt;br /&gt;
** Complete the assignment here: [[Media:DC2013milestone3.pdf | DC2013milestone3.pdf]] &amp;#039;&amp;#039;&amp;#039;DONE!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Workshop 4&amp;#039;&amp;#039;&amp;#039; - Using the laser cutter&lt;br /&gt;
** Begin Wed, 2/6/2013&lt;br /&gt;
** [[Media:DC2013_laser_cutter_design.pdf | How to design parts that can be made on the laser cutter]] &lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Milestone 4&amp;#039;&amp;#039;&amp;#039; - Laser cutter training&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;Due By Wed, 2/20/2013&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** Get trained on the laser cutter&lt;br /&gt;
** Design and build a robot gripper or mechanism &amp;#039;&amp;#039;&amp;#039;DONE!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Workshop 5&amp;#039;&amp;#039;&amp;#039; - RC servo and Laser detection&lt;br /&gt;
** Begin Wed, 2/13/2013, &amp;#039;&amp;#039;&amp;#039;at 6pm in the mechatronics lab&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** How to use a laser to detect retroreflective tape&lt;br /&gt;
** How to buffer and analyse data&lt;br /&gt;
** Combining the laser and RC servo to make a moving sensor&lt;br /&gt;
** [[Media:workshop5.dxf | workshop5.dxf - parts that mount the laser, sensors and servo]] for reference&lt;br /&gt;
** [[Media:workshop5.c | workshop5.c - sweep the servo when the user button is pressed, save the data to an array]]&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Milestone 5&amp;#039;&amp;#039;&amp;#039; - Target hunting&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;Due by Wed, 2/20/2013&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** Mount the laser on the servo&lt;br /&gt;
** Sweep the laser, find the target, and point at it &amp;#039;&amp;#039;&amp;#039;DONE!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Reading week 6/11-5, finals week 6/18-22, break 3/25-29&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==DC2012==&lt;br /&gt;
Scale arena:&lt;br /&gt;
[[Image:DC2012Arena.png|thumb|500px|Dimensions of the arena for 2012|center]]&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Equipment&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*NU32, USB cable, 6V power supply&lt;br /&gt;
*2 drive motors, 2 motor mounts, 2 wheels&lt;br /&gt;
*large and small RC servos&lt;br /&gt;
*red and IR lasers&lt;br /&gt;
*12&amp;quot;x24&amp;quot;x0.118&amp;quot; clear acrylic sheets&lt;br /&gt;
*AA batteries and packs&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;PCB&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
[[Image:DC2012PCBlayout.png|thumb|500px|The PCB breakout for DC2012|center]]&lt;br /&gt;
[[Media:DC2012PCBSchematic.pdf | Schematic of PCB for 2012]]&lt;br /&gt;
&lt;br /&gt;
[[Image:DC2012SheetMetalCutter.png|thumb|500px|Use the straight cut sheet metal cutter to slice up the PCB|center]]&lt;br /&gt;
[[Image:DC2012CuttingThePCB.png|thumb|500px|Like this|center]]&lt;br /&gt;
[[Image:DC2012CutUpPCB.png|thumb|500px|So that you separate all the boards|center]]&lt;br /&gt;
[[Image:DC2012FemaleHeader.png|thumb|500px|Use female header pins to attach the NU32. The headers come is sets of 20 pins, so you will have to cut one up.|center]]&lt;br /&gt;
[[Image:DC2012LaserPCB.png|thumb|500px|Attach lasers with hot glue|center]]&lt;br /&gt;
[[Image:DC2012LEDPCB.png|thumb|500px|Note the orientation of the LED an phototransistor, they are polarized!|center]]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Workshop 1, Wednesday 1/18 5:30-7pm Tech L221, makeup Thursday 1/19 9-11am Mechatronics Lab&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*How to program in MPLABX&lt;br /&gt;
*How to use the bootloader to put code on the NU32&lt;br /&gt;
*Digital output I/O (read a button and flash an LED)&lt;br /&gt;
*Analog input&lt;br /&gt;
*PWM output&lt;br /&gt;
*Sample code:[[Media:DC2012_Workshot1.zip | Sample code for Workshop 1]]&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Milestone 1, due by 1/27&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*If a pushbutton is pressed, read the value of a potentiometer and change the brightness of an LED to the corresponding value with PWM&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Workshop 2, Thursday 2/9 6-7pm Tech L221, makeup Friday 2/10 9-11am Mechatronics Lab&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*Optical isolation for motors and RC servos&lt;br /&gt;
*Powering a motor with an h-bridge&lt;br /&gt;
*Writing to the 16x2 character LCD&lt;br /&gt;
*Laser detection of retroreflective tape / Optical line detection&lt;br /&gt;
*2 1/2D design&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Milestone 2, Due week of Feb 27&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*Optically isolate a motor&lt;br /&gt;
*Read a potentiometer and write its voltage to the LCD&lt;br /&gt;
*Control the motor velocity based on the potentiometer reading&lt;br /&gt;
*Control an RC servo&lt;br /&gt;
*Detect a 3/4&amp;quot; wide black line on white paper with a phototransistor and LED&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Laser cutting Workshop, Week of Apr 2&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*Laser cutting&lt;br /&gt;
*2.5D design&lt;br /&gt;
*Making a chassis, mounting motors and sensors&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Chassis Milestone, Due Apr 13&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*Demonstrate a robot chassis that can drive around the arena, bonus points for following a line, detecting and moving towards the moving goals, and detecting and moving towards a crate&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Midterm Milestone, Due Apr 30 / May 1 / May 2&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*Demonstrate some strategy - from the starting position, go get a crate and bring to back towards the goal&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Pre-competition Milestone, Due May 9&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*Demonstrate some advanced strategy - score several points&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Competition May 19!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==DC2011==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Milestone 1&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*On a button press, read the value of a potentiometer and change the brightness of an LED accordingly using PWM. &amp;#039;&amp;#039;&amp;#039;Note:&amp;#039;&amp;#039;&amp;#039; Do not use an h-bridge or motor as previously assigned.&lt;br /&gt;
*Due before Workshop 2 on Wed, 2/9.&lt;br /&gt;
*[[Media:NU32v2_DC2011_workshop1.zip | Sample code from Workshop 1]]&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Milestone 2&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*Due before Workshop 3 on Wed, 2/23.&lt;br /&gt;
*Goals:&lt;br /&gt;
**Use code from [[NU32v2: Nokia 5110 LCD]] and [[NU32v2: Analog Input]] to read a potentiometer and print the voltage to the Nokia 5110&lt;br /&gt;
**Optically isolate a motor and control its velocity based on the potentiometer reading&lt;br /&gt;
**Do 1 of the following:&lt;br /&gt;
***Mount a phototransistor to a laser and detect a cake &amp;#039;&amp;#039;&amp;#039;OR&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
***Detect a line of electrical tape on white paper with an optoreflector&lt;br /&gt;
*Datasheets&lt;br /&gt;
**[[Media:HBridge_L293D.pdf|HBridge_L293D.pdf]] - H-bridge for driving a DC motor&lt;br /&gt;
**[[Media:Optocoupler_A847.pdf|Optocoupler_A847.pdf]] - Optocoupler to optically isolate your H-bridge&lt;br /&gt;
**[[Media:HexInverter_74HC04.pdf|HexInverter_74HC04.pdf]] - Inverting chip to digitize optocoupler output&lt;br /&gt;
**[[Media:Optoreflector_OPB740.pdf|Optoreflector_OPB740.pdf]] - Optoreflector to detect lines or color&lt;br /&gt;
**[[Media:Optoreflector_QRE1113.pdf|Optoreflector_QRE1113.pdf]] - Optoreflector to detect lines or color&lt;br /&gt;
**[[Media:Phototransistor_SFH310.pdf|Phototransistor_SFH310.pdf]] - Phototransistor to detect lines, color, or laser reflections&lt;br /&gt;
*Notes&lt;br /&gt;
**[[Media:DC2011_WS2_OpticalIsolation.pdf|DC2011_WS2_OpticalIsolation.pdf]] - How to optically isolate an h-bridge and servo motor using the A847 and 74HC04&lt;br /&gt;
**[[Media:DC2011_WS2_OpticalSensors.pdf|DC2011_WS2_OpticalSensors.pdf]] - How to use the SFH310 to detect a cake and use the OPB740 or QRE1113 for line following&lt;br /&gt;
**[[Media:DC2011_WS2_Code.zip|DC2011_WS2_Code.zip]] - Example code for the NU32v2 that will:&lt;br /&gt;
***Control a DC motor hooked up to an optically isolated h-bridge, and control an optically isolated RC servo motor&lt;br /&gt;
***Respond to serial commands to control the motors, write to the Nokia 5110, and read two analog signals&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Milestone 4&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*Due before Wed, 3/16&lt;br /&gt;
*Finish laser training, at least one person per team&lt;br /&gt;
*Construct a prototype chassis for your robot&lt;br /&gt;
*Do one of the following:&lt;br /&gt;
**Follow part of the line on the 36&amp;quot; x 96&amp;quot; printout of [[Media:DC2011LineFOllowing.pdf|this pdf]]&lt;br /&gt;
**Detect a cake somewhere on the floor and drive to it&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Breakout Boards&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*[[Media:DC2011Breakouts.pdf|Image of the breakout boards]]&lt;br /&gt;
*[[Media:DC2011BreakoutsSchematic.pdf|Circuit schematic of the breakout boards]]&lt;br /&gt;
*This board contains:&lt;br /&gt;
**A spot to plug in the NU32v2 with some prototyping area&lt;br /&gt;
**The optical isolation circuit with some prototyping area, the same size as the NU32v2 breakout board so it can be stacked on top&lt;br /&gt;
**8 SFH310 with LED breakout boards&lt;br /&gt;
**4 SFH310 with laser diode breakout boards&lt;br /&gt;
**1 LIS352AX accelerometer breakout board&lt;br /&gt;
**1 LSM303DHL tilt-compensated compass breakout board&lt;br /&gt;
**1 LPY550AL gyroscope breakout board&lt;br /&gt;
**1 LS7366R encoder decoder breakout board&lt;br /&gt;
**1 TCS3103 color sensor breakout board&lt;br /&gt;
*How to use the boards:&lt;br /&gt;
**[[Image:nu32v2_breakoutboard.jpg|thumb|500px|Solder female header pins to the NU32v2 Breakout Board so that you can plug in and remove your NU32v2|center]]&lt;br /&gt;
**[[Image:nu32v2_opticalisolationbreakoutboard.jpg|thumb|500px|Solder sockets to the Optically Isolated Motor Board so you can remove burnt out chips|center]]&lt;br /&gt;
**[[Image:nu32v2_phototransistorbreakoutboards.jpg|thumb|500px|The LED and Laser Phototransistor breakout boards will make it easier to attach wires to the sensors|center]]&lt;br /&gt;
**[[Image:nu32v2_stackedboards.jpg|thumb|500px|You can stack the NU32v2 breakout board with the Optically Isolated board|center]]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Brochure for 2011&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*[[Media:DC2011_brochure.pdf|Brochure for 2011]]&lt;br /&gt;
&lt;br /&gt;
==Previous Years==&lt;br /&gt;
&lt;br /&gt;
Wiki pages on sensors, actuators, programming, and microcontrollers: use pages below&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
* [http://www.mech.northwestern.edu/courses/433/Writeups/QuickStart/ Parts in the DC2008 quick start pack]&lt;br /&gt;
* [http://peshkin.mech.northwestern.edu/pic/info/piccintro_2008-01-24.pdf PIC C intro slides, as presented 2008/01/24 (pdf)]&lt;br /&gt;
* [http://peshkin.mech.northwestern.edu/pic/info/picinterfacing_2008-01-28.pdf PIC interfacing slides, as presented 2008/01/28 (pdf)]&lt;br /&gt;
* &amp;lt;b&amp;gt;[http://peshkin.mech.northwestern.edu/pic/code Link to all sample PIC code here.]&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Sensors and actuators for DC&amp;lt;/h3&amp;gt;&lt;br /&gt;
* [[Using Solderless Breadboard|Solderless Breadboard &amp;amp; wiring that works]]&lt;br /&gt;
* [[Using LEDs &amp;amp; IREDs]]&lt;br /&gt;
* [[Using a laser]]&lt;br /&gt;
* [[Sensing optical tape|Infrared reflectivity]]&lt;br /&gt;
** Using phototransistors&lt;br /&gt;
** Sensing optical tape&lt;br /&gt;
* [[Comparators | Comparators : the analog digital interface]]&lt;br /&gt;
* [http://www.robotroom.com/FaulhaberGearmotor.html Faulhaber MiniMotor SA gearmotor with encoder], as well as [[Actuators_Available_in_the_Mechatronics_Lab#Faulhaber_1524E006S_motor_with_141:1_gearhead_and_HES164A_magnetic_quadrature_encoder|the local wiki page]]&lt;br /&gt;
* [[Adding a magnetic encoder to a GM3 Gearmotor]]&lt;br /&gt;
** Using magnetic switches (Hall Effect)&lt;br /&gt;
* [[High-current devices|Driving high-current devices: several options]]&lt;br /&gt;
* [[Driving a Stepper Motor]]&lt;br /&gt;
* [[Driving an RC Servo]]&lt;br /&gt;
* [[Accelerometers]]&lt;br /&gt;
* [[Strain gauges]]&lt;br /&gt;
* [[Using the Basic Stamp Microcontroller|Basic Stamp Microcontroller]] &amp;lt;b&amp;gt;Not recommended for DC2008&amp;lt;/b&amp;gt;&lt;br /&gt;
* [http://www.mech.northwestern.edu/courses/433/Writeups/Battery_NiMH/ NiMH rechargable batteries and chargers]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt; [http://peshkin.mech.northwestern.edu/datasheets Prof. Peshkin&amp;#039;s favorite datasheets]&amp;lt;/h3&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>TristanSokol</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=Northwestern_Design_Competition&amp;diff=22145</id>
		<title>Northwestern Design Competition</title>
		<link rel="alternate" type="text/html" href="https://hades.mech.northwestern.edu//index.php?title=Northwestern_Design_Competition&amp;diff=22145"/>
		<updated>2013-04-25T03:20:04Z</updated>

		<summary type="html">&lt;p&gt;TristanSokol: /* DC2013 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==DC2013==&lt;br /&gt;
Spring Quarter Schedule&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Workshop 6&amp;#039;&amp;#039;&amp;#039; - H-Bridges, DC motor control, wheel sensing&lt;br /&gt;
** Wed, 4/3/2013, 6pm in mechatronics lab&lt;br /&gt;
** [[Media:workshop6.c | workshop6.c - drive a DC motor using PWM with an h-bridge and sense its position with a reflectance sensor]]&lt;br /&gt;
** [[Media:DC2013_hbridge_motors.pdf | How to use an h-bridge and a DC motor]]&lt;br /&gt;
** [[Media:encoder.docx | Encoder template]]&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Milestone 6&amp;#039;&amp;#039;&amp;#039; - Wheel control&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;Meeting in the mechatronics lab at 6pm 4/17&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** Demo due by 4/17/2013&lt;br /&gt;
** Press the USER button, and the wheel rotates 180 degrees&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Milestone 7&amp;#039;&amp;#039;&amp;#039; - Complete chassis&lt;br /&gt;
**[[Media:DC2013_3dprinting_design.pdf | How to design parts that can be 3D printed]] &lt;br /&gt;
** Demo due by 4/24/2013&lt;br /&gt;
** Demo your chassis&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Milestone 8&amp;#039;&amp;#039;&amp;#039; - Driving and sensing the world&lt;br /&gt;
** Demo due by 5/1/2013&lt;br /&gt;
** Demo your robot driving around the arena and sensing things&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Milestone 9&amp;#039;&amp;#039;&amp;#039; - Identify prey and drive towards them&lt;br /&gt;
** Demo due by 5/8/2013&lt;br /&gt;
** Demo your robot chasing Prey&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Milestone 10&amp;#039;&amp;#039;&amp;#039; - Operational robot, demo for E-Week&lt;br /&gt;
** Demo due by 5/15/2013, demo at E-Week in Tech lobby&lt;br /&gt;
** Show how your robot works&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;COMPETITION!!!!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** 5/18/2013, Noon in the machine shop&lt;br /&gt;
&lt;br /&gt;
Useful things:&lt;br /&gt;
* Arena and breakout board&lt;br /&gt;
** [[Media:DC2013breakout_eagle.zip | Breakout board EAGLE files]]&lt;br /&gt;
[[File:http://hades.mech.northwestern.edu/images/d/da/DC2013arena.jpg|200px|thumb|left|alt text]]&lt;br /&gt;
** [[Media:DC2013arena.pdf | DC2013arena.pdf]]&lt;br /&gt;
* Write-ups&lt;br /&gt;
** [[Media:DC2013milestone2.pdf | DC2013milestone2.pdf]]&lt;br /&gt;
** [[Media:DC2013milestone3.pdf | DC2013milestone3.pdf]]&lt;br /&gt;
** [[Media:DC2013_laser_cutter_design.pdf | How to design parts that can be made on the laser cutter]] &lt;br /&gt;
** [[Media:workshop5.dxf | workshop5.dxf - parts that mount the laser, sensors and servo]] for reference&lt;br /&gt;
** [[Media:DC2013_hbridge_motors.pdf | How to use an h-bridge and a DC motor]]&lt;br /&gt;
** [[Media:DC2013_3dprinting_design.pdf | How to design parts that can be 3D printed]]  &lt;br /&gt;
* Code&lt;br /&gt;
** [[Media:NU32.c| NU32.c]], [[Media:NU32.h | NU32.h]], [[Media:NU32bootloaded.ld | NU32bootloaded.ld]]&lt;br /&gt;
** [[Media:DC2013_Milestone2.c| DC2013_Milestone2.c]]&lt;br /&gt;
** [[Media:DC2013_milestone3.c| DC2013_milestone3.c]]&lt;br /&gt;
** [[Media:workshop5.c | workshop5.c - sweep the servo when the user button is pressed, save the data to an array]]&lt;br /&gt;
** [[Media:workshop6.c | workshop6.c - drive a DC motor using PWM with an h-bridge and sense its position with a reflectance sensor]]&lt;br /&gt;
&lt;br /&gt;
* NU32&lt;br /&gt;
** Download: MPLAB X IDE and MPLAB XC32 Compiler from [http://www.microchip.com/pagehandler/en-us/family/mplabx/#downloads http://www.microchip.com/pagehandler/en-us/family/mplabx/#downloads]&lt;br /&gt;
** Download: FTDI Drivers from [http://www.ftdichip.com/Drivers/VCP.htm http://www.ftdichip.com/Drivers/VCP.htm]&lt;br /&gt;
** Download: NU32_Utility from [[NU32:_Software_to_Install]]&lt;br /&gt;
* NU32 from 2012&lt;br /&gt;
** We have a lot of left over boards from 2012 but you have to use NU32_Utility_v5 from [[NU32:_Software_to_Install]]&lt;br /&gt;
** and [[Media:NU32_2012.c| NU32_2012.c]], [[Media:NU32_2012.h | NU32_2012.h]] instead of NU32.c and NU32.h&lt;br /&gt;
&lt;br /&gt;
Winter 2013 Schedule&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Workshop 1&amp;#039;&amp;#039;&amp;#039; - Prey robot deconstruction&lt;br /&gt;
** Tue, 1/15/2013, 6pm, Ford B100&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Milestone 1&amp;#039;&amp;#039;&amp;#039; - Prey robot -&amp;gt; Demobot&lt;br /&gt;
** Due by Wed, 1/23/2013&lt;br /&gt;
** Show off your Demobot, made from a deconstructed Prey robot &amp;#039;&amp;#039;&amp;#039;DONE!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Workshop 2&amp;#039;&amp;#039;&amp;#039; - Programming the PIC32&lt;br /&gt;
** Begin Wed, 1/23/2013, meeting in the Mechatronics lab at 6pm&lt;br /&gt;
** How to program the PIC32 on the NU32&lt;br /&gt;
** Sample code - [[Media:NU32test.hex | NU32test.hex]], [[Media:SimplePIC.c | SimplePIC.c]], [[Media:NU32bootloaded.ld | NU32bootloaded.ld]], [[Media:talkingPIC.c | talkingPIC.c]], [[Media:NU32.c| NU32.c]], [[Media:NU32.h | NU32.h]]&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Milestone 2&amp;#039;&amp;#039;&amp;#039; - Programming the PIC32&lt;br /&gt;
** Due by Wed, 1/30/2013&lt;br /&gt;
** Code Template: [[Media:DC2013_Milestone2.c| DC2013_Milestone2.c]], [[Media:NU32.c| NU32.c]], [[Media:NU32.h | NU32.h]], [[Media:NU32bootloaded.ld | NU32bootloaded.ld]]&lt;br /&gt;
** Complete the assignment here: [[Media:DC2013milestone2.pdf | DC2013milestone2.pdf]] &amp;#039;&amp;#039;&amp;#039;DONE!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Workshop 3&amp;#039;&amp;#039;&amp;#039; - Programming the PIC32&lt;br /&gt;
** Begin Wed, 1/30/2013, meeting in the Mechatronics lab at 6pm&lt;br /&gt;
** How to program the PIC32 on the NU32, sensors and actuators, soldering&lt;br /&gt;
** Sample code - [[Media:DC2013_milestone3.c| DC2013_milestone3.c]]&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Milestone 3&amp;#039;&amp;#039;&amp;#039; - Programming the PIC32, sensors and actuators&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;Due by Wed, 2/6/2013&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** Potentiometers, phototransistors, RC servos, ultrasonic distance sensors&lt;br /&gt;
** Complete the assignment here: [[Media:DC2013milestone3.pdf | DC2013milestone3.pdf]] &amp;#039;&amp;#039;&amp;#039;DONE!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Workshop 4&amp;#039;&amp;#039;&amp;#039; - Using the laser cutter&lt;br /&gt;
** Begin Wed, 2/6/2013&lt;br /&gt;
** [[Media:DC2013_laser_cutter_design.pdf | How to design parts that can be made on the laser cutter]] &lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Milestone 4&amp;#039;&amp;#039;&amp;#039; - Laser cutter training&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;Due By Wed, 2/20/2013&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** Get trained on the laser cutter&lt;br /&gt;
** Design and build a robot gripper or mechanism &amp;#039;&amp;#039;&amp;#039;DONE!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Workshop 5&amp;#039;&amp;#039;&amp;#039; - RC servo and Laser detection&lt;br /&gt;
** Begin Wed, 2/13/2013, &amp;#039;&amp;#039;&amp;#039;at 6pm in the mechatronics lab&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** How to use a laser to detect retroreflective tape&lt;br /&gt;
** How to buffer and analyse data&lt;br /&gt;
** Combining the laser and RC servo to make a moving sensor&lt;br /&gt;
** [[Media:workshop5.dxf | workshop5.dxf - parts that mount the laser, sensors and servo]] for reference&lt;br /&gt;
** [[Media:workshop5.c | workshop5.c - sweep the servo when the user button is pressed, save the data to an array]]&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Milestone 5&amp;#039;&amp;#039;&amp;#039; - Target hunting&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;Due by Wed, 2/20/2013&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** Mount the laser on the servo&lt;br /&gt;
** Sweep the laser, find the target, and point at it &amp;#039;&amp;#039;&amp;#039;DONE!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Reading week 6/11-5, finals week 6/18-22, break 3/25-29&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==DC2012==&lt;br /&gt;
Scale arena:&lt;br /&gt;
[[Image:DC2012Arena.png|thumb|500px|Dimensions of the arena for 2012|center]]&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Equipment&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*NU32, USB cable, 6V power supply&lt;br /&gt;
*2 drive motors, 2 motor mounts, 2 wheels&lt;br /&gt;
*large and small RC servos&lt;br /&gt;
*red and IR lasers&lt;br /&gt;
*12&amp;quot;x24&amp;quot;x0.118&amp;quot; clear acrylic sheets&lt;br /&gt;
*AA batteries and packs&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;PCB&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
[[Image:DC2012PCBlayout.png|thumb|500px|The PCB breakout for DC2012|center]]&lt;br /&gt;
[[Media:DC2012PCBSchematic.pdf | Schematic of PCB for 2012]]&lt;br /&gt;
&lt;br /&gt;
[[Image:DC2012SheetMetalCutter.png|thumb|500px|Use the straight cut sheet metal cutter to slice up the PCB|center]]&lt;br /&gt;
[[Image:DC2012CuttingThePCB.png|thumb|500px|Like this|center]]&lt;br /&gt;
[[Image:DC2012CutUpPCB.png|thumb|500px|So that you separate all the boards|center]]&lt;br /&gt;
[[Image:DC2012FemaleHeader.png|thumb|500px|Use female header pins to attach the NU32. The headers come is sets of 20 pins, so you will have to cut one up.|center]]&lt;br /&gt;
[[Image:DC2012LaserPCB.png|thumb|500px|Attach lasers with hot glue|center]]&lt;br /&gt;
[[Image:DC2012LEDPCB.png|thumb|500px|Note the orientation of the LED an phototransistor, they are polarized!|center]]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Workshop 1, Wednesday 1/18 5:30-7pm Tech L221, makeup Thursday 1/19 9-11am Mechatronics Lab&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*How to program in MPLABX&lt;br /&gt;
*How to use the bootloader to put code on the NU32&lt;br /&gt;
*Digital output I/O (read a button and flash an LED)&lt;br /&gt;
*Analog input&lt;br /&gt;
*PWM output&lt;br /&gt;
*Sample code:[[Media:DC2012_Workshot1.zip | Sample code for Workshop 1]]&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Milestone 1, due by 1/27&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*If a pushbutton is pressed, read the value of a potentiometer and change the brightness of an LED to the corresponding value with PWM&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Workshop 2, Thursday 2/9 6-7pm Tech L221, makeup Friday 2/10 9-11am Mechatronics Lab&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*Optical isolation for motors and RC servos&lt;br /&gt;
*Powering a motor with an h-bridge&lt;br /&gt;
*Writing to the 16x2 character LCD&lt;br /&gt;
*Laser detection of retroreflective tape / Optical line detection&lt;br /&gt;
*2 1/2D design&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Milestone 2, Due week of Feb 27&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*Optically isolate a motor&lt;br /&gt;
*Read a potentiometer and write its voltage to the LCD&lt;br /&gt;
*Control the motor velocity based on the potentiometer reading&lt;br /&gt;
*Control an RC servo&lt;br /&gt;
*Detect a 3/4&amp;quot; wide black line on white paper with a phototransistor and LED&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Laser cutting Workshop, Week of Apr 2&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*Laser cutting&lt;br /&gt;
*2.5D design&lt;br /&gt;
*Making a chassis, mounting motors and sensors&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Chassis Milestone, Due Apr 13&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*Demonstrate a robot chassis that can drive around the arena, bonus points for following a line, detecting and moving towards the moving goals, and detecting and moving towards a crate&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Midterm Milestone, Due Apr 30 / May 1 / May 2&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*Demonstrate some strategy - from the starting position, go get a crate and bring to back towards the goal&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Pre-competition Milestone, Due May 9&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*Demonstrate some advanced strategy - score several points&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Competition May 19!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==DC2011==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Milestone 1&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*On a button press, read the value of a potentiometer and change the brightness of an LED accordingly using PWM. &amp;#039;&amp;#039;&amp;#039;Note:&amp;#039;&amp;#039;&amp;#039; Do not use an h-bridge or motor as previously assigned.&lt;br /&gt;
*Due before Workshop 2 on Wed, 2/9.&lt;br /&gt;
*[[Media:NU32v2_DC2011_workshop1.zip | Sample code from Workshop 1]]&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Milestone 2&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*Due before Workshop 3 on Wed, 2/23.&lt;br /&gt;
*Goals:&lt;br /&gt;
**Use code from [[NU32v2: Nokia 5110 LCD]] and [[NU32v2: Analog Input]] to read a potentiometer and print the voltage to the Nokia 5110&lt;br /&gt;
**Optically isolate a motor and control its velocity based on the potentiometer reading&lt;br /&gt;
**Do 1 of the following:&lt;br /&gt;
***Mount a phototransistor to a laser and detect a cake &amp;#039;&amp;#039;&amp;#039;OR&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
***Detect a line of electrical tape on white paper with an optoreflector&lt;br /&gt;
*Datasheets&lt;br /&gt;
**[[Media:HBridge_L293D.pdf|HBridge_L293D.pdf]] - H-bridge for driving a DC motor&lt;br /&gt;
**[[Media:Optocoupler_A847.pdf|Optocoupler_A847.pdf]] - Optocoupler to optically isolate your H-bridge&lt;br /&gt;
**[[Media:HexInverter_74HC04.pdf|HexInverter_74HC04.pdf]] - Inverting chip to digitize optocoupler output&lt;br /&gt;
**[[Media:Optoreflector_OPB740.pdf|Optoreflector_OPB740.pdf]] - Optoreflector to detect lines or color&lt;br /&gt;
**[[Media:Optoreflector_QRE1113.pdf|Optoreflector_QRE1113.pdf]] - Optoreflector to detect lines or color&lt;br /&gt;
**[[Media:Phototransistor_SFH310.pdf|Phototransistor_SFH310.pdf]] - Phototransistor to detect lines, color, or laser reflections&lt;br /&gt;
*Notes&lt;br /&gt;
**[[Media:DC2011_WS2_OpticalIsolation.pdf|DC2011_WS2_OpticalIsolation.pdf]] - How to optically isolate an h-bridge and servo motor using the A847 and 74HC04&lt;br /&gt;
**[[Media:DC2011_WS2_OpticalSensors.pdf|DC2011_WS2_OpticalSensors.pdf]] - How to use the SFH310 to detect a cake and use the OPB740 or QRE1113 for line following&lt;br /&gt;
**[[Media:DC2011_WS2_Code.zip|DC2011_WS2_Code.zip]] - Example code for the NU32v2 that will:&lt;br /&gt;
***Control a DC motor hooked up to an optically isolated h-bridge, and control an optically isolated RC servo motor&lt;br /&gt;
***Respond to serial commands to control the motors, write to the Nokia 5110, and read two analog signals&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Milestone 4&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*Due before Wed, 3/16&lt;br /&gt;
*Finish laser training, at least one person per team&lt;br /&gt;
*Construct a prototype chassis for your robot&lt;br /&gt;
*Do one of the following:&lt;br /&gt;
**Follow part of the line on the 36&amp;quot; x 96&amp;quot; printout of [[Media:DC2011LineFOllowing.pdf|this pdf]]&lt;br /&gt;
**Detect a cake somewhere on the floor and drive to it&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Breakout Boards&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*[[Media:DC2011Breakouts.pdf|Image of the breakout boards]]&lt;br /&gt;
*[[Media:DC2011BreakoutsSchematic.pdf|Circuit schematic of the breakout boards]]&lt;br /&gt;
*This board contains:&lt;br /&gt;
**A spot to plug in the NU32v2 with some prototyping area&lt;br /&gt;
**The optical isolation circuit with some prototyping area, the same size as the NU32v2 breakout board so it can be stacked on top&lt;br /&gt;
**8 SFH310 with LED breakout boards&lt;br /&gt;
**4 SFH310 with laser diode breakout boards&lt;br /&gt;
**1 LIS352AX accelerometer breakout board&lt;br /&gt;
**1 LSM303DHL tilt-compensated compass breakout board&lt;br /&gt;
**1 LPY550AL gyroscope breakout board&lt;br /&gt;
**1 LS7366R encoder decoder breakout board&lt;br /&gt;
**1 TCS3103 color sensor breakout board&lt;br /&gt;
*How to use the boards:&lt;br /&gt;
**[[Image:nu32v2_breakoutboard.jpg|thumb|500px|Solder female header pins to the NU32v2 Breakout Board so that you can plug in and remove your NU32v2|center]]&lt;br /&gt;
**[[Image:nu32v2_opticalisolationbreakoutboard.jpg|thumb|500px|Solder sockets to the Optically Isolated Motor Board so you can remove burnt out chips|center]]&lt;br /&gt;
**[[Image:nu32v2_phototransistorbreakoutboards.jpg|thumb|500px|The LED and Laser Phototransistor breakout boards will make it easier to attach wires to the sensors|center]]&lt;br /&gt;
**[[Image:nu32v2_stackedboards.jpg|thumb|500px|You can stack the NU32v2 breakout board with the Optically Isolated board|center]]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Brochure for 2011&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*[[Media:DC2011_brochure.pdf|Brochure for 2011]]&lt;br /&gt;
&lt;br /&gt;
==Previous Years==&lt;br /&gt;
&lt;br /&gt;
Wiki pages on sensors, actuators, programming, and microcontrollers: use pages below&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
* [http://www.mech.northwestern.edu/courses/433/Writeups/QuickStart/ Parts in the DC2008 quick start pack]&lt;br /&gt;
* [http://peshkin.mech.northwestern.edu/pic/info/piccintro_2008-01-24.pdf PIC C intro slides, as presented 2008/01/24 (pdf)]&lt;br /&gt;
* [http://peshkin.mech.northwestern.edu/pic/info/picinterfacing_2008-01-28.pdf PIC interfacing slides, as presented 2008/01/28 (pdf)]&lt;br /&gt;
* &amp;lt;b&amp;gt;[http://peshkin.mech.northwestern.edu/pic/code Link to all sample PIC code here.]&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Sensors and actuators for DC&amp;lt;/h3&amp;gt;&lt;br /&gt;
* [[Using Solderless Breadboard|Solderless Breadboard &amp;amp; wiring that works]]&lt;br /&gt;
* [[Using LEDs &amp;amp; IREDs]]&lt;br /&gt;
* [[Using a laser]]&lt;br /&gt;
* [[Sensing optical tape|Infrared reflectivity]]&lt;br /&gt;
** Using phototransistors&lt;br /&gt;
** Sensing optical tape&lt;br /&gt;
* [[Comparators | Comparators : the analog digital interface]]&lt;br /&gt;
* [http://www.robotroom.com/FaulhaberGearmotor.html Faulhaber MiniMotor SA gearmotor with encoder], as well as [[Actuators_Available_in_the_Mechatronics_Lab#Faulhaber_1524E006S_motor_with_141:1_gearhead_and_HES164A_magnetic_quadrature_encoder|the local wiki page]]&lt;br /&gt;
* [[Adding a magnetic encoder to a GM3 Gearmotor]]&lt;br /&gt;
** Using magnetic switches (Hall Effect)&lt;br /&gt;
* [[High-current devices|Driving high-current devices: several options]]&lt;br /&gt;
* [[Driving a Stepper Motor]]&lt;br /&gt;
* [[Driving an RC Servo]]&lt;br /&gt;
* [[Accelerometers]]&lt;br /&gt;
* [[Strain gauges]]&lt;br /&gt;
* [[Using the Basic Stamp Microcontroller|Basic Stamp Microcontroller]] &amp;lt;b&amp;gt;Not recommended for DC2008&amp;lt;/b&amp;gt;&lt;br /&gt;
* [http://www.mech.northwestern.edu/courses/433/Writeups/Battery_NiMH/ NiMH rechargable batteries and chargers]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt; [http://peshkin.mech.northwestern.edu/datasheets Prof. Peshkin&amp;#039;s favorite datasheets]&amp;lt;/h3&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>TristanSokol</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=Northwestern_Design_Competition&amp;diff=22144</id>
		<title>Northwestern Design Competition</title>
		<link rel="alternate" type="text/html" href="https://hades.mech.northwestern.edu//index.php?title=Northwestern_Design_Competition&amp;diff=22144"/>
		<updated>2013-04-25T03:19:12Z</updated>

		<summary type="html">&lt;p&gt;TristanSokol: /* DC2013 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==DC2013==&lt;br /&gt;
Spring Quarter Schedule&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Workshop 6&amp;#039;&amp;#039;&amp;#039; - H-Bridges, DC motor control, wheel sensing&lt;br /&gt;
** Wed, 4/3/2013, 6pm in mechatronics lab&lt;br /&gt;
** [[Media:workshop6.c | workshop6.c - drive a DC motor using PWM with an h-bridge and sense its position with a reflectance sensor]]&lt;br /&gt;
** [[Media:DC2013_hbridge_motors.pdf | How to use an h-bridge and a DC motor]]&lt;br /&gt;
** [[Media:encoder.docx | Encoder template]]&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Milestone 6&amp;#039;&amp;#039;&amp;#039; - Wheel control&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;Meeting in the mechatronics lab at 6pm 4/17&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** Demo due by 4/17/2013&lt;br /&gt;
** Press the USER button, and the wheel rotates 180 degrees&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Milestone 7&amp;#039;&amp;#039;&amp;#039; - Complete chassis&lt;br /&gt;
**[[Media:DC2013_3dprinting_design.pdf | How to design parts that can be 3D printed]] &lt;br /&gt;
** Demo due by 4/24/2013&lt;br /&gt;
** Demo your chassis&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Milestone 8&amp;#039;&amp;#039;&amp;#039; - Driving and sensing the world&lt;br /&gt;
** Demo due by 5/1/2013&lt;br /&gt;
** Demo your robot driving around the arena and sensing things&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Milestone 9&amp;#039;&amp;#039;&amp;#039; - Identify prey and drive towards them&lt;br /&gt;
** Demo due by 5/8/2013&lt;br /&gt;
** Demo your robot chasing Prey&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Milestone 10&amp;#039;&amp;#039;&amp;#039; - Operational robot, demo for E-Week&lt;br /&gt;
** Demo due by 5/15/2013, demo at E-Week in Tech lobby&lt;br /&gt;
** Show how your robot works&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;COMPETITION!!!!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** 5/18/2013, Noon in the machine shop&lt;br /&gt;
&lt;br /&gt;
Useful things:&lt;br /&gt;
* Arena and breakout board&lt;br /&gt;
** [[Media:DC2013breakout_eagle.zip | Breakout board EAGLE files]]&lt;br /&gt;
[[File:http://hades.mech.northwestern.edu/index.php/File:DC2013arena.jpg|200px|thumb|left|alt text]]&lt;br /&gt;
** [[Media:DC2013arena.pdf | DC2013arena.pdf]]&lt;br /&gt;
* Write-ups&lt;br /&gt;
** [[Media:DC2013milestone2.pdf | DC2013milestone2.pdf]]&lt;br /&gt;
** [[Media:DC2013milestone3.pdf | DC2013milestone3.pdf]]&lt;br /&gt;
** [[Media:DC2013_laser_cutter_design.pdf | How to design parts that can be made on the laser cutter]] &lt;br /&gt;
** [[Media:workshop5.dxf | workshop5.dxf - parts that mount the laser, sensors and servo]] for reference&lt;br /&gt;
** [[Media:DC2013_hbridge_motors.pdf | How to use an h-bridge and a DC motor]]&lt;br /&gt;
** [[Media:DC2013_3dprinting_design.pdf | How to design parts that can be 3D printed]]  &lt;br /&gt;
* Code&lt;br /&gt;
** [[Media:NU32.c| NU32.c]], [[Media:NU32.h | NU32.h]], [[Media:NU32bootloaded.ld | NU32bootloaded.ld]]&lt;br /&gt;
** [[Media:DC2013_Milestone2.c| DC2013_Milestone2.c]]&lt;br /&gt;
** [[Media:DC2013_milestone3.c| DC2013_milestone3.c]]&lt;br /&gt;
** [[Media:workshop5.c | workshop5.c - sweep the servo when the user button is pressed, save the data to an array]]&lt;br /&gt;
** [[Media:workshop6.c | workshop6.c - drive a DC motor using PWM with an h-bridge and sense its position with a reflectance sensor]]&lt;br /&gt;
&lt;br /&gt;
* NU32&lt;br /&gt;
** Download: MPLAB X IDE and MPLAB XC32 Compiler from [http://www.microchip.com/pagehandler/en-us/family/mplabx/#downloads http://www.microchip.com/pagehandler/en-us/family/mplabx/#downloads]&lt;br /&gt;
** Download: FTDI Drivers from [http://www.ftdichip.com/Drivers/VCP.htm http://www.ftdichip.com/Drivers/VCP.htm]&lt;br /&gt;
** Download: NU32_Utility from [[NU32:_Software_to_Install]]&lt;br /&gt;
* NU32 from 2012&lt;br /&gt;
** We have a lot of left over boards from 2012 but you have to use NU32_Utility_v5 from [[NU32:_Software_to_Install]]&lt;br /&gt;
** and [[Media:NU32_2012.c| NU32_2012.c]], [[Media:NU32_2012.h | NU32_2012.h]] instead of NU32.c and NU32.h&lt;br /&gt;
&lt;br /&gt;
Winter 2013 Schedule&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Workshop 1&amp;#039;&amp;#039;&amp;#039; - Prey robot deconstruction&lt;br /&gt;
** Tue, 1/15/2013, 6pm, Ford B100&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Milestone 1&amp;#039;&amp;#039;&amp;#039; - Prey robot -&amp;gt; Demobot&lt;br /&gt;
** Due by Wed, 1/23/2013&lt;br /&gt;
** Show off your Demobot, made from a deconstructed Prey robot &amp;#039;&amp;#039;&amp;#039;DONE!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Workshop 2&amp;#039;&amp;#039;&amp;#039; - Programming the PIC32&lt;br /&gt;
** Begin Wed, 1/23/2013, meeting in the Mechatronics lab at 6pm&lt;br /&gt;
** How to program the PIC32 on the NU32&lt;br /&gt;
** Sample code - [[Media:NU32test.hex | NU32test.hex]], [[Media:SimplePIC.c | SimplePIC.c]], [[Media:NU32bootloaded.ld | NU32bootloaded.ld]], [[Media:talkingPIC.c | talkingPIC.c]], [[Media:NU32.c| NU32.c]], [[Media:NU32.h | NU32.h]]&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Milestone 2&amp;#039;&amp;#039;&amp;#039; - Programming the PIC32&lt;br /&gt;
** Due by Wed, 1/30/2013&lt;br /&gt;
** Code Template: [[Media:DC2013_Milestone2.c| DC2013_Milestone2.c]], [[Media:NU32.c| NU32.c]], [[Media:NU32.h | NU32.h]], [[Media:NU32bootloaded.ld | NU32bootloaded.ld]]&lt;br /&gt;
** Complete the assignment here: [[Media:DC2013milestone2.pdf | DC2013milestone2.pdf]] &amp;#039;&amp;#039;&amp;#039;DONE!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Workshop 3&amp;#039;&amp;#039;&amp;#039; - Programming the PIC32&lt;br /&gt;
** Begin Wed, 1/30/2013, meeting in the Mechatronics lab at 6pm&lt;br /&gt;
** How to program the PIC32 on the NU32, sensors and actuators, soldering&lt;br /&gt;
** Sample code - [[Media:DC2013_milestone3.c| DC2013_milestone3.c]]&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Milestone 3&amp;#039;&amp;#039;&amp;#039; - Programming the PIC32, sensors and actuators&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;Due by Wed, 2/6/2013&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** Potentiometers, phototransistors, RC servos, ultrasonic distance sensors&lt;br /&gt;
** Complete the assignment here: [[Media:DC2013milestone3.pdf | DC2013milestone3.pdf]] &amp;#039;&amp;#039;&amp;#039;DONE!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Workshop 4&amp;#039;&amp;#039;&amp;#039; - Using the laser cutter&lt;br /&gt;
** Begin Wed, 2/6/2013&lt;br /&gt;
** [[Media:DC2013_laser_cutter_design.pdf | How to design parts that can be made on the laser cutter]] &lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Milestone 4&amp;#039;&amp;#039;&amp;#039; - Laser cutter training&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;Due By Wed, 2/20/2013&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** Get trained on the laser cutter&lt;br /&gt;
** Design and build a robot gripper or mechanism &amp;#039;&amp;#039;&amp;#039;DONE!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Workshop 5&amp;#039;&amp;#039;&amp;#039; - RC servo and Laser detection&lt;br /&gt;
** Begin Wed, 2/13/2013, &amp;#039;&amp;#039;&amp;#039;at 6pm in the mechatronics lab&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** How to use a laser to detect retroreflective tape&lt;br /&gt;
** How to buffer and analyse data&lt;br /&gt;
** Combining the laser and RC servo to make a moving sensor&lt;br /&gt;
** [[Media:workshop5.dxf | workshop5.dxf - parts that mount the laser, sensors and servo]] for reference&lt;br /&gt;
** [[Media:workshop5.c | workshop5.c - sweep the servo when the user button is pressed, save the data to an array]]&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Milestone 5&amp;#039;&amp;#039;&amp;#039; - Target hunting&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;Due by Wed, 2/20/2013&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** Mount the laser on the servo&lt;br /&gt;
** Sweep the laser, find the target, and point at it &amp;#039;&amp;#039;&amp;#039;DONE!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Reading week 6/11-5, finals week 6/18-22, break 3/25-29&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==DC2012==&lt;br /&gt;
Scale arena:&lt;br /&gt;
[[Image:DC2012Arena.png|thumb|500px|Dimensions of the arena for 2012|center]]&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Equipment&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*NU32, USB cable, 6V power supply&lt;br /&gt;
*2 drive motors, 2 motor mounts, 2 wheels&lt;br /&gt;
*large and small RC servos&lt;br /&gt;
*red and IR lasers&lt;br /&gt;
*12&amp;quot;x24&amp;quot;x0.118&amp;quot; clear acrylic sheets&lt;br /&gt;
*AA batteries and packs&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;PCB&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
[[Image:DC2012PCBlayout.png|thumb|500px|The PCB breakout for DC2012|center]]&lt;br /&gt;
[[Media:DC2012PCBSchematic.pdf | Schematic of PCB for 2012]]&lt;br /&gt;
&lt;br /&gt;
[[Image:DC2012SheetMetalCutter.png|thumb|500px|Use the straight cut sheet metal cutter to slice up the PCB|center]]&lt;br /&gt;
[[Image:DC2012CuttingThePCB.png|thumb|500px|Like this|center]]&lt;br /&gt;
[[Image:DC2012CutUpPCB.png|thumb|500px|So that you separate all the boards|center]]&lt;br /&gt;
[[Image:DC2012FemaleHeader.png|thumb|500px|Use female header pins to attach the NU32. The headers come is sets of 20 pins, so you will have to cut one up.|center]]&lt;br /&gt;
[[Image:DC2012LaserPCB.png|thumb|500px|Attach lasers with hot glue|center]]&lt;br /&gt;
[[Image:DC2012LEDPCB.png|thumb|500px|Note the orientation of the LED an phototransistor, they are polarized!|center]]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Workshop 1, Wednesday 1/18 5:30-7pm Tech L221, makeup Thursday 1/19 9-11am Mechatronics Lab&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*How to program in MPLABX&lt;br /&gt;
*How to use the bootloader to put code on the NU32&lt;br /&gt;
*Digital output I/O (read a button and flash an LED)&lt;br /&gt;
*Analog input&lt;br /&gt;
*PWM output&lt;br /&gt;
*Sample code:[[Media:DC2012_Workshot1.zip | Sample code for Workshop 1]]&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Milestone 1, due by 1/27&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*If a pushbutton is pressed, read the value of a potentiometer and change the brightness of an LED to the corresponding value with PWM&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Workshop 2, Thursday 2/9 6-7pm Tech L221, makeup Friday 2/10 9-11am Mechatronics Lab&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*Optical isolation for motors and RC servos&lt;br /&gt;
*Powering a motor with an h-bridge&lt;br /&gt;
*Writing to the 16x2 character LCD&lt;br /&gt;
*Laser detection of retroreflective tape / Optical line detection&lt;br /&gt;
*2 1/2D design&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Milestone 2, Due week of Feb 27&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*Optically isolate a motor&lt;br /&gt;
*Read a potentiometer and write its voltage to the LCD&lt;br /&gt;
*Control the motor velocity based on the potentiometer reading&lt;br /&gt;
*Control an RC servo&lt;br /&gt;
*Detect a 3/4&amp;quot; wide black line on white paper with a phototransistor and LED&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Laser cutting Workshop, Week of Apr 2&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*Laser cutting&lt;br /&gt;
*2.5D design&lt;br /&gt;
*Making a chassis, mounting motors and sensors&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Chassis Milestone, Due Apr 13&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*Demonstrate a robot chassis that can drive around the arena, bonus points for following a line, detecting and moving towards the moving goals, and detecting and moving towards a crate&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Midterm Milestone, Due Apr 30 / May 1 / May 2&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*Demonstrate some strategy - from the starting position, go get a crate and bring to back towards the goal&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Pre-competition Milestone, Due May 9&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*Demonstrate some advanced strategy - score several points&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Competition May 19!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==DC2011==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Milestone 1&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*On a button press, read the value of a potentiometer and change the brightness of an LED accordingly using PWM. &amp;#039;&amp;#039;&amp;#039;Note:&amp;#039;&amp;#039;&amp;#039; Do not use an h-bridge or motor as previously assigned.&lt;br /&gt;
*Due before Workshop 2 on Wed, 2/9.&lt;br /&gt;
*[[Media:NU32v2_DC2011_workshop1.zip | Sample code from Workshop 1]]&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Milestone 2&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*Due before Workshop 3 on Wed, 2/23.&lt;br /&gt;
*Goals:&lt;br /&gt;
**Use code from [[NU32v2: Nokia 5110 LCD]] and [[NU32v2: Analog Input]] to read a potentiometer and print the voltage to the Nokia 5110&lt;br /&gt;
**Optically isolate a motor and control its velocity based on the potentiometer reading&lt;br /&gt;
**Do 1 of the following:&lt;br /&gt;
***Mount a phototransistor to a laser and detect a cake &amp;#039;&amp;#039;&amp;#039;OR&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
***Detect a line of electrical tape on white paper with an optoreflector&lt;br /&gt;
*Datasheets&lt;br /&gt;
**[[Media:HBridge_L293D.pdf|HBridge_L293D.pdf]] - H-bridge for driving a DC motor&lt;br /&gt;
**[[Media:Optocoupler_A847.pdf|Optocoupler_A847.pdf]] - Optocoupler to optically isolate your H-bridge&lt;br /&gt;
**[[Media:HexInverter_74HC04.pdf|HexInverter_74HC04.pdf]] - Inverting chip to digitize optocoupler output&lt;br /&gt;
**[[Media:Optoreflector_OPB740.pdf|Optoreflector_OPB740.pdf]] - Optoreflector to detect lines or color&lt;br /&gt;
**[[Media:Optoreflector_QRE1113.pdf|Optoreflector_QRE1113.pdf]] - Optoreflector to detect lines or color&lt;br /&gt;
**[[Media:Phototransistor_SFH310.pdf|Phototransistor_SFH310.pdf]] - Phototransistor to detect lines, color, or laser reflections&lt;br /&gt;
*Notes&lt;br /&gt;
**[[Media:DC2011_WS2_OpticalIsolation.pdf|DC2011_WS2_OpticalIsolation.pdf]] - How to optically isolate an h-bridge and servo motor using the A847 and 74HC04&lt;br /&gt;
**[[Media:DC2011_WS2_OpticalSensors.pdf|DC2011_WS2_OpticalSensors.pdf]] - How to use the SFH310 to detect a cake and use the OPB740 or QRE1113 for line following&lt;br /&gt;
**[[Media:DC2011_WS2_Code.zip|DC2011_WS2_Code.zip]] - Example code for the NU32v2 that will:&lt;br /&gt;
***Control a DC motor hooked up to an optically isolated h-bridge, and control an optically isolated RC servo motor&lt;br /&gt;
***Respond to serial commands to control the motors, write to the Nokia 5110, and read two analog signals&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Milestone 4&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*Due before Wed, 3/16&lt;br /&gt;
*Finish laser training, at least one person per team&lt;br /&gt;
*Construct a prototype chassis for your robot&lt;br /&gt;
*Do one of the following:&lt;br /&gt;
**Follow part of the line on the 36&amp;quot; x 96&amp;quot; printout of [[Media:DC2011LineFOllowing.pdf|this pdf]]&lt;br /&gt;
**Detect a cake somewhere on the floor and drive to it&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Breakout Boards&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*[[Media:DC2011Breakouts.pdf|Image of the breakout boards]]&lt;br /&gt;
*[[Media:DC2011BreakoutsSchematic.pdf|Circuit schematic of the breakout boards]]&lt;br /&gt;
*This board contains:&lt;br /&gt;
**A spot to plug in the NU32v2 with some prototyping area&lt;br /&gt;
**The optical isolation circuit with some prototyping area, the same size as the NU32v2 breakout board so it can be stacked on top&lt;br /&gt;
**8 SFH310 with LED breakout boards&lt;br /&gt;
**4 SFH310 with laser diode breakout boards&lt;br /&gt;
**1 LIS352AX accelerometer breakout board&lt;br /&gt;
**1 LSM303DHL tilt-compensated compass breakout board&lt;br /&gt;
**1 LPY550AL gyroscope breakout board&lt;br /&gt;
**1 LS7366R encoder decoder breakout board&lt;br /&gt;
**1 TCS3103 color sensor breakout board&lt;br /&gt;
*How to use the boards:&lt;br /&gt;
**[[Image:nu32v2_breakoutboard.jpg|thumb|500px|Solder female header pins to the NU32v2 Breakout Board so that you can plug in and remove your NU32v2|center]]&lt;br /&gt;
**[[Image:nu32v2_opticalisolationbreakoutboard.jpg|thumb|500px|Solder sockets to the Optically Isolated Motor Board so you can remove burnt out chips|center]]&lt;br /&gt;
**[[Image:nu32v2_phototransistorbreakoutboards.jpg|thumb|500px|The LED and Laser Phototransistor breakout boards will make it easier to attach wires to the sensors|center]]&lt;br /&gt;
**[[Image:nu32v2_stackedboards.jpg|thumb|500px|You can stack the NU32v2 breakout board with the Optically Isolated board|center]]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Brochure for 2011&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*[[Media:DC2011_brochure.pdf|Brochure for 2011]]&lt;br /&gt;
&lt;br /&gt;
==Previous Years==&lt;br /&gt;
&lt;br /&gt;
Wiki pages on sensors, actuators, programming, and microcontrollers: use pages below&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
* [http://www.mech.northwestern.edu/courses/433/Writeups/QuickStart/ Parts in the DC2008 quick start pack]&lt;br /&gt;
* [http://peshkin.mech.northwestern.edu/pic/info/piccintro_2008-01-24.pdf PIC C intro slides, as presented 2008/01/24 (pdf)]&lt;br /&gt;
* [http://peshkin.mech.northwestern.edu/pic/info/picinterfacing_2008-01-28.pdf PIC interfacing slides, as presented 2008/01/28 (pdf)]&lt;br /&gt;
* &amp;lt;b&amp;gt;[http://peshkin.mech.northwestern.edu/pic/code Link to all sample PIC code here.]&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Sensors and actuators for DC&amp;lt;/h3&amp;gt;&lt;br /&gt;
* [[Using Solderless Breadboard|Solderless Breadboard &amp;amp; wiring that works]]&lt;br /&gt;
* [[Using LEDs &amp;amp; IREDs]]&lt;br /&gt;
* [[Using a laser]]&lt;br /&gt;
* [[Sensing optical tape|Infrared reflectivity]]&lt;br /&gt;
** Using phototransistors&lt;br /&gt;
** Sensing optical tape&lt;br /&gt;
* [[Comparators | Comparators : the analog digital interface]]&lt;br /&gt;
* [http://www.robotroom.com/FaulhaberGearmotor.html Faulhaber MiniMotor SA gearmotor with encoder], as well as [[Actuators_Available_in_the_Mechatronics_Lab#Faulhaber_1524E006S_motor_with_141:1_gearhead_and_HES164A_magnetic_quadrature_encoder|the local wiki page]]&lt;br /&gt;
* [[Adding a magnetic encoder to a GM3 Gearmotor]]&lt;br /&gt;
** Using magnetic switches (Hall Effect)&lt;br /&gt;
* [[High-current devices|Driving high-current devices: several options]]&lt;br /&gt;
* [[Driving a Stepper Motor]]&lt;br /&gt;
* [[Driving an RC Servo]]&lt;br /&gt;
* [[Accelerometers]]&lt;br /&gt;
* [[Strain gauges]]&lt;br /&gt;
* [[Using the Basic Stamp Microcontroller|Basic Stamp Microcontroller]] &amp;lt;b&amp;gt;Not recommended for DC2008&amp;lt;/b&amp;gt;&lt;br /&gt;
* [http://www.mech.northwestern.edu/courses/433/Writeups/Battery_NiMH/ NiMH rechargable batteries and chargers]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt; [http://peshkin.mech.northwestern.edu/datasheets Prof. Peshkin&amp;#039;s favorite datasheets]&amp;lt;/h3&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>TristanSokol</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=File:DC2013arena.jpg&amp;diff=22143</id>
		<title>File:DC2013arena.jpg</title>
		<link rel="alternate" type="text/html" href="https://hades.mech.northwestern.edu//index.php?title=File:DC2013arena.jpg&amp;diff=22143"/>
		<updated>2013-04-25T03:18:15Z</updated>

		<summary type="html">&lt;p&gt;TristanSokol: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>TristanSokol</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=File:DC2013arena.svg&amp;diff=22142</id>
		<title>File:DC2013arena.svg</title>
		<link rel="alternate" type="text/html" href="https://hades.mech.northwestern.edu//index.php?title=File:DC2013arena.svg&amp;diff=22142"/>
		<updated>2013-04-25T03:16:45Z</updated>

		<summary type="html">&lt;p&gt;TristanSokol: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>TristanSokol</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=File:DC2013arena.png&amp;diff=22141</id>
		<title>File:DC2013arena.png</title>
		<link rel="alternate" type="text/html" href="https://hades.mech.northwestern.edu//index.php?title=File:DC2013arena.png&amp;diff=22141"/>
		<updated>2013-04-25T03:06:14Z</updated>

		<summary type="html">&lt;p&gt;TristanSokol: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>TristanSokol</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=Node.js&amp;diff=21416</id>
		<title>Node.js</title>
		<link rel="alternate" type="text/html" href="https://hades.mech.northwestern.edu//index.php?title=Node.js&amp;diff=21416"/>
		<updated>2012-07-02T18:36:05Z</updated>

		<summary type="html">&lt;p&gt;TristanSokol: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Node.js&amp;#039;&amp;#039;&amp;#039; is a software system designed for writing scalable Internet applications, notably web servers. Programs are written in JavaScript, using event-driven, asynchronous I/O to minimize overhead and maximize scalability. Node.js consists of Google&amp;#039;s V8 JavaScript engine, libUV, and several built-in libraries. For more information, try checking out the wikipedia page about Node.js [http://en.wikipedia.org/wiki/Nodejs]&lt;br /&gt;
&lt;br /&gt;
__TOC__ &lt;br /&gt;
&lt;br /&gt;
==Installing Node.js==&lt;br /&gt;
===Mac===&lt;br /&gt;
1. Go to [http://nodejs.org/ The Node.js webpage] &amp;lt;br&amp;gt;&lt;br /&gt;
2. Click Download&amp;lt;br&amp;gt;&lt;br /&gt;
3. Select the package appropriate for your system&amp;lt;br&amp;gt;&lt;br /&gt;
4. Open the .pkg you just downloaded&amp;lt;br&amp;gt;&lt;br /&gt;
5. install node.js &amp;lt;br&amp;gt; &lt;br /&gt;
6. &amp;#039;&amp;#039;&amp;#039;Thats it! You win!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
===Windows===&lt;br /&gt;
1. Go to [http://nodejs.org/ The Node.js webpage] &amp;lt;br&amp;gt;&lt;br /&gt;
2. Click Download&amp;lt;br&amp;gt;&lt;br /&gt;
3. Select the package appropriate for your system&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>TristanSokol</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=Installing_Node.js&amp;diff=21415</id>
		<title>Installing Node.js</title>
		<link rel="alternate" type="text/html" href="https://hades.mech.northwestern.edu//index.php?title=Installing_Node.js&amp;diff=21415"/>
		<updated>2012-07-02T18:35:42Z</updated>

		<summary type="html">&lt;p&gt;TristanSokol: Blanked the page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>TristanSokol</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=Node.js&amp;diff=21414</id>
		<title>Node.js</title>
		<link rel="alternate" type="text/html" href="https://hades.mech.northwestern.edu//index.php?title=Node.js&amp;diff=21414"/>
		<updated>2012-07-02T18:35:09Z</updated>

		<summary type="html">&lt;p&gt;TristanSokol: /* Node.js */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Node.js&amp;#039;&amp;#039;&amp;#039; is a software system designed for writing scalable Internet applications, notably web servers. Programs are written in JavaScript, using event-driven, asynchronous I/O to minimize overhead and maximize scalability. Node.js consists of Google&amp;#039;s V8 JavaScript engine, libUV, and several built-in libraries. For more information, try checking out the wikipedia page about Node.js [http://en.wikipedia.org/wiki/Nodejs]&lt;br /&gt;
&lt;br /&gt;
__TOC__ &lt;br /&gt;
&lt;br /&gt;
==[[Installing Node.js]]==&lt;br /&gt;
===Mac===&lt;br /&gt;
1. Go to [http://nodejs.org/ The Node.js webpage] &amp;lt;br&amp;gt;&lt;br /&gt;
2. Click Download&amp;lt;br&amp;gt;&lt;br /&gt;
3. Select the package appropriate for your system&amp;lt;br&amp;gt;&lt;br /&gt;
4. Open the .pkg you just downloaded&amp;lt;br&amp;gt;&lt;br /&gt;
5. install node.js &amp;lt;br&amp;gt; &lt;br /&gt;
6. &amp;#039;&amp;#039;&amp;#039;Thats it! You win!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
===Windows===&lt;br /&gt;
1. Go to [http://nodejs.org/ The Node.js webpage] &amp;lt;br&amp;gt;&lt;br /&gt;
2. Click Download&amp;lt;br&amp;gt;&lt;br /&gt;
3. Select the package appropriate for your system&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>TristanSokol</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=Installing_Node.js&amp;diff=21413</id>
		<title>Installing Node.js</title>
		<link rel="alternate" type="text/html" href="https://hades.mech.northwestern.edu//index.php?title=Installing_Node.js&amp;diff=21413"/>
		<updated>2012-07-02T16:54:34Z</updated>

		<summary type="html">&lt;p&gt;TristanSokol: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
Make sure you check out the [[Node.js]] page as well.&lt;br /&gt;
==Mac==&lt;br /&gt;
1. Go to [http://nodejs.org/ The Node.js webpage] &amp;lt;br&amp;gt;&lt;br /&gt;
2. Click Download&amp;lt;br&amp;gt;&lt;br /&gt;
3. Select the package appropriate for your system&amp;lt;br&amp;gt;&lt;br /&gt;
4. Open the .pkg you just downloaded&amp;lt;br&amp;gt;&lt;br /&gt;
5. install node.js &amp;lt;br&amp;gt; &lt;br /&gt;
6. &amp;#039;&amp;#039;&amp;#039;Thats it! You win!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==Windows==&lt;br /&gt;
1. Go to [http://nodejs.org/ The Node.js webpage] &amp;lt;br&amp;gt;&lt;br /&gt;
2. Click Download&amp;lt;br&amp;gt;&lt;br /&gt;
3. Select the package appropriate for your system&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>TristanSokol</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=Installing_Node.js&amp;diff=21412</id>
		<title>Installing Node.js</title>
		<link rel="alternate" type="text/html" href="https://hades.mech.northwestern.edu//index.php?title=Installing_Node.js&amp;diff=21412"/>
		<updated>2012-07-02T16:54:00Z</updated>

		<summary type="html">&lt;p&gt;TristanSokol: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
Make sure you check out the [[Node.js Node.js page as well]].&lt;br /&gt;
==Mac==&lt;br /&gt;
1. Go to [http://nodejs.org/ The Node.js webpage] &amp;lt;br&amp;gt;&lt;br /&gt;
2. Click Download&amp;lt;br&amp;gt;&lt;br /&gt;
3. Select the package appropriate for your system&amp;lt;br&amp;gt;&lt;br /&gt;
4. Open the .pkg you just downloaded&amp;lt;br&amp;gt;&lt;br /&gt;
5. install node.js &amp;lt;br&amp;gt; &lt;br /&gt;
6. &amp;#039;&amp;#039;&amp;#039;Thats it! You win!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==Windows==&lt;br /&gt;
1. Go to [http://nodejs.org/ The Node.js webpage] &amp;lt;br&amp;gt;&lt;br /&gt;
2. Click Download&amp;lt;br&amp;gt;&lt;br /&gt;
3. Select the package appropriate for your system&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>TristanSokol</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=Installing_Node.js&amp;diff=21411</id>
		<title>Installing Node.js</title>
		<link rel="alternate" type="text/html" href="https://hades.mech.northwestern.edu//index.php?title=Installing_Node.js&amp;diff=21411"/>
		<updated>2012-07-02T16:38:05Z</updated>

		<summary type="html">&lt;p&gt;TristanSokol: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
Make sure you check out the [[Node.js Node.js page as well]].&lt;br /&gt;
==Mac==&lt;br /&gt;
1. Go to [http://nodejs.org/ The Node.js webpage] &amp;lt;br&amp;gt;&lt;br /&gt;
2. Click Download&amp;lt;br&amp;gt;&lt;br /&gt;
3. Select the package appropriate for your system&amp;lt;br&amp;gt;&lt;br /&gt;
4. Open the .pkg you just downloaded&amp;lt;br&amp;gt;&lt;br /&gt;
5. install node.js &amp;lt;br&amp;gt; &lt;br /&gt;
This will give you the two command line instructions &amp;#039;&amp;#039;&amp;#039;node&amp;#039;&amp;#039;&amp;#039; and &amp;#039;&amp;#039;&amp;#039;npm&amp;#039;&amp;#039;&amp;#039;&lt;/div&gt;</summary>
		<author><name>TristanSokol</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=Installing_Node.js&amp;diff=21410</id>
		<title>Installing Node.js</title>
		<link rel="alternate" type="text/html" href="https://hades.mech.northwestern.edu//index.php?title=Installing_Node.js&amp;diff=21410"/>
		<updated>2012-07-02T16:37:51Z</updated>

		<summary type="html">&lt;p&gt;TristanSokol: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
Make sure you check out the [[Node.js Node.js page as well]].&lt;br /&gt;
==Mac==&lt;br /&gt;
1. Go to [http://nodejs.org/ The Node.js webpage] &amp;lt;br&amp;gt;&lt;br /&gt;
2. Click Download&amp;lt;br&amp;gt;&lt;br /&gt;
3. Select the package appropriate for your system&amp;lt;br&amp;gt;&lt;br /&gt;
4. Open the .pkg you just downloaded&amp;lt;br&amp;gt;&lt;br /&gt;
5. install node.js &amp;lt;br&amp;gt; This will give you the two command line instructions &amp;#039;&amp;#039;&amp;#039;node&amp;#039;&amp;#039;&amp;#039; and &amp;#039;&amp;#039;&amp;#039;npm&amp;#039;&amp;#039;&amp;#039;&lt;/div&gt;</summary>
		<author><name>TristanSokol</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=Installing_Node.js&amp;diff=21409</id>
		<title>Installing Node.js</title>
		<link rel="alternate" type="text/html" href="https://hades.mech.northwestern.edu//index.php?title=Installing_Node.js&amp;diff=21409"/>
		<updated>2012-07-02T16:37:43Z</updated>

		<summary type="html">&lt;p&gt;TristanSokol: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
Make sure you check out the [[Node.js Node.js page as well]].&lt;br /&gt;
==Mac==&lt;br /&gt;
1. Go to [http://nodejs.org/ The Node.js webpage] &amp;lt;br&amp;gt;&lt;br /&gt;
2. Click Download&amp;lt;br&amp;gt;&lt;br /&gt;
3. Select the package appropriate for your system&amp;lt;br&amp;gt;&lt;br /&gt;
4. Open the .pkg you just downloaded&amp;lt;br&amp;gt;&lt;br /&gt;
5. install node.js &amp;lt;br&amp;gt;&lt;br /&gt;
 This will give you the two command line instructions &amp;#039;&amp;#039;&amp;#039;node&amp;#039;&amp;#039;&amp;#039; and &amp;#039;&amp;#039;&amp;#039;npm&amp;#039;&amp;#039;&amp;#039;&lt;/div&gt;</summary>
		<author><name>TristanSokol</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=Installing_Node.js&amp;diff=21408</id>
		<title>Installing Node.js</title>
		<link rel="alternate" type="text/html" href="https://hades.mech.northwestern.edu//index.php?title=Installing_Node.js&amp;diff=21408"/>
		<updated>2012-07-02T16:36:00Z</updated>

		<summary type="html">&lt;p&gt;TristanSokol: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
{{Other uses|Monospace (disambiguation)}}&lt;br /&gt;
&lt;br /&gt;
Make sure you check out the [[Node.js Node.js page as well]].&lt;br /&gt;
==Mac==&lt;br /&gt;
1. Go to [http://nodejs.org/ The Node.js webpage] &amp;lt;br&amp;gt;&lt;br /&gt;
2. Click Download&amp;lt;br&amp;gt;&lt;br /&gt;
3. Select the package appropriate for your system&amp;lt;br&amp;gt;&lt;br /&gt;
4. Open the .pkg you just downloaded&amp;lt;br&amp;gt;&lt;br /&gt;
5. install node.js &amp;lt;br&amp;gt;&lt;br /&gt;
    This will give you the two command line instructions &amp;#039;&amp;#039;&amp;#039;node&amp;#039;&amp;#039;&amp;#039; and &amp;#039;&amp;#039;&amp;#039;npm&amp;#039;&amp;#039;&amp;#039;&lt;/div&gt;</summary>
		<author><name>TristanSokol</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=Installing_Node.js&amp;diff=21407</id>
		<title>Installing Node.js</title>
		<link rel="alternate" type="text/html" href="https://hades.mech.northwestern.edu//index.php?title=Installing_Node.js&amp;diff=21407"/>
		<updated>2012-07-02T16:29:52Z</updated>

		<summary type="html">&lt;p&gt;TristanSokol: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
==Mac==&lt;br /&gt;
1. Go to [http://nodejs.org/ The Node.js webpage] &amp;lt;br&amp;gt;&lt;br /&gt;
2. Click Download&amp;lt;br&amp;gt;&lt;br /&gt;
3. Select the package appropriate for your system&amp;lt;br&amp;gt;&lt;br /&gt;
4. Open the .pkg you just downloaded&amp;lt;br&amp;gt;&lt;br /&gt;
5.&lt;/div&gt;</summary>
		<author><name>TristanSokol</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=Installing_Node.js&amp;diff=21406</id>
		<title>Installing Node.js</title>
		<link rel="alternate" type="text/html" href="https://hades.mech.northwestern.edu//index.php?title=Installing_Node.js&amp;diff=21406"/>
		<updated>2012-07-02T16:29:42Z</updated>

		<summary type="html">&lt;p&gt;TristanSokol: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
===Mac===&lt;br /&gt;
1. Go to [http://nodejs.org/ The Node.js webpage] &amp;lt;br&amp;gt;&lt;br /&gt;
2. Click Download&amp;lt;br&amp;gt;&lt;br /&gt;
3. Select the package appropriate for your system&amp;lt;br&amp;gt;&lt;br /&gt;
4. Open the .pkg you just downloaded&amp;lt;br&amp;gt;&lt;br /&gt;
5.&lt;/div&gt;</summary>
		<author><name>TristanSokol</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=Installing_Node.js&amp;diff=21405</id>
		<title>Installing Node.js</title>
		<link rel="alternate" type="text/html" href="https://hades.mech.northwestern.edu//index.php?title=Installing_Node.js&amp;diff=21405"/>
		<updated>2012-07-02T16:29:30Z</updated>

		<summary type="html">&lt;p&gt;TristanSokol: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Installing Node.js ==&lt;br /&gt;
&lt;br /&gt;
===Mac===&lt;br /&gt;
1. Go to [http://nodejs.org/ The Node.js webpage] &amp;lt;br&amp;gt;&lt;br /&gt;
2. Click Download&amp;lt;br&amp;gt;&lt;br /&gt;
3. Select the package appropriate for your system&amp;lt;br&amp;gt;&lt;br /&gt;
4. Open the .pkg you just downloaded&amp;lt;br&amp;gt;&lt;br /&gt;
5.&lt;/div&gt;</summary>
		<author><name>TristanSokol</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=Installing_Node.js&amp;diff=21404</id>
		<title>Installing Node.js</title>
		<link rel="alternate" type="text/html" href="https://hades.mech.northwestern.edu//index.php?title=Installing_Node.js&amp;diff=21404"/>
		<updated>2012-07-02T16:29:16Z</updated>

		<summary type="html">&lt;p&gt;TristanSokol: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Installing Node.js ==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
===Mac===&lt;br /&gt;
1. Go to [http://nodejs.org/ The Node.js webpage] &amp;lt;br&amp;gt;&lt;br /&gt;
2. Click Download&amp;lt;br&amp;gt;&lt;br /&gt;
3. Select the package appropriate for your system&amp;lt;br&amp;gt;&lt;br /&gt;
4. Open the .pkg you just downloaded&amp;lt;br&amp;gt;&lt;br /&gt;
5.&lt;/div&gt;</summary>
		<author><name>TristanSokol</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=Installing_Node.js&amp;diff=21403</id>
		<title>Installing Node.js</title>
		<link rel="alternate" type="text/html" href="https://hades.mech.northwestern.edu//index.php?title=Installing_Node.js&amp;diff=21403"/>
		<updated>2012-07-02T16:29:02Z</updated>

		<summary type="html">&lt;p&gt;TristanSokol: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Installing Node.js ==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
===Mac===&lt;br /&gt;
1. Go to [http://nodejs.org/ The Node.js webpage] &amp;lt;br&amp;gt;&lt;br /&gt;
2. Click Download&lt;br /&gt;
3. Select the package appropriate for your system&lt;br /&gt;
4. Open the .pkg you just downloaded&lt;br /&gt;
5.&lt;/div&gt;</summary>
		<author><name>TristanSokol</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=Installing_Node.js&amp;diff=21402</id>
		<title>Installing Node.js</title>
		<link rel="alternate" type="text/html" href="https://hades.mech.northwestern.edu//index.php?title=Installing_Node.js&amp;diff=21402"/>
		<updated>2012-07-02T16:28:44Z</updated>

		<summary type="html">&lt;p&gt;TristanSokol: Created page with &amp;quot; == Installing Node.js ==  ---- ===Mac=== 1. Go to [http://nodejs.org/ The Node.js webpage] 2. Click Download 3. Select the package appropriate for your system 4. Open the .pk...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Installing Node.js ==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
===Mac===&lt;br /&gt;
1. Go to [http://nodejs.org/ The Node.js webpage]&lt;br /&gt;
2. Click Download&lt;br /&gt;
3. Select the package appropriate for your system&lt;br /&gt;
4. Open the .pkg you just downloaded&lt;br /&gt;
5.&lt;/div&gt;</summary>
		<author><name>TristanSokol</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=Node.js&amp;diff=21401</id>
		<title>Node.js</title>
		<link rel="alternate" type="text/html" href="https://hades.mech.northwestern.edu//index.php?title=Node.js&amp;diff=21401"/>
		<updated>2012-07-02T16:26:08Z</updated>

		<summary type="html">&lt;p&gt;TristanSokol: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Node.js ==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Node.js&amp;#039;&amp;#039;&amp;#039; is a software system designed for writing scalable Internet applications, notably web servers. Programs are written in JavaScript, using event-driven, asynchronous I/O to minimize overhead and maximize scalability. Node.js consists of Google&amp;#039;s V8 JavaScript engine, libUV, and several built-in libraries. For more information, try checking out the wikipedia page about Node.js [http://en.wikipedia.org/wiki/Nodejs]&lt;br /&gt;
&lt;br /&gt;
__TOC__ &lt;br /&gt;
&lt;br /&gt;
===[[Installing Node.js]]===&lt;/div&gt;</summary>
		<author><name>TristanSokol</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=Node.js&amp;diff=21400</id>
		<title>Node.js</title>
		<link rel="alternate" type="text/html" href="https://hades.mech.northwestern.edu//index.php?title=Node.js&amp;diff=21400"/>
		<updated>2012-07-02T16:24:25Z</updated>

		<summary type="html">&lt;p&gt;TristanSokol: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Node.js ==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Node.js&amp;#039;&amp;#039;&amp;#039; is a software system designed for writing scalable Internet applications, notably web servers. Programs are written in JavaScript, using event-driven, asynchronous I/O to minimize overhead and maximize scalability. Node.js consists of Google&amp;#039;s V8 JavaScript engine, libUV, and several built-in libraries. For more information, try checking out the wikipedia page about Node.js [http://en.wikipedia.org/wiki/Nodejs]&lt;br /&gt;
&lt;br /&gt;
[[===Installing Node.js===]]&lt;/div&gt;</summary>
		<author><name>TristanSokol</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=Node.js&amp;diff=21399</id>
		<title>Node.js</title>
		<link rel="alternate" type="text/html" href="https://hades.mech.northwestern.edu//index.php?title=Node.js&amp;diff=21399"/>
		<updated>2012-07-02T16:18:08Z</updated>

		<summary type="html">&lt;p&gt;TristanSokol: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Node.js ==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Node.js&amp;#039;&amp;#039;&amp;#039; is a software system designed for writing scalable Internet applications, notably web servers. Programs are written in JavaScript, using event-driven, asynchronous I/O to minimize overhead and maximize scalability. Node.js consists of Google&amp;#039;s V8 JavaScript engine, libUV, and several built-in libraries. For more information, try checking out the [wikipedia page about Node.js][http://en.wikipedia.org/wiki/Nodejs]&lt;/div&gt;</summary>
		<author><name>TristanSokol</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=Node.js&amp;diff=21398</id>
		<title>Node.js</title>
		<link rel="alternate" type="text/html" href="https://hades.mech.northwestern.edu//index.php?title=Node.js&amp;diff=21398"/>
		<updated>2012-07-02T16:15:40Z</updated>

		<summary type="html">&lt;p&gt;TristanSokol: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Node.js ==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Node.js is a software system designed for writing scalable Internet applications, notably web servers.] Programs are written in JavaScript, using event-driven, asynchronous I/O to minimize overhead and maximize scalability. Node.js consists of Google&amp;#039;s V8 JavaScript engine, libUV, and several built-in libraries.&lt;/div&gt;</summary>
		<author><name>TristanSokol</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=Node.js&amp;diff=21397</id>
		<title>Node.js</title>
		<link rel="alternate" type="text/html" href="https://hades.mech.northwestern.edu//index.php?title=Node.js&amp;diff=21397"/>
		<updated>2012-07-02T16:14:46Z</updated>

		<summary type="html">&lt;p&gt;TristanSokol: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Node.js is a software system designed for writing scalable Internet applications, notably web servers.[1] Programs are written in JavaScript, using event-driven, asynchronous I/O to minimize overhead and maximize scalability.[2] Node.js consists of Google&amp;#039;s V8 JavaScript engine, libUV, and several built-in libraries.&lt;/div&gt;</summary>
		<author><name>TristanSokol</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=Node.js&amp;diff=21396</id>
		<title>Node.js</title>
		<link rel="alternate" type="text/html" href="https://hades.mech.northwestern.edu//index.php?title=Node.js&amp;diff=21396"/>
		<updated>2012-07-02T16:12:53Z</updated>

		<summary type="html">&lt;p&gt;TristanSokol: Created page with &amp;quot;Node js!&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Node js!&lt;/div&gt;</summary>
		<author><name>TristanSokol</name></author>
	</entry>
</feed>