1. Building off of this week’s examples.
    • Specifically, take a look at the 00_SerialArduinoToComputerOneValue and 01_SerialArduinoToComputerMultipleValues examples for sending data back and forth between Arduino and openFrameworks.
    • Augment your self-portrait to be controlled by input from the Arduino.
    • Modify your self-portrait to receive Serial data from the Arduino.
    • Create an Arduino application that can send at least one button input and at least one analog value (e.g. a potentiometer) that will modify
  2. Review Serial Communication
    • What is “serial” communication?
    • What is “parallel” communication?
    • What does it mean for serial communication to be asynchronous?
      • What is an example?
    • What does it mean for serial communication to be synchronous?
      • What is an example?
    • What does UART mean?
    • What are I2C and SPI and when are they used?
    • What is a “logic level” and what are common voltage values for logic levels?
    • Why do we have to specify the communication speed when using UART-style serial communication?
      • What are bauds?
      • What are data bits?
      • What are parity bits?
      • What are stop bits?
    • What are the difference between these four Arduino expressions?
      • Serial.print("127");, Serial.print(127);, Serial.println(127); and Serial.write(127);?
      • What are the advantages of using one over the others?
    • What is “ASCII” and why is it used?
    • If you are unsure of the answers any of those questions, look it up or check your notes. If you are still are unclear post a question to the forum and we’ll discuss it.
  3. Read: ofBook OOps!

  4. (optional) Serial Communication Reading Part 2
  5. (optional) Supplemental tutorials (for these, you may use Processing or Max/MSP or openFrameworks if you like).