robotic arts: motion & motors/fall 2012/ ADA Compliance / Health and Safety contact: jrouvelle@mica.edu office hours: tues/thurs 2-4pm ***please make an appointment if you'd like to see me during office hours, i'm often working with students in other rooms during those times so there's a chance i won't be in my office if you stop by without an appointmet. week 1 , (classwork/assignment), week 2 , week_3 week_4, week_5 week_6 week 7 week_8 week_9 week_10 week_11 week_12 week_13 week_14, week_15 |
|||
I was taught that the finished sculpture was maybe the end of the paragraph. Once a sculpture was completed it was critiqued and put back on to the scrap pile. This way of working taught me to think sculpturally rather than to think about sculpture. charles ray
please remember that we're here to make art projects. always consider the materials here sculpturally - i.e, how what you make for this class occupies visual space - meaning please account for all of the elements of your works here (from the micro-controllers to power cords to the movements your projects make) compositionally. realize that every element of your project is a mark of some kind. kinetic works move through time within visual space. in this class your work will be considered in terms of its relationships to temporal and visual space(s). use the techniques you learn here essentially. artists can do miraculous things with minimal material. work hard to create pieces that are distinguished gestures composed of authentic marks. work hard to get to the core of your interests and discoveries and develop artworks that reveal those discoveries simply and clearly.
What to buy--> Arduino (uno or leonardo)
additional resources:
where to buy stuff, online, and locally:
*** introduction to the class, questions (yours), homopolar motor, G.R.I.M.E. this class is about making things move with electronics. i encourage you to work slowly and carefully so that you build a personal practice that incorporates smart motor control. please don't dream up a project, then try to make it. start exploring materials and become a keen observer, and allow your projects to evolve from there. "Adventures are precisely about not knowing, about having nothing to exchange that would hold the intellect in place within the knowledge economy, a form of epistemological poverty and hunger that concentrates the mind and propels it outside of itself, not towards the goals set by the master explicators but out into the infinite detours of intellectual discovery. To be adventurous is precisely not to arrive but, rather, to witness the arrival of the unexpected and the unpredictable." gary peters contemporary grant cycles have existed for, what, maybe three generations? They require artists seeking funding to invent the meaning of a work before it exists, turning practitioners from all media into primarily conceptual artists, as they propose work to fit the expectations, models, and agendas of their funders. (Whereas, arguably, the next closest model - the patron model - created a different sort of relationship that favored longevity rather than project-by-project attention.) -jason eppink from a comment on this hyperallergic post
we'll be covering:
here we go! G.R.I.M.E. IS AN ACRONYM FOR when you're building you project, bear these terms in mind, and take a moment to glance at this page and see if you can find a way to describe what is happening using some those words. art & tech ***the only rule in the class is that you are not allowed to shock yourself and die.
***here's another rule, neodymium magnets can harm your computer, SO DON'T GET THEM NEAR MY (your) COMPUTER!!!! no more wire hangers make this, experiment with it and realize a project:
feel free to integrate other materials into your work remember the G.R.I.M.E. at the end of class today we'll show what we did and please talk about your work using the words/concepts of G.R.I.M.E.
your homopolar works B.E.A.M. robotics, schematics, breadboards, free-forming. let's make one! we're going to make a BEAM robot today called a bi-core. we're going to
our guide will be this excellent tutorial by jerome demers
here's the schematic and parts list step 1
step 2
step 3
step 4
step 5
step 6
free forming
assignment
today we'll complete the circuit for the bi-core walker and free-form solder a version of it with the 74ac240 as the brain 74hc240 vs 74ac240 these are two similar chips in the 7400 series
the 74hc240 is more tolerant of higher input voltages but provides less current than the 74ac240
the 74ac240 can only handle a maximum of 7v, meaning you must use a voltage regulator if using a 9v battery
add photo/light detection
***photodiodes are polarized. the shorter leg is the cathode (0,gnd), the longer leg is the anode (+), please be sure you have identified the anode and cathode prior to placing the photodiodes in your breadboard. to make your Bi-Core respond to light, follow the diagram below.
please be sure this is working (i.e, the motor is spinning) before soldering!!
once you have both versions of the circuit working on your breadboard, get an extra 74ac240 + all other parts, and using your breadboarded version as a guide, follow this tutorial and free-form the robot. be sure to carefully include the 7805 as a voltage regulator because the 74ac240 cannot handle more than +5v dc. free-form/solder this circuit following: ***don't solder the resistor, just the capacitors!! (see below)
please don't solder anything until you are confident that you can both solder comfortably and that your circuit is put together the right way! locate materials to build the body - remember how electricity moves across metal - avoid connecting legs of the robot to something metal. assignment:
intro to arduino, transistors, pulse width modulation (controlling the speed of a reversible dc motor)
***please bring a laptop to class to work on - if you don't have one, please let me know! ***i'm here to help, but require that prior to asking me to look at your code you put comments in it (see below).
intro to arduino download and install of the development environment from here arduino sketches are comprised of (control) structures, variables, and functions
shall we? code example 1 ***when opening example sketches that you will make changes to, ALWAYS use Save As..: 1. examples-->basics-->blink /* void setup() { void loop() { 2. upload it. working?
how to debug your code using the Serial function 1. follow the link above, and copy/paste the code into a new sketch 2. upload it. 3. open the terminal window and watch what happens. ***the terminal window is a great help when working with the arduino. you can have your code send whatever you want to keep track of by using the "Serial.println(variable)" function. 4. to familiarize yourself with this functionality, add Serial.println to the Blink sketch like this: /* void setup() { void loop() {
5. upload it 6. open the serial monitor and see what you find. ok?
controlling motors with the arduino phase 1:
speeding up and slowing down the motor
in class exercise:
w5ek e/aka remembering brian austen green's rap record
arduino + h bridge = speed and direction control for dc motors! controlling the speed and direction of a dc motor with an h-bridge breadboard this:
Parts list:
your transistors are in a different case than the ones in the image, you'll need to locate the corresponding pins to place the transistor properly in your circuit note the metal tag on the body of the transistor, yours are in a package called t0-18
the package of the transistors in the circuit image is called a t0-92, this is a standard transistor package. note the flat side of the head.
compare and transpose:
now build the h-bridge, call me over when you're done so i can take a look, then
ready for some code?
now we change gears
make a jig to create the shapes (you can also use your hand and a thin nail)
assignment
making gears with the robot called reprap, some inspiration for your projects
"it's all geometry, process, and materials"
inspiration
the reprap
dr. adrian bowyer, inventor of the reprap
tool chain - you'll need these opensource software packages to print your gears
the details: I.
when you have your model in openscad, follow these steps to prep it for netfab studio basic
II.
do this:
III.
IV.
assignment
your paperclip machine h-bridge reprap gear projects
**TIP142 (Q1,Q2) are NPN transistors
**TIP147 (Q3,Q4) are PNP transistors
parts list:
2x npn transistors, notice the circuit diagram to the right of the image, on the picture below the npn are the N-channel FETs
2x pnp transistors, notice the circuit diagram to the right of the image, on the picture below the pnp are the P-channel FETs
open this circuit image in a new tab build it!
spinning?
code
assignment
strong(er) motors!
new motor: servo
where to buy stuff
**we're about to start working with a servo motor, and to do so, we'll need to cut/strip three wires. 1. DISCONNECT YOUR ARDUINO FROM YOUR USB PORT!!! 2. wire your servo and connect it to the arduino like this ---> Servo motors have three wires:
The power wire should be connected to the 5V pin on the Arduino board. The ground wire should be connected to a ground pin on the Arduino board. The signal pin should be connected to a digital pin on the Arduino board. ***Note servos draw considerable power, so if you need to drive more than one or two, you'll probably need to power them from a separate supply (i.e. not the +5V pin on your Arduino). Be sure to connect the grounds of the Arduino and external power supply together.
***PAY CLOSE ATTENTION TO YOUR CONNECTIONS PRIOR TO POWERING (CONNECTING TO THE USB PORT). IF YOU ARE NOT SURE WHAT GOES WHERE PLEASE ASK. IF YOU REVERSE THE POLARITY OF THE SERVO YOU WILL FRY IT. THIS IS NOT GOOD....
FYI: how servos work --> Here’s the one minute overview of how you control servos. Most servos rotate 180 degrees. Servos are controlled by a single digital pin. The way to tell a servo what to do is by sending them a high pulse for a certain duration. Most standard RC servos use a pulse of 1 millisecond to indicate 0 degrees of rotation and 2 milliseconds for 180 degrees. That means 90 degrees is set via a 1.5 millisecond high signal. One problem is that our servos have minimal memory. They forget how the most recent pulse you sent them was after 50 milliseconds or so. This means just telling a servo what what position to go to once is not enough. You need to constantly remind it by sending it a series of pulses, like this: one advantage of using an arduino is that there is a library that makes sending your servo to a specific angle/position very straightforward:
once you are positive your servo is attached to your arduino correctly, open up the arduino IDE, and navigate to the servo sweep example like so:
**notice that it defaults to attaching the servo to digital pin 9, if you've attached your servo to digital pin 2, as in the photo above, you can either move the wire to pin 9, or change the code to myservo.attach(2) now program the arduino with the sweep code. working? let's study the code -->
now let's alter it to include some Serial.println() functions. **remember to put the Serial.begin(9600) in the void setup () function ** then put two Serial.println(pos) function in the appropriate place in the void loop() function now start making changes to the code that will affect the pos variable, and watch the movement of the motor while keeping an eye on the terminal window. ok? next, let's change the delay(15) function so that the number 15 is contained in a variable, let's call the variable t look carefully at the sweep example and figure out how to change the 15 to a variable called t that contains the number 15. next add another Serial.println(t) function in the appropriate place in the code. try your code. working? now change the value in t to another number, and see what happens. *** you don't have to use for loops for the servo, you can send the motor specific angles and then give it time to reach them, like this:
combine for loops (sweeps), with direct movements, code
code flows from top to bottom, and repeats forever within the void loop() function you can alter the code by adding additional for loops with whatever angles/t's (delays) you like.
work with adding new for loops that create smooth transitions between pairs of for loops
take a look at the parts that came with the servo. the gears that attach to the servo are called arms and sometimes horns. for your assignment you'll be altering the sweep code and creating a modest project using the servo, by attaching something to it, and adding for loops. ***the servos you have are not very strong - you can damage them by asking them to move something heavy - work only with light materials for this project! ***save your code (via the save as... technique) frequently. before you leave, if you are not using your own laptop, you can copy and paste your code(s) into the body of an email.
combining reversible dc motors and servos, code.
assignment create a motion study with the stronger DC motor and the servo buy yourself a motor (see above) have both motors change direction.
relays and other motors (blowers, pumps, solenoids) how relays work how to control them w/ the arduino this omron has a 12v coil....
code:
arduino + a Solid State relay:
code:
how (and why) to combine arduino sketches.
how: open up the two sketches you want to merge arrange the arduino IDE so that you can see both sketches you can't simply copy one sketch and paste it into another, because duplications are bad! duplicate variable names between sketches will cause chaos in your code. if you have duplicate variable names in your two sketches then rename all of the duplicates in one of your sketches, i.e.,
duplicate functions (including void setup and void loop) can only appear once in each sketch! to review
arduino sketches have three parts:
assignment collaborative motor project due at the end of class next week - meaning you can have the second half of class today and the first half of class next time to work on them.
collab crit (2nd half of class - first half is setup/finish...) final project intro assignment document your collaborative project: short video (2-3 mins max), edit in iMovie, or the editing software you prefer
4 still images bring the documentation next week and we'll look at it from the teaching station. gather supplies for your final project, after the presentations of your documentation we'll work on your final projects and review what we've studied thus far
project documentation exhibit planning field trip to the gallery space after the field trip we'll have a review session to prepare you for your final projects assignment assemble your plans and materials for your final project, the next two classes will be final project workshops so please be sure to bring materials for your final project to class have a great thanksgiving!
show update opening will be dec 14th - we'll coordinate times with ledelle we need to have a title and brief description by friday to jack. we'll setup a google group tonight and discuss scheduling final project workshops tonight and next week final crit can be friday, dec 14th in the gallery before the opening assignment please work on your final projects and bring materials to work on in class - if you'll be working in the gallery please let me know.
the show/final project workshop the show will open on december 14 @6pm food? assignment we should begin installing on site next week, let's coordinate whether we'll be meeting at copy cat or in station.
Learning Resource Center ADA Compliance Statement Any student who feels s/he may need an accommodation based on the impact of a disability should contact the instructor privately to discuss specific needs. Please contact the Learning Resource Center at 410-225-2416, in Bunting 458, to establish eligibility and coordinate reasonable accommodations. For additional information please refer to: http://www.mica.edu/LRC Health and Safety Compliance It is the responsibility of faculty and students to practice health and safety guidelines relevant to their individual activities, processes, and to review MICA's Emergency Action Plan and attend EHS training. It is each faculty member's responsibility to coordinate with the EHS Office to ensure that all risks associated with their class activities are in brief, if you do the work on the syllabus, don't skip class, return from dinner, are on time, participate in crits and are a good member of the class community you will earn at least a B. if you skip class, are late, don't do the work, fall asleep, are disruptive, and don't participate you will get lower than a B. if you are having trouble with the class it is your responsibility to meet with me so that we can work together to improve your experience. the fast track to a low grade: skip crits. ***skipping crits without notifying me, in writing, prior to the crit and not doing/presenting the work due within one week will lower your final grade by one full letter grade for each crit you elect to ignore. We will have four crits during the semester so if you skip all of them you will fail the class. to get an..... A: perfect attendance, on time arrival at the beginning of class, on time return from dinner. never falling asleep during class, all assignments completed on time, active participation in all critiques, exceptional work, kind, courteous, generous member of the classroom community. B: no more than one absence/one later arrival to class/one late return from dinner/one non-return from dinner. no falling asleep in class, all assignments completed on time, thoughtful, fully completed assignments, participation in all critiques. friendly classroom demeanor. C: average engagement with class, no more more than two absences/occasional late arrival to class/occasional late return from dinner/occasional non-return from dinner. mediocre projects. D: frequent absence, lateness, minimal effort on projects, minimal participation in crits. F: general non-performance, including, but not limited to: minimal attendance, minimal work done, frequent absence, disruptive behavior, sleeping in class, etc.
| |||