Difference between revisions of "Week 4 Lab"

From Robert-Depot
Jump to: navigation, search
(Serial Interface, for debugging)
(modifying for rudimentary keyboard control)
Line 29: Line 29:
 
      
 
      
 
     if((val>='0')&&(val<='9'))
 
     if((val>='0')&&(val<='9'))
         analogWrite(ledPin, 25*(val-'0'));
+
         analogWrite(ledPin, 28*(val-'0'));
 
   }
 
   }
 
  }
 
  }
 +
 +
* Connect up the TIP120 driver circuit and motor from last week.  Voila! You have a simple motor speed control, through the computer.
 +
 
=== controlling from a Processing app ===
 
=== controlling from a Processing app ===
 
See the commented out Processing code at the end of Dimmer example.
 
See the commented out Processing code at the end of Dimmer example.

Revision as of 20:52, 20 April 2009

Interfacing

Serial Interface, for debugging

Sketchbook->Examples->Communication->ASCIITable

Basic text output from the microcontroller,

Serial.print()

and

Serial.println()

Use this to verify values and behavior inside of a program, for debugging. Examples:

  • Displaying values of sensors Serial.print(val)
  • Checking program flow.

Dimmer

Examples->Communication->Dimmer Controlling a physical LED with the computer.

modifying for rudimentary keyboard control

void loop()
{
 char val;
 
 // check if data has been sent from the computer
 if (Serial.available()) {
   // read the most recent byte (which will be from 0 to 255)
   val = Serial.read();
   
   if((val>='0')&&(val<='9'))
       analogWrite(ledPin, 28*(val-'0'));
 }
}
  • Connect up the TIP120 driver circuit and motor from last week. Voila! You have a simple motor speed control, through the computer.

controlling from a Processing app

See the commented out Processing code at the end of Dimmer example.

  • Computer -> Arduino
  • Arduino -> Computer

Extra

Connecting to various external devices and components: http://www.arduino.cc/playground/Main/ComponentLib