Class Topics to Cover

These are the in-class topics we want to cover, listed at what is hopefully a single-class (one hour, with examples) granularity level. We need to collect or develop course materials (handouts, designs, videos, student reference material), for distribution via web or youtube. This is “The Menu” teachers can pull lessons from!

Probably topics 1-20 are the fundamentals, that individual teachers can basically already handle; they can use the fellows in class mostly for one-on-one student help.  The main CYBER-Alaska subjects of interest are highlighted at the end in bold; for these subjects, teachers can rely more heavily on the fellows for in-class lectures, and example project design.

Topics:

  1. Basic circuits [Probably handled by teachers already, find & link good existing references.]
    1. COMPLETING the circuit! (Two wires, like AC plug: hey!  There are no one-contact plugs!)
    2. AC versus DC
    3. Wires, switches
    4. Volts, amps, ohms
    5. Series & parallel
    6. How to use a multimeter for resistance, volts (parallel) & amps (serial).
  2. Wires & soldering [In-class demos of soldering.]
    1. Have kids assemble simple LED circuit.
    2. Hands-on wiring examples
  3. Photolithography: PCB fabrication
    1. Iron-on circuit board fabrication, via a laser printout from any vector program, like Illustrator or Inkscape?
    2. Tour of Eagle CAD for circuit layout, followed by sending the Gerber files off to iteadstudio.
    3. This is a scaled-down version of photolithography, used for making semiconductors and MEMS.
  4. Basic animation & programming concepts
    1. Mark recommends MIT’s “Scratch” sprite application, built via drag-and-drop onscreen (on GO move X by 10); there’s also a Scratch for Arduino extension. Mike has used “GameMaker“, which supports drag and drop, but also has a text mode.  Building our own Arduino-style animation backend with JavaScript or C++ would be another alternative.
  5. C++ style programming & animation
    1. Start with very simple, clear example code.  Mike’s C++ sprite library?
    2. Cover variables, conditionals, loops, functions
    3. Cool examples are key: javascript interactive calculation, animation, graphing?
  6. Arduino IDE programming basics
    1. Do we even use the IDE?  Or use Dr. Lawlor’s web browser JavaScript interpreted version?
    2. First project: LEDs?  Color?  Switches?  (Or just pick and choose from existing Arduino tutorials?)
  7. Microcontroller I/O: digital & analog pins
  8. Tour of Sensors
    1. Nearly everything runs to an analog input on microcontroller.
    2. Converting resistance to voltage via a voltage divider.
    3. Thermistor, accelerometer, …
    4. Generally, try to answer “What’s inside the black box?”
  9. Transistors & diodes: N, P, depletion region [Are these important?]
    1. Moving charge carriers
    2. Find existing materials for this, like this NPN transistor animation.
  10. Battery chemistry: charge carriers [Do we need this for CPS?  Probably not!]
    1. Moving ions in solution
    2. Potato/lemon/saltwater zinc/copper battery
    3. Voltage, 9v versus 6v versus 1.5v.
    4. Understanding mAh capacity.
    5. Why are batteries always DC?
  11. Electromagnetism [Again, probably not for CPS, beyond fundamentals.]
    1. Play with neodymium magnets
    2. Play with coils of wire, electromagnets
  12. Servo motors
    1. Take a servo apart: little brushed motor, potentiometer, big geartrain.
    2. Build a RoboBrrd or other simple servo project with personality?  Dancing robots, like the Robonova (each limb is basically a chain of servos).
    3. R/C servo interfacing: pulse width digital signal.  Arduino signal generation.
  13. Brushed DC Motors
    1. What do we say about commutation?
    2. Dual-crank motor demo
    3. Basic mechanically switched wheeled platform (+, gnd, – switch)
    4. Would it be worthwhile to have kids build up a little motor kit?
    5. Would it be worthwhile to compare with steppers?  With brushless 3-phase motors?
  14. Gears, speed, torque
    1. Examples of gear trains
    2. Worm gears?
  15. Electronic motor speed control
    1. Transistor (or relay?) switching
    2. H bridge
    3. Bang-bang control versus proportional control
      1. For example, PWM can be used to vary motor power, by varying the electrical duty cycle.
  16. Robot chassis movement schemes
    1. Skid steer two wheel drive
    2. Steerable wheels
    3. Omni wheels (for smooth surfaces)
    4. Hexapod stability
    5. Balancing, like Segway.  NXT has accelerometer sensors available.
    6. Bipedal locomotion
  17. Object manipulation
    1. How do you pick up a: whiffle ball, tennis ball, hockey puck?
    2. Coffee grounds + vacuum manipulator.
  18. Encoders (& interrupts?)
    1. Encoders on wheeled platform
  19. Motion control through PID [Do we actually use this?]
  20. Robot to PC Communication and Networks
    1. Bluetooth: built in on NXT; for Arduino there’s a IOIO bluetooth board.
    2. Wifi: for NXT the Samantha module plugs into the USB port; for Arduino it’s theoretically possible to hook up an Android device as a USB Host.
    3. Radio: XBee
  21. Handling Input
    1. Arduino side analog stick, or PC side Joystick
  22. Online Interactive Simulation
    1. Start with cartesian coordinates: find x and y axes, origin (with trig?)
    2. Move things around by changing the x and y values.
    3. Simple Eulerian integration:  value += timestep * rate of change;
    4. Software: good parameter tweaking interface?
  23. Path Planning & maze solution
    1. Flood fill algorithm (dynamic programming)
  24. Artificial intelligence: automated parameter tuning, neural networks
  25. Image Sensors: Webcam, Kinect
    1. Pixels, image processing
    2. Color matching

Overall goal is to connect:

  • Real physical robot hardware
  • …sending data to a realtime simulation…
  • …which in turn is used to control the physical hardware.

It would be worthwhile to build a big matrix connecting the above projects with separate skills (wiring, discrete components, programming, event-driven design, …): introductory, advanced.  These should also relate to the Alaska state standards in technology, math, and science.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>