ME 333 Readings, Videos, and Sample Code

From Mech
Jump to navigationJump to search

Readings, videos, exercises, and sample code for ME 333 Introduction to Mechatronics.

You can download the most updated version of the class readings here.

Appendix: A Crash Course in C

Reading: A Crash Course in C, C Compilers

Videos:

  1. Writing your first program in C, HelloWorld.c (5:09). Chapter A.1. Exercises: 1.
  2. Differences between C and MATLAB (7:30). Chapter A.2. Exercises: 2, 3.
  3. Binary and hexadecimal (Base 2 and 16) (4:47). Chapter A.3.1. Exercises: 4, 6.
  4. Data types (5:30). Chapter A.3.1. Exercises: 8, 10.
  5. Using the data types (3:49). Chapter A.3.1. Exercises: 11.
  6. Representations of data types (5:15). Chapter A.3.1. Exercises: 12, 13.
  7. Pointer basics (5:54). Chapter A.3.2. Exercises: 14, 15.
  8. Sample program: printout.c (5:55). Chapter A.4. Exercises: 16 (not covered in video, reading only) 17, 18.
  9. Sample program: datasizes.c (2:57). Chapter A.4. Exercises: 9.
  10. Sample program: overflow.c (2:43). Chapter A.4. Exercises: 19.
  11. Sample program: typecast.c (5:43). Chapter A.4. Exercises: 20.
  12. invest.c, part 1/5: intro to a typical C program (4:18). Chapter A.4. Exercises: 23.
  13. invest.c, part 2/5: overview (3:58). Chapter A.4. Exercises: 24, 25.
  14. invest.c, part 3/5: sections 1-4: program comments, preprocessor commands, new data type definitions, and global variables (4:48). Chapter A.4. Exercises: 26.
  15. invest.c, part 4/5: sections 5-6: helper function prototypes and the main function (4:40). Chapter A.4.
  16. invest.c, part 5/5: section 7: helper functions (7:42). Chapter A.4. Exercises: 28-30, 32, 33 (some material covered in reading only).
  17. Header files and libraries (9:31).

Sample Code:

Microchip Documentation:

Microchip PIC32MX795F512L


Chapter 1: Quickstart

Reading: Chapter 1

Videos: none

Sample Code:


Chapter 2: Looking Under the Hood: Hardware

Reading: Chapter 2

Videos:

  1. Introduction to the PIC32 microcontroller (5:10).
  2. Introduction to the PIC32 architecture (6:02).
  3. The PIC32 physical memory map (5:20).
  4. Introduction to the NU32 development board (4:03).

Sample Code: none


Chapter 3: Looking Under the Hood: Software

Reading: Chapter 3

Videos:

  1. The PIC32 virtual memory map (5:24).
  2. Understanding simplePIC.c (5:42).
  3. Digging through PIC32 header files (7:12).
  4. The PIC32 executable build process (4:26).

Sample Code:


Chapter 4: Using Libraries

Reading: Chapter 4

Videos:

  1. The NU32 library (5:28).

Sample Code:


Chapter 5: Time and Space

Reading: Chapter 5

Videos:

  1. Timing PIC32 code and the disassembly file (8:27).
  2. The PIC32 memory map file (7:15).

Sample Code:


Chapter 6: Interrupts

Reading: Chapter 6

Videos:

  1. Overview of interrupts on the PIC32 (4:29).
  2. PIC32 interrupt SFRs (6:22).
  3. The PIC32 shadow register set (1:25).
  4. Seven steps to using an interrupt with the PIC32 (3:47)
  5. PIC32 interrupt code example (4:10)


Sample Code:


Chapter 7: Digital Input and Output

Reading: Chapter 7

Videos:

  1. Intro to digital I/O on the PIC32 (6:24)
  2. Change notification on the PIC32 (1:18)
  3. PIC32 program with digital I/O and change notification (9:02)

Sample Code:


Chapter 8: Counters / Timers

Reading: Chapter 8

Videos:

  1. Intro to PIC32 counter/timers (5:59)
  2. PIC32 timer SFRs (5:55)
  3. Using PIC32 timers to generate interrupts (3:34)
  4. Example PIC32 timer interrupt program (5:08)

Sample Code:


Chapter 9: Output Compare

Reading: Chapter 9

Videos:

  1. Introduction to the PIC32 output compare (5:30)
  2. A PWM program on the PIC32 (3:12)
  3. Using output compare to create an analog output (3:09)

Sample Code:


Chapter 10: Analog Input

Reading: Chapter 10

Sample Code:


Chapter 11: UART


Chapter 12: SPI Communication


Chapter 13: I2C Communication


Chapter 14: USB


Chapter 15: Input Capture


Chapter 16: Comparator


Chapter 17: Watchdog Timer


Chapter 18: Storing Data in Flash Memory


Chapter 19: Power Saving


Chapter 20: Real-time Clock and Calendar


Chapter 21: Controller Area Network (CAN)


Chapter 22: Direct Memory Access


Chapter 23: Sensors and Signal Conditioning


Chapter 24: Digital Signal Processing


Chapter 25: Brushed Permanent Magnet DC Motors


Chapter 26: DC Motor Control


Chapter 27: Brushless Motor Control


Chapter 28: Stepper Motors and RC Servos


Chapter 29: Connecting to an Android Device