Yeseul Song Fall 2019

This page will be updated occasionally.

Class Times

Fall 2019

Friday 9:00am – 11:30am |  Room 410

Office Hours Calendar Link

Class Date Exceptions

There is no class during the Thanksgiving break (November 27-29, 2019).

Useful links 

A Few Good Reads

Class Notes

  • Class 1(September 4, 2019): Lecture slides from the class
    • Topics: physical computing, interaction, class structures
    • You can view the slides when you log-in with your NYU account. Please use them only for your own reference and don’t distribute them without my permission.
  • Class 2 (September 11, 2019)
    • Figure 1 and Figure 2 show the LED circuit I demonstrated during the class, which you can use for your LED+switch circuit project. You don’t need to use a breadboard for this assignment unless you want to, but it should be useful for prototyping at least. The value of the resistor in the images is 220 ohm, which is the smallest value you have in your kit. If you want the LED to be brighter, you can use a 80~100 ohm resistor instead. You can break any point of the circuit and insert your switch that will enable you to turn on and off the LED.
      LED circuit schematic: the power (3.3v) on the top is connected to a red LED through a 220 ohm resistor. The LED is connected to the ground.
      Figure 1. LED circuit schematic

      Arduino nano 33's 3.3v pin is connected to the + line of a breadboard. The ground pin is connected to the - line of the breadboard. An LED's cathode is connected to the ground line of the breadboard. The anode is connected to a 220 ohm resistor that is connected to the + line of the breadboard.
      Figure 2. LED circuit powered by arduino nano 33
  • Class 3 (September 18, 2019)
    • Arduino Nano 33 IoT pinouts

      An annotated image of Arduino Nano IoT 33 pinouts. The annotations surrounding the image show names of each pin. From the top left to right: D12, D11, D10, D9, D8, D7, D6, D5, D4, D3, D2, GND, RST, RX0, TX1. From bottom left to right: D13, 3.3V, REF, A0, A1, A2, A3, A4, A5, A6, A7, VUSB, RST, GND, VIN
      Figure 3. Arduino nano iot 33 pinouts
    • How to Solder by Andy Sigler
  • Class 4 (September 25, 2019)
  • Class 5 (October 2, 2019)
  • Class 6 (October 9, 2019)
    • Serial Communication: Arduino to p5.js (see Table 2)
      • When you send a stream of data that is between 0 and 255, you can simply use Serial.write() from Arduino and from p5.js to send and receive 1 byte at a time. No parsing involved.
      • When you send numbers that is out of range of 0-255 or characters, you need to package each data by putting each data on each line–to do that, use Serial.println() from Arduino. To unpack the data, use serial.readLine() from p5.js. To use it as a number, use Number() function on p5.js.

        It's a table which functions to use on arduino and p5.js to send binary and ascii data each.
        Table 2. Serial Communication: Arduino to p5.js
      • Codes from the in-class lab: see your email
  • Class 7 (October 16, 2019)
    • Serial Communication: p5.js to Arduino (see Table 3)
        • “The serial.write() function is versatile. If you give it a variable or literal that’s a numeric data type, it will send it as its raw binary value. If you give it a string, however, it will send out that ASCII string” (quoted from Lab: Serial output from p5.js

          To send data from p5.js to Arduino through serial communication; for values that is 1 byte, use serial.write() to send from p5.js and to receive from Arduino. To send multi bytes, use serial.write(values to send + “,”) from p5.js and Serial.parseInt() from Arduino.
          Table 3. Serial Communication: p5.js to Arduino
        • Codes from the in-class lab: see your email


Class Blogs

Originally written on August 21, 2019 by David Rios
Last modified on October 16, 2019 by Yeseul Song