Details:
The new finite-state machine exercises are now in the github repo. Also, the overview is here, the first exercise using Pd is here, and the second exercise using Arduino is here.
]]>Today we are reviewing prototype designs for the assignment and reflecting on the meanings of autonomy.
Deliverables for today:
Criteria for an engineering review. Will it work?
Criteria for a project review. Is it a compelling idea?
Is it autonomous?
Dave Touretsky has written very usable instructions for our IDeATe laser cutters.
]]>SolidWorks demo materials:
It’s possible to breadboard an illustrative circuit in five minutes, but less possible for mechanical design examples, so the “quick exercise” model we used for circuits doesn’t work as well. My proposal for introducing mechanical design and fabrication is to incorporate it into a technical assignment which will just be evaluated on technical merit. The purpose of the assignment is to learn and demonstrate technical skills. But even this assignment should allow some free choices, and ideally, it would inspire ideas for more human-centric projects.
Learning goals:
The minimum goal is to build upon the one-in-one-out theme by designing a single-axis controlled mechanism. Even a single actuated freedom can have complex behavior by using time effectively. In a conventional controls class, the feedback would normally be taken directly from the axis in order to control the velocity and position of the actuator. However, successful feedback control only requires that the property being sensed be a function of the system state. So for example, a motor could swing around a sonar sensor taking measurements of the local world geometry, and a controller could send currents to the motor which achieve some desired pointing goal such as aiming the sensor at the nearest object. In general, this is much harder than simply sensing a joint, but it paves the way for more interesting applications.
For an example of what can be possible with just a single motor (and possibly passive freedoms), search for “Acrobot” on line and you can find examples like this this acrobot demo or this one.
The performance of the device will be evaluated subjectively on the design and on how well it achieves the stated behavioral goal. If the performance can be quantified we can incorporate an objective measure.
]]>Be sure not to run the Arduino IDE and an Arduino-based Pure Data patch at the same time; they will compete for the serial port and neither will work correctly.
Please work out your project group and project idea by the end of class for the 1.c.v “Dream Machines” project.
End of class: brief tour of the Media space next door.
]]>Git hint: for a read-only checkout of the course materials, you can skip the history, which will save space and go faster:
git clone --depth 1 https://github.com/cmuphyscomp/physcomp-examples.git
Be sure to pull an updated version of the course materials from github each day, the materials are frequently changing.
Pd on a Mac is defaulting to Airplay output; be sure to set the default audio device to ‘built-in audio’ using the Media menu.
For Mac OS X we recommend the 32-bit version of Pd, not the 64-bit version.
The Arduino IDE versions 1.0.5 is missing the LED_BUILTIN definition for the Uno; the OneInOneOutASCII sketch has been updated.
Windows serial ports have a name beginning with COM, e.g. COM12.
Serial ports (e.g. your Arduino) can only be opened by one program at a time. You may need to close the Arduino IDE for Pd to connect properly.
The LED PWM exercise should be rewritten to use Pin 3; Pin 2 won’t generate a proper PWM signal, our mistake.
The Arduino Pd exercise depend on libraries not included with Pd vanilla. The simplest solution is to use Pd-extended.
]]>The Pololu A4988 module is a newer, compatible replacement for the A4983 module used in the stepper motor exercise.
The A4988 is rated for an 8-35V motor supply voltage, so it is not compatible with the 2.7V stepper motors.
The DRV8834 stepper motor driver is rated for a 2.5–10.8V motor supply voltage and should be compatible with the A4988 pinout.
The pins should be soldered on the back side of the A4988 such that the driver chip is visible. This does mean that the pad silkscreen text is on the bottom and out of sight, but allows the chip to dissipate heat. If your module is *not* soldered in this orientation, please be especially careful when wiring the circuit.
If you are unclear on the wiring of a stepper motor, use a DMM to measure the resistance between the wires. A bipolar stepper will have four wires, two per coil, and the low-resistance of the coil should be unambiguously measurable.
The digital input using a switch needs a pullup resistor to function properly, otherwise the input pin is switched between an ambiguous ‘floating’ state and ground.
The thermistors we have in stock are Vishay parts from SparkFun, who hosts a data sheet.
]]>Many projects are facing the problem of amplifying or inverting an analog sensor signal to match the requirements of an analog actuator output. A versatile solution is to use an op-amp, addressed in a new exercise: Op-Amp Level Translation.
]]>Don’t forget to review day two.
All in all we heard a lot of great project ideas today. In nearly every case we asked for more specificity: who will use it? Where? How? Why? For musical projects, with which piece of music would it work? What’s the overall narrative?
All ideas can be rendered at all scales. The essence of a big idea can be isolated down to an elegant small example.
It may help to think of this project as the first step in a larger project; for more ambitious ideas try to think of the smallest first step which can be tested with some basic circuitry and mechanism.
If you need other parts, please fill out the purchasing form linked on the top menu, and we will do our best to accommodate you.
For some areas of inquiry which were addressed there is a lot of prior art; please look up the relevant artists which were mentioned and find related projects for inspiration and focus.
A couple of specific technical questions which were answered:
The relay schematic is a logical illustration, unlike the pinout illustration which shows the physical connection layout; the two only correspond via the pin naming. This is common in electronics diagrams since schematics are intended to convey the logic of an electronics design.
If an analog sensor doesn’t emit the right voltage to drive a particular circuit, it is possible to construct a passive resistor network add an offset voltage, or an active op-amp circuit to offset and scale the signal to the appropriate level. E.g., the Sharp rangefinder output is too low a voltage to directly trigger our MOSFETs.
]]>Smoking!
Please be sure to:
The modular illuminance sensors for the transducers exercise are brand-new and will need the three-pin connector soldered on. I gave a few quick soldering lessons, please teach each other and watch tutorials.
My essential soldering tips:
Please remember that Google and the entire internet is always at your fingertips to answer factual questions.
Apparently our RGB LEDs are common-anode (determined empirically). The longest lead is the common.
Move through the exercises as fast as possible; you’ll want to spend time on the first project, due Sep. 10.
]]>