Difference between revisions of "NU32 Videos"
NickMarchuk (talk | contribs) |
|||
(28 intermediate revisions by one other user not shown) | |||
Line 1: | Line 1: | ||
This page has a number of videos supporting chapters in the book [[NU32|Embedded Computing and Mechatronics with the PIC32 Microcontroller]]. |
This page has a number of videos supporting chapters in the book [[NU32|Embedded Computing and Mechatronics with the PIC32 Microcontroller]]. Sample code for the book used in these videos can be downloaded from the [[NU32|NU32 page]]. The sample code is for the PIC32MX795F512H as it is used on the NU32 development board. |
||
You can go directly to [https://www.youtube.com/user/kevinl2145 Kevin Lynch's YouTube channel] with all the videos, or you can use the directory below to go to a specific video or to the playlist for a specific chapter. Each chapter with videos has its own playlist that plays the chapter's videos in sequence. |
|||
⚫ | Most of the videos below were created using the [https://sites.google.com/site/northwesternlightboard/ Lightboard], an ingenious and easy-to-use device developed by Prof. Michael Peshkin at Northwestern University. |
||
⚫ | |||
===Some online lectures from the Covid times === |
|||
[https://youtube.com/playlist?list=PLs00gIc4luIDGhg_7wekbJlvk1_lxZja- '''Video playlist from 2021'''] |
|||
---- |
|||
===Appendix A: A Crash Course in C=== |
===Appendix A: A Crash Course in C=== |
||
Line 8: | Line 16: | ||
[https://www.youtube.com/playlist?list=PLggLP4f-rq02gmlePH-vQJ8PF6hyf08CN '''Click here for a playlist of all videos in this chapter'''] |
[https://www.youtube.com/playlist?list=PLggLP4f-rq02gmlePH-vQJ8PF6hyf08CN '''Click here for a playlist of all videos in this chapter'''] |
||
# [http://www.youtube.com/watch?v=tVInDFCDVZA&feature=youtu.be '''Writing your first program in C, HelloWorld.c'''] (5:09). Chapter A.1. |
# [http://www.youtube.com/watch?v=tVInDFCDVZA&feature=youtu.be '''Writing your first program in C, HelloWorld.c'''] (5:09). Chapter A.1. |
||
# [http://www.youtube.com/watch?v=fjSGtiPb-YY&feature=youtu.be '''Differences between C and MATLAB'''] (7:30). Chapter A.2. |
# [http://www.youtube.com/watch?v=fjSGtiPb-YY&feature=youtu.be '''Differences between C and MATLAB'''] (7:30). Chapter A.2. |
||
# [http://www.youtube.com/watch?v=kC4EoTxnJys&feature=youtu.be '''Binary and hexadecimal (Base 2 and 16)'''] (4:47). Chapter A.3.1. |
# [http://www.youtube.com/watch?v=kC4EoTxnJys&feature=youtu.be '''Binary and hexadecimal (Base 2 and 16)'''] (4:47). Chapter A.3.1. |
||
# [http://www.youtube.com/watch?v=V1mBtAZxHgw&feature=youtu.be '''C data types'''] (5:30). Chapter A.3.1. |
# [http://www.youtube.com/watch?v=V1mBtAZxHgw&feature=youtu.be '''C data types'''] (5:30). Chapter A.3.1. |
||
# [http://www.youtube.com/watch?v=4XleTmp-RR4&feature=youtu.be '''Using C data types'''] (3:49). Chapter A.3.1. |
# [http://www.youtube.com/watch?v=4XleTmp-RR4&feature=youtu.be '''Using C data types'''] (3:49). Chapter A.3.1. |
||
# [http://www.youtube.com/watch?v=jsmCIpBeKjk&feature=youtu.be '''Representations of C data types'''] (5:15). Chapter A.3.1. |
# [http://www.youtube.com/watch?v=jsmCIpBeKjk&feature=youtu.be '''Representations of C data types'''] (5:15). Chapter A.3.1. |
||
# [http://www.youtube.com/watch?v=47IS8VtAM9E&feature=youtu.be '''C pointer basics'''] (5:54). Chapter A.3.2. |
# [http://www.youtube.com/watch?v=47IS8VtAM9E&feature=youtu.be '''C pointer basics'''] (5:54). Chapter A.3.2. |
||
# [http://www.youtube.com/watch?v=yBLApvS7fcY&feature=youtu.be '''Sample program: printout.c'''] (5:55). Chapter A.4. |
# [http://www.youtube.com/watch?v=yBLApvS7fcY&feature=youtu.be '''Sample program: printout.c'''] (5:55). Chapter A.4. |
||
# [http://www.youtube.com/watch?v=YH-h-hGHIBw&feature=youtu.be '''Sample program: datasizes.c'''] (2:57). Chapter A.4. |
# [http://www.youtube.com/watch?v=YH-h-hGHIBw&feature=youtu.be '''Sample program: datasizes.c'''] (2:57). Chapter A.4. |
||
# [http://www.youtube.com/watch?v=HXXCdVuGm70&feature=youtu.be '''Sample program: overflow.c'''] (2:43). Chapter A.4. |
# [http://www.youtube.com/watch?v=HXXCdVuGm70&feature=youtu.be '''Sample program: overflow.c'''] (2:43). Chapter A.4. |
||
# [http://www.youtube.com/watch?v=dd_Uk00yURI&feature=youtu.be '''Sample program: typecast.c'''] (5:43). Chapter A.4. |
# [http://www.youtube.com/watch?v=dd_Uk00yURI&feature=youtu.be '''Sample program: typecast.c'''] (5:43). Chapter A.4. |
||
# [http://www.youtube.com/watch?v=MQaHeovdTCU&feature=youtu.be '''invest.c, part 1/5: intro to a typical C program'''] (4:18). Chapter A.4. |
# [http://www.youtube.com/watch?v=MQaHeovdTCU&feature=youtu.be '''invest.c, part 1/5: intro to a typical C program'''] (4:18). Chapter A.4. |
||
# [http://www.youtube.com/watch?v=CGmxOs7uxwI&feature=youtu.be '''invest.c, part 2/5: overview'''] (3:58). Chapter A.4. |
# [http://www.youtube.com/watch?v=CGmxOs7uxwI&feature=youtu.be '''invest.c, part 2/5: overview'''] (3:58). Chapter A.4. |
||
# [http://www.youtube.com/watch?v=x218qBniZdo&feature=youtu.be '''invest.c, part 3/5: sections 1-4: program comments, preprocessor commands, new data type definitions, and global variables'''] (4:48). Chapter A.4 |
# [http://www.youtube.com/watch?v=x218qBniZdo&feature=youtu.be '''invest.c, part 3/5: sections 1-4: program comments, preprocessor commands, new data type definitions, and global variables'''] (4:48). Chapter A.4. |
||
# [http://www.youtube.com/watch?v=2Rl3Dno42pc&feature=youtu.be '''invest.c, part 4/5: sections 5-6: helper function prototypes and the main function'''] (4:40). Chapter A.4. |
# [http://www.youtube.com/watch?v=2Rl3Dno42pc&feature=youtu.be '''invest.c, part 4/5: sections 5-6: helper function prototypes and the main function'''] (4:40). Chapter A.4. |
||
# [http://www.youtube.com/watch?v=soT9_c6XXko&feature=youtu.be '''invest.c, part 5/5: section 7: helper functions'''] (7:42). Chapter A.4. |
# [http://www.youtube.com/watch?v=soT9_c6XXko&feature=youtu.be '''invest.c, part 5/5: section 7: helper functions'''] (7:42). Chapter A.4. |
||
# [http://www.youtube.com/watch?v=5UMHbzZGQuE '''Header files and libraries'''] (9:31). |
# [http://www.youtube.com/watch?v=5UMHbzZGQuE '''Header files and libraries'''] (9:31). Chapter A.4.15. |
||
---- |
---- |
||
Line 30: | Line 38: | ||
===Chapter 1: Quickstart=== |
===Chapter 1: Quickstart=== |
||
[https://www.youtube.com/playlist?list=PLggLP4f-rq00BLJVaX4LryXm45jiyXict '''Click here for a playlist of all videos in this chapter for the Mac (and, almost, Linux)'''] |
|||
⚫ | |||
⚫ | |||
[https://www.youtube.com/playlist?list=PLggLP4f-rq02SD4GoDSfJEpXyPjYpHXvD '''Click here for a playlist of all videos in this chapter for Windows'''] |
|||
'''Intro video for all host computers''': |
|||
⚫ | |||
'''Videos specific for the Mac (and, almost, Linux):''' |
|||
⚫ | |||
# [https://www.youtube.com/watch?v=tOuKL2vZWjE '''NU32 quickstart for Mac, part 2/3: compiling and loading'''] (4:04) |
|||
# [https://www.youtube.com/watch?v=o5fKVnmiKrk '''NU32 quickstart for Mac, part 3/3: using make'''] (5:31) |
|||
'''Videos specific for Windows:''' |
|||
# [https://www.youtube.com/watch?v=jBwzfmpyFiY '''NU32 quickstart for Windows, part 1/3: software downloads'''] (5:55) |
|||
# [https://www.youtube.com/watch?v=AUF4Bx-Hfqw '''NU32 quickstart for Windows, part 2/3: compiling and loading'''] (4:36) |
|||
# [https://www.youtube.com/watch?v=314F5qkCQ0I '''NU32 quickstart for Windows, part 3/3: using make'''] (5:13) |
|||
---- |
---- |
||
Line 40: | Line 62: | ||
[https://www.youtube.com/playlist?list=PLggLP4f-rq02HwYXVcY7z_9K719BxAXRF '''Click here for a playlist of all videos in this chapter'''] |
[https://www.youtube.com/playlist?list=PLggLP4f-rq02HwYXVcY7z_9K719BxAXRF '''Click here for a playlist of all videos in this chapter'''] |
||
# [ |
# [https://www.youtube.com/watch?v=UAS0kl30EMA '''Introduction to the PIC32 microcontroller'''] (4:42) |
||
# [http://youtu.be/UOv0zG_04Bg '''Introduction to the PIC32 architecture'''] (6:02) |
# [http://youtu.be/UOv0zG_04Bg '''Introduction to the PIC32 architecture'''] (6:02) |
||
# [http://youtu.be/YrkUKYBcVA8 '''The PIC32 physical memory map'''] (5:20) |
# [http://youtu.be/YrkUKYBcVA8 '''The PIC32 physical memory map'''] (5:20) |
||
# [ |
# [https://www.youtube.com/watch?v=ByXYMqVQpWU '''Introduction to the NU32 development board'''] (2:28) |
||
---- |
---- |
||
Line 52: | Line 74: | ||
[https://www.youtube.com/playlist?list=PLggLP4f-rq00keomJD_HhrzvxwIsxB9WS '''Click here for a playlist of all videos in this chapter'''] |
[https://www.youtube.com/playlist?list=PLggLP4f-rq00keomJD_HhrzvxwIsxB9WS '''Click here for a playlist of all videos in this chapter'''] |
||
# [http://www.youtube.com/watch?v=VqCPafcov1c '''The PIC32 virtual memory map'''] (5:24) |
# [http://www.youtube.com/watch?v=VqCPafcov1c '''The PIC32 virtual memory map'''] (5:24) |
||
# [ |
# [https://www.youtube.com/watch?v=Cfa0L990DCU '''Understanding simplePIC.c'''] (6:34). |
||
# [ |
# [https://www.youtube.com/watch?v=HFAX6mKIlSA '''Digging through PIC32 header files'''] (6:19). |
||
# [ |
# [https://www.youtube.com/watch?v=QwA-NtxMC3E '''The PIC32 executable build process'''] (3:36). |
||
---- |
---- |
||
Line 62: | Line 83: | ||
'''Video''': |
'''Video''': |
||
⚫ | |||
[https://www.youtube.com/playlist?list=PLggLP4f-rq02hxyFislPy2SuN6vndLMi- '''Click here for a playlist of all videos in this chapter'''] |
|||
# [https://youtu.be/_qq0cOjl9Cs '''The NU32 library'''] (5:20) |
|||
---- |
---- |
||
Line 71: | Line 94: | ||
[https://www.youtube.com/playlist?list=PLggLP4f-rq01Sl5GNFtYcOf0gcwVqVLj2 '''Click here for a playlist of all videos in this chapter'''] |
[https://www.youtube.com/playlist?list=PLggLP4f-rq01Sl5GNFtYcOf0gcwVqVLj2 '''Click here for a playlist of all videos in this chapter'''] |
||
# [ |
# [https://youtu.be/-Xpfi9mR7oc '''Timing PIC32 code and the disassembly file'''] (11:11). |
||
# [ |
# [https://youtu.be/OcsLl_FuXwg '''The PIC32 memory map file'''] (8:20). |
||
---- |
---- |
||
Line 81: | Line 104: | ||
[https://www.youtube.com/playlist?list=PLggLP4f-rq01y1WOKqkMxElhm8gAm8Uxg '''Click here for a playlist of all videos in this chapter'''] |
[https://www.youtube.com/playlist?list=PLggLP4f-rq01y1WOKqkMxElhm8gAm8Uxg '''Click here for a playlist of all videos in this chapter'''] |
||
# [http://www.youtube.com/watch?v=Kmss3C732Kg&feature=youtu.be '''Overview of interrupts on the PIC32'''] (4:29) |
# [http://www.youtube.com/watch?v=Kmss3C732Kg&feature=youtu.be '''Overview of interrupts on the PIC32'''] (4:29) |
||
# [http://www.youtube.com/watch?v=aLJX-CxMb-w&feature=youtu.be '''PIC32 interrupt SFRs'''] (6:22) |
# [http://www.youtube.com/watch?v=aLJX-CxMb-w&feature=youtu.be '''PIC32 interrupt SFRs'''] (6:22) |
||
# [http://www.youtube.com/watch?v=aIClq90qV7E&feature=youtu.be '''The PIC32 shadow register set'''] (1:25) |
# [http://www.youtube.com/watch?v=aIClq90qV7E&feature=youtu.be '''The PIC32 shadow register set'''] (1:25) |
||
# [http://www.youtube.com/watch?v=6Ap3H39iCVI&feature=youtu.be '''Seven steps to using an interrupt with the PIC32'''] (3:47) |
# [http://www.youtube.com/watch?v=6Ap3H39iCVI&feature=youtu.be '''Seven steps to using an interrupt with the PIC32'''] (3:47) |
||
# [ |
# [https://youtu.be/oydXEvJ-FUU '''PIC32 interrupt code example'''] (4:19) |
||
---- |
---- |
||
Line 96: | Line 119: | ||
# [http://youtu.be/QweUbVV6zOQ '''Intro to digital I/O on the PIC32'''] (6:24) |
# [http://youtu.be/QweUbVV6zOQ '''Intro to digital I/O on the PIC32'''] (6:24) |
||
# [http://youtu.be/TyhJXYsvSgE '''Change notification on the PIC32'''] (1:18) |
# [http://youtu.be/TyhJXYsvSgE '''Change notification on the PIC32'''] (1:18) |
||
# [ |
# [https://youtu.be/imjtEoTcJgI '''PIC32 program with digital I/O and change notification'''] (4:33) |
||
---- |
---- |
||
Line 107: | Line 130: | ||
# [http://youtu.be/wOeRTo55BCE '''Intro to PIC32 counter/timers'''] (5:59) |
# [http://youtu.be/wOeRTo55BCE '''Intro to PIC32 counter/timers'''] (5:59) |
||
# [http://youtu.be/5bNf9GZUdk8 '''PIC32 timer SFRs'''] (5:55) |
# [http://youtu.be/5bNf9GZUdk8 '''PIC32 timer SFRs'''] (5:55) |
||
# [ |
# [https://youtu.be/bu6G8ERqapI '''Using PIC32 timers to generate interrupts'''] (2:39) |
||
# [ |
# [https://youtu.be/bu6TTZHnMPY '''Example PIC32 timer interrupt program'''] (3:42) |
||
---- |
---- |
||
Line 118: | Line 141: | ||
[https://www.youtube.com/playlist?list=PLggLP4f-rq00_EW8xrcBsgqAP90qmdDxR '''Click here for a playlist of all videos in this chapter'''] |
[https://www.youtube.com/playlist?list=PLggLP4f-rq00_EW8xrcBsgqAP90qmdDxR '''Click here for a playlist of all videos in this chapter'''] |
||
# [http://youtu.be/U4T53SFPhXI '''Introduction to the PIC32 output compare'''] (5:30) |
# [http://youtu.be/U4T53SFPhXI '''Introduction to the PIC32 output compare'''] (5:30) |
||
# [ |
# [https://youtu.be/l9ApqJMgeoY '''A PWM program on the PIC32'''] (3:10) |
||
# [http://youtu.be/xhdiiYYF-zY '''Using output compare to create an analog output'''] (3:09) |
# [http://youtu.be/xhdiiYYF-zY '''Using output compare to create an analog output'''] (3:09) |
||
Line 126: | Line 149: | ||
'''Video''': |
'''Video''': |
||
[https://www.youtube.com/playlist?list=PLggLP4f-rq0376JNt1ntQSQ7QdEgOfRhW '''Click here for a playlist of all videos in this chapter'''] |
|||
# [http://youtu.be/JvlPeWEU5i8 '''The PIC32 analog-to-digital converter'''] (6:47) |
# [http://youtu.be/JvlPeWEU5i8 '''The PIC32 analog-to-digital converter'''] (6:47) |
||
Line 182: | Line 207: | ||
---- |
---- |
||
===Chapter 28: A Motor Control Project=== |
|||
⚫ | |||
[https://www.youtube.com/playlist?list=PLggLP4f-rq03WhWvWauGd9ex6ZXGLtrdd '''Click here for a playlist of all videos in this chapter'''] |
|||
# [https://youtu.be/sMXWoYCmfm4 '''A motor control project with the PIC32'''] (4:04) |
Latest revision as of 11:02, 22 December 2021
This page has a number of videos supporting chapters in the book Embedded Computing and Mechatronics with the PIC32 Microcontroller. Sample code for the book used in these videos can be downloaded from the NU32 page. The sample code is for the PIC32MX795F512H as it is used on the NU32 development board.
You can go directly to Kevin Lynch's YouTube channel with all the videos, or you can use the directory below to go to a specific video or to the playlist for a specific chapter. Each chapter with videos has its own playlist that plays the chapter's videos in sequence.
Most of the videos below were created using the Lightboard, an ingenious and easy-to-use device developed by Prof. Michael Peshkin at Northwestern University.
Some online lectures from the Covid times
Appendix A: A Crash Course in C
Videos:
Click here for a playlist of all videos in this chapter
- Writing your first program in C, HelloWorld.c (5:09). Chapter A.1.
- Differences between C and MATLAB (7:30). Chapter A.2.
- Binary and hexadecimal (Base 2 and 16) (4:47). Chapter A.3.1.
- C data types (5:30). Chapter A.3.1.
- Using C data types (3:49). Chapter A.3.1.
- Representations of C data types (5:15). Chapter A.3.1.
- C pointer basics (5:54). Chapter A.3.2.
- Sample program: printout.c (5:55). Chapter A.4.
- Sample program: datasizes.c (2:57). Chapter A.4.
- Sample program: overflow.c (2:43). Chapter A.4.
- Sample program: typecast.c (5:43). Chapter A.4.
- invest.c, part 1/5: intro to a typical C program (4:18). Chapter A.4.
- invest.c, part 2/5: overview (3:58). Chapter A.4.
- invest.c, part 3/5: sections 1-4: program comments, preprocessor commands, new data type definitions, and global variables (4:48). Chapter A.4.
- invest.c, part 4/5: sections 5-6: helper function prototypes and the main function (4:40). Chapter A.4.
- invest.c, part 5/5: section 7: helper functions (7:42). Chapter A.4.
- Header files and libraries (9:31). Chapter A.4.15.
Chapter 1: Quickstart
Click here for a playlist of all videos in this chapter for the Mac (and, almost, Linux)
Click here for a playlist of all videos in this chapter for Windows
Intro video for all host computers:
- NU32 quickstart introduction (2:06)
Videos specific for the Mac (and, almost, Linux):
- NU32 quickstart for Mac, part 1/3: software downloads (7:11)
- NU32 quickstart for Mac, part 2/3: compiling and loading (4:04)
- NU32 quickstart for Mac, part 3/3: using make (5:31)
Videos specific for Windows:
- NU32 quickstart for Windows, part 1/3: software downloads (5:55)
- NU32 quickstart for Windows, part 2/3: compiling and loading (4:36)
- NU32 quickstart for Windows, part 3/3: using make (5:13)
Chapter 2: Hardware
Videos:
Click here for a playlist of all videos in this chapter
- Introduction to the PIC32 microcontroller (4:42)
- Introduction to the PIC32 architecture (6:02)
- The PIC32 physical memory map (5:20)
- Introduction to the NU32 development board (2:28)
Chapter 3: Software
Videos:
Click here for a playlist of all videos in this chapter
- The PIC32 virtual memory map (5:24)
- Understanding simplePIC.c (6:34).
- Digging through PIC32 header files (6:19).
- The PIC32 executable build process (3:36).
Chapter 4: Using Libraries
Video:
Click here for a playlist of all videos in this chapter
- The NU32 library (5:20)
Chapter 5: Time and Space
Videos:
Click here for a playlist of all videos in this chapter
- Timing PIC32 code and the disassembly file (11:11).
- The PIC32 memory map file (8:20).
Chapter 6: Interrupts
Videos:
Click here for a playlist of all videos in this chapter
- Overview of interrupts on the PIC32 (4:29)
- PIC32 interrupt SFRs (6:22)
- The PIC32 shadow register set (1:25)
- Seven steps to using an interrupt with the PIC32 (3:47)
- PIC32 interrupt code example (4:19)
Chapter 7: Digital Input and Output
Videos:
Click here for a playlist of all videos in this chapter
- Intro to digital I/O on the PIC32 (6:24)
- Change notification on the PIC32 (1:18)
- PIC32 program with digital I/O and change notification (4:33)
Chapter 8: Counters / Timers
Videos:
Click here for a playlist of all videos in this chapter
- Intro to PIC32 counter/timers (5:59)
- PIC32 timer SFRs (5:55)
- Using PIC32 timers to generate interrupts (2:39)
- Example PIC32 timer interrupt program (3:42)
Chapter 9: Output Compare
Videos:
Click here for a playlist of all videos in this chapter
- Introduction to the PIC32 output compare (5:30)
- A PWM program on the PIC32 (3:10)
- Using output compare to create an analog output (3:09)
Chapter 10: Analog Input
Video:
Click here for a playlist of all videos in this chapter
Chapter 23: PID Feedback Control
Videos:
Click here for a playlist of all videos in this chapter
- Introduction to PID control (4:28)
- Improving the basic PID control algorithm (2:33)
- PID control of a mass-spring-damper (4:10)
- P, PI, and PD variants of PID control (2:42)
- Empirical PID gain tuning (7:08)
Chapter 25: Brushed Permanent Magnet DC Motors
Videos:
Click here for a playlist of all videos in this chapter
- Intro to brushed permanent magnet DC motors, part 1/2 (4:31)
- Intro to brushed permanent magnet DC motors, part 2/2 (7:10)
- Brushed DC motor equations (6:53)
- Brushed DC motor speed-torque curve (5:59)
- The DC motor speed-torque plane (4:27)
- DC motor electrical and mechanical power in the speed-torque plane (3:52)
- DC motor output power (2:05)
- Friction in DC motors (0:55)
- A DC motor data sheet (4:34)
Chapter 26: Gearing and Motor Sizing
Videos:
Click here for a playlist of all videos in this chapter
- Introduction to gears (4:12)
- Gear efficiency (2:40)
- Types of gears (3:47)
Chapter 27: DC Motor Control
Videos:
Click here for a playlist of all videos in this chapter
- Driving DC motors, part 1/3: Flyback diodes (7:03)
- Driving DC motors, part 2/3: PWM (3:05)
- Driving DC motors, part 3/3: H-bridges (4:22)
- A professional motor control system (6:55)
Chapter 28: A Motor Control Project
Videos: