Difference between revisions of "NU32 Videos"
NickMarchuk (talk | contribs) |
|||
(46 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=== |
||
'''Videos''': |
'''Videos''': |
||
⚫ | |||
[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= |
# [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= |
# [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= |
# [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= |
# [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= |
# [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= |
# [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= |
# [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= |
# [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= |
# [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= |
# [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= |
# [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= |
# [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=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. |
||
---- |
|||
===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''': |
|||
# [https://youtu.be/dNUD46sAQSU '''NU32 quickstart introduction'''] (2:06) |
|||
'''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) |
|||
⚫ | |||
'''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 27: | Line 60: | ||
'''Videos''': |
'''Videos''': |
||
# [http://youtu.be/xaq6RAO9d3o '''Introduction to the PIC32 microcontroller'''] (5:10). |
|||
[https://www.youtube.com/playlist?list=PLggLP4f-rq02HwYXVcY7z_9K719BxAXRF '''Click here for a playlist of all videos in this chapter'''] |
|||
# [http://youtu.be/UOv0zG_04Bg '''Introduction to the PIC32 architecture'''] (6:02). |
|||
# [ |
# [https://www.youtube.com/watch?v=UAS0kl30EMA '''Introduction to the PIC32 microcontroller'''] (4:42) |
||
# [http://youtu.be/ |
# [http://youtu.be/UOv0zG_04Bg '''Introduction to the PIC32 architecture'''] (6:02) |
||
# [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 37: | Line 72: | ||
'''Videos''': |
'''Videos''': |
||
⚫ | |||
⚫ | |||
# [http://www.youtube.com/watch?v=inq7l6p_ppE '''Digging through PIC32 header files'''] (7:12). (Information on plib.h, which is no longer included in simplePIC.c, can be ignored. Focus on xc.h and later.) |
|||
# [http://www.youtube.com/watch?v=ZlJmjcGkTl4 '''The PIC32 executable build process'''] (4:26). (The command line compiler commands are a bit different than in Chapter 3, but the main ideas are the same.) |
|||
[https://www.youtube.com/playlist?list=PLggLP4f-rq00keomJD_HhrzvxwIsxB9WS '''Click here for a playlist of all videos in this chapter'''] |
|||
⚫ | |||
⚫ | |||
# [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 47: | 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 54: | Line 92: | ||
'''Videos''': |
'''Videos''': |
||
# [http://www.youtube.com/watch?v=Yxq2GuCQed0&feature=youtu.be '''Timing PIC32 code and the disassembly file'''] (8:27). (Note that the timing.c code is slightly different from what is seen in Chapter 5.) |
|||
[https://www.youtube.com/playlist?list=PLggLP4f-rq01Sl5GNFtYcOf0gcwVqVLj2 '''Click here for a playlist of all videos in this chapter'''] |
|||
# [http://www.youtube.com/watch?v=994vc171K4A '''The PIC32 memory map file'''] (7:15). (Note that the map file looks a bit different from the one in the book, due to changes in timing.c.) |
|||
# [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 62: | Line 102: | ||
'''Videos''': |
'''Videos''': |
||
⚫ | |||
[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= |
# [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=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 73: | Line 115: | ||
'''Videos''': |
'''Videos''': |
||
[https://www.youtube.com/playlist?list=PLggLP4f-rq024v9r7mc5fK-1abgErFEcM '''Click here for a playlist of all videos in this chapter'''] |
|||
# [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 82: | Line 126: | ||
'''Videos''': |
'''Videos''': |
||
[https://www.youtube.com/playlist?list=PLggLP4f-rq007Vy2Qulf3n9g9VO3d4VUV '''Click here for a playlist of all videos in this chapter'''] |
|||
# [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 92: | Line 138: | ||
'''Videos''': |
'''Videos''': |
||
[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 101: | 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 108: | Line 158: | ||
'''Videos''': |
'''Videos''': |
||
[https://www.youtube.com/playlist?list=PLggLP4f-rq02ecj0q0VB9jEbfua8lOc_E '''Click here for a playlist of all videos in this chapter'''] |
|||
# [http://youtu.be/taSlxgvvrBM '''Introduction to PID control'''] (4:28) |
# [http://youtu.be/taSlxgvvrBM '''Introduction to PID control'''] (4:28) |
||
# [http://youtu.be/La9vll93h44 '''Improving the basic PID control algorithm'''] (2:33) |
# [http://youtu.be/La9vll93h44 '''Improving the basic PID control algorithm'''] (2:33) |
||
Line 119: | Line 171: | ||
'''Videos''': |
'''Videos''': |
||
[https://www.youtube.com/playlist?list=PLggLP4f-rq02o8CuzclHrbdVCEZ1noFEj '''Click here for a playlist of all videos in this chapter'''] |
|||
# [http://youtu.be/Mj2bV03mVM8 '''Intro to brushed permanent magnet DC motors, part 1/2'''] (4:31) |
# [http://youtu.be/Mj2bV03mVM8 '''Intro to brushed permanent magnet DC motors, part 1/2'''] (4:31) |
||
# [http://youtu.be/9n9QiALi4E4 '''Intro to brushed permanent magnet DC motors, part 2/2'''] (7:10) |
# [http://youtu.be/9n9QiALi4E4 '''Intro to brushed permanent magnet DC motors, part 2/2'''] (7:10) |
||
Line 134: | Line 188: | ||
'''Videos''': |
'''Videos''': |
||
[https://www.youtube.com/playlist?list=PLggLP4f-rq02tJpO5NUa-w0wP_fL_n72n '''Click here for a playlist of all videos in this chapter'''] |
|||
# [http://youtu.be/D1chF7_pIR0 '''Introduction to gears'''] (4:12) |
# [http://youtu.be/D1chF7_pIR0 '''Introduction to gears'''] (4:12) |
||
# [http://youtu.be/vVg8jb5vaMI '''Gear efficiency'''] (2:40) |
# [http://youtu.be/vVg8jb5vaMI '''Gear efficiency'''] (2:40) |
||
Line 143: | Line 199: | ||
'''Videos''': |
'''Videos''': |
||
[https://www.youtube.com/playlist?list=PLggLP4f-rq03w7Bm5M-EjF8Yn4wL_M7HW '''Click here for a playlist of all videos in this chapter'''] |
|||
# [http://youtu.be/6R_3jHeimiE '''Driving DC motors, part 1/3: Flyback diodes'''] (7:03) |
# [http://youtu.be/6R_3jHeimiE '''Driving DC motors, part 1/3: Flyback diodes'''] (7:03) |
||
# [http://youtu.be/m5JYkgCRbBI '''Driving DC motors, part 2/3: PWM'''] (3:05) |
# [http://youtu.be/m5JYkgCRbBI '''Driving DC motors, part 2/3: PWM'''] (3:05) |
||
Line 149: | Line 207: | ||
---- |
---- |
||
===Chapter 28: A Motor Control Project=== |
|||
'''Videos''': |
|||
[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 12: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: