The course materials that define the Living with the Lab experience are grouped below by topic. These same course materials are also linked to the course schedules for ENGR 120, 121 and 122 where they are mixed together to build the Living with the Lab experience.  
      
        
          | course | topic | downloads | Arduinolanguage
 | 
        
          | 120 | 
            
              | basics: |  
              |  | - using a multimeter |  
              |  | - Arduino anatomy |  
              |  | - resistor color code and LEDs |  
              |  | - basic breadboarding |  
 | PowerPoint |  | 
        
          | 120 | tips for installing the Arduino Integrated Development Environment (IDE) | Windows Mac
 |  | 
        
          | 120 | why won't my Arduino work? | PowerPoint |  | 
        
          | 120 | introduction to Arduino programming | PowerPoint | header, setup and loop functions | 
        
          | 120 | make an LED flash | PowerPoint | pinMode() digitalWrite()
 delay()
 | 
        
          | 120 | "for loops" to control LEDs | PowerPoint | forint
 | 
        
          | 120 | KVL & breadboarding with the Arduino | PowerPoint |  | 
        
          | 120 | analog and digital signals (discussion)
 | PowerPoint | digitalRead()  discussion analogRead()  discussion
 | 
        
          | 120 | binary numbers & data types (discussion) | PDF | boolean, byte, int, long, float, char | 
        
          | 120 | photoresistors to control LEDs (analog input with a voltage divider circuit)
 | PowerPoint | intSerial.begin()
 Serial.println()
 analogRead()
 if
 | 
        
          | 120 | KCL & current measurement | PowerPoint |  | 
        
          | 120 | whiskers / switches | PowerPoint | int pinMode()
 digitalRead()
 digitalWrite()
 if/else
 | 
        
          | 120 | servos - manually creating pulses | PowerPoint | delayMicroseconds() for loops
 | 
        
          | 120 | servos - using the servo library | PowerPoint | #include <Servo.h>servo()
 attach()
 writeMicroseconds()
 
 | 
        
          | 120 | robot roaming with whiskers | PowerPoint | functions | 
        
          | 120 | line following tips | PowerPoint | analogRead() if/else
 servo library
 functions
 | 
        
          | 120 | piezospeakers | PowerPoint | digitalWrite() delayMicroseconds()
 | 
        
          | 121 | LCDs: wiring and programming | PowerPoint | Serial.begin() Serial.print()
 Serial.write()
 | 
        
          | 121 | conductivity sensor calibration with LCD output | PowerPoint | analogRead() digitalWrite()
 Serial.print()
 | 
        
          | 121 | transistors for switching | PDF | digitalWrite() | 
        
          | 121 | transistor theory - how they work | PDF |  | 
        
          | 121 | transistors for switching | PDF | digitalWrite() | 
        
          | 121 | relays | PowerPoint |  | 
        
          | 121 | cascaded switching of a solenoid valve | PowerPoint | digitalWrite() | 
        
          | 121 | RTD circuit and potentiometers | PowerPoint | analogRead() | 
        
          | 121 | Fishtank programming tips (general troubleshooting) | PowerPoint | float, double, intSerial.print()
 | 
        
          | 121 | calibration of RTDs and control of temperature | PowerPoint | analogRead() |