Difference between revisions of "ME 333 Readings, Videos, and Sample Code"

From Mech
Jump to navigationJump to search
(Replaced content with "'''This page is now obsolete. It was last used for ME 333 in January to March, 2015. Please consult the videos linked to the NU32 page.''' (If you really want ...")
 
(65 intermediate revisions by 3 users not shown)
Line 1: Line 1:
'''This page is now obsolete. It was last used for ME 333 in January to March, 2015. Please consult the videos linked to the [[NU32|NU32 page]].'''
Readings, videos, exercises, and sample code for [[ME 333 Introduction to Mechatronics|ME 333 Introduction to Mechatronics]].


(If you really want to see this out-of-date page, it is [[OBSOLETE NU32 video page|here]].)
===Appendix: A Crash Course in C===

'''Reading''': [[Media:CrashCourseinC.pdf|A Crash Course in C]], [[C Compilers]]

'''Videos''':
# [http://www.youtube.com/watch?v=tVInDFCDVZA&feature=youtu.be '''Writing your first program in C, HelloWorld.c'''] (5:09). Chapter A.1. Exercises: 1.
# [http://www.youtube.com/watch?v=fjSGtiPb-YY&feature=youtu.be '''Differences between C and MATLAB'''] (7:30). Chapter A.2. Exercises: 2, 3.
# [http://www.youtube.com/watch?v=kC4EoTxnJys&feature=youtu.be '''Binary and hexadecimal (Base 2 and 16)'''] (4:47). Chapter A.3.1. Exercises: 4, 6.
# [http://www.youtube.com/watch?v=V1mBtAZxHgw&feature=youtu.be '''Data types'''] (5:30). Chapter A.3.1. Exercises: 8, 10.
# [http://www.youtube.com/watch?v=4XleTmp-RR4&feature=youtu.be '''Using the data types'''] (3:49). Chapter A.3.1. Exercises: 11.
# [http://www.youtube.com/watch?v=jsmCIpBeKjk&feature=youtu.be '''Representations of data types'''] (5:15). Chapter A.3.1. Exercises: 12, 13.
# [http://www.youtube.com/watch?v=47IS8VtAM9E&feature=youtu.be '''Pointer basics'''] (5:54). Chapter A.3.2. Exercises: 14, 15.
# [http://www.youtube.com/watch?v=yBLApvS7fcY&feature=youtu.be '''Sample program: printout.c'''] (5:55). Chapter A.4. Exercises: 16 (not covered in video, reading only) 17, 18.
# [http://www.youtube.com/watch?v=YH-h-hGHIBw&feature=youtu.be '''Sample program: datasizes.c'''] (2:57). Chapter A.4. Exercises: 9.
# [http://www.youtube.com/watch?v=HXXCdVuGm70&feature=youtu.be '''Sample program: overflow.c'''] (2:43). Chapter A.4. Exercises: 19.
# [http://www.youtube.com/watch?v=dd_Uk00yURI&feature=youtu.be '''Sample program: typecast.c'''] (5:43). Chapter A.4. Exercises: 20.
# [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. Exercises: 23.
# [http://www.youtube.com/watch?v=CGmxOs7uxwI&feature=youtu.be '''invest.c, part 2/5: overview'''] (3:58). Chapter A.4. Exercises: 24, 25.
# [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. Exercises: 26.
# [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. Exercises: 28-30, 32, 33 (some material covered in reading only).

'''Sample Code''':

*'''Section A.1''': [[Media:CCCHelloWorld.c|HelloWorld.c]]
*'''Section A.4''': [[Media:CCCprintout.c|printout.c]], [[Media:CCCdatasizes.c|datasizes.c]], [[Media:CCCoverflow.c|overflow.c]], [[Media:CCCtypecast.c|typecast.c]], [[Media:CCCinvest.c|invest.c]]
*'''Section A.4.16''': [[Media:CCChelper.h|helper.h]], [[Media:CCChelper.c|helper.c]], [[Media:CCCmain.c|main.c]]
*'''Problems, Section A.5''': [[Media:CCCbubble.c|bubble.c]], [[Media:CCClights.c|lights.c]], [[Media:CCChexdump.c|hexdump.c]]


----

===Chapter 1: Quickstart===

'''Reading''': [[Media:Ch01.pdf|Chapter 1]]

'''Videos''': none

'''Sample Code''':
*'''Section 1.3''': [[Media:PIC32quickstart.zip|PIC32quickstart.zip]]
<!--
Individual files:
** [[Media:NU32bootloader.hex|NU32bootloader.hex]]
** [[NU32: Bootloading from command line]]
** [[Media:NU32test.hex|NU32test.hex]]
** [[Media:simplePIC.c|simplePIC.c]]
** [[Media:NU32bootloaded.ld|NU32bootloaded.ld]]
** [[Media:simplePIC_standalone.c|simplePIC_standalone.c]]
** [[Media:talkingPIC.c|talkingPIC.c]]
** [[Media:NU32.c|NU32.c]]
** [[Media:NU32.h|NU32.h]]
-->

----

===Chapter 2: Looking Under the Hood: Hardware===

'''Reading''': [[Media:Ch02.pdf|Chapter 2]]

'''Videos''':
# [http://youtu.be/xaq6RAO9d3o '''Introduction to the PIC32 microcontroller'''] (5:10).
# [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/CFcf7_xXZpc '''Introduction to the NU32 development board'''] (4:03).

'''Sample Code''': none
----

===Chapter 3: Looking Under the Hood: Software===

'''Reading''': [[Media:Ch03.pdf|Chapter 3]]

'''Videos''':

'''Sample Code''':
* [[Media:Bootloader.zip|Bootloader.zip]]

----

===Chapter 4: Using Libraries===

'''Reading''': [[Media:Ch04.pdf|Chapter 4]]

'''Videos''':

'''Sample Code''':
*'''Section 4.5''':
** NU32.c and NU32.h are included in Chapter 1
** [[Media:LCD.c|LCD.c]]
** [[Media:LCD.h|LCD.h]]
** [[Media:LCDwrite.c|LCDwrite.c]]

----

===Chapter 5: Time and Space===

'''Reading''': [[Media:Ch05.pdf|Chapter 5]]

'''Videos''':

'''Sample Code''':
*'''Section 5.1''':
** [[Media:timing.c|timing.c]]

----

===Chapter 6: Interrupts===
*'''Section 6.1''':
** [[Media:INT_core_timer.c|INT_core_timer.c]]
** [[Media:INT_ext_int.c|INT_ext_int.c]]
** [[Media:INT_timing.c|INT_timing.c]]

----

===Chapter 7: Digital Input and Output===
** [[Media:DIO_plib.c|DIO_plib.c]]
** [[Media:DIO_sfrs.c|DIO_sfrs.c]]

----

===Chapter 8: Counters / Timers===
** [[Media:TMR_5Hz.c|TMR_5Hz.c]]
** [[Media:TMR_external_count.c|TMR_external_count.c]]
** [[Media:TMR_pulse_duration.c|TMR_pulse_duration.c]]

----

===Chapter 9: Output Compare===
** [[Media:OC_analog_out.c|OC_analog_out.c]]
** [[Media:OC_PWM_plib.c|OC_PWM_plib.c]]
** [[Media:OC_PWM_sfrs.c|OC_PWM_sfrs.c]]
** [[Media:OC_signal.m|OC_signal.m]]

----

===Chapter 10: Analog Input===
** [[Media:ADC_Read2.c|ADC_Read2.c]]

----

===Chapter 11: UART===
** [[Media:UART_loopback.c|UART_loopback.c]]
** [[Media:UART_pic_to_pic.c|UART_pic_to_pic.c]]
** [[Media:UART_hfc_to_pc.c|UART_hfc_to_pc.c]]
** [[Media:UART_xbee.c|UART_xbee.c]]
** [[Media:UART_pic_to_matlab.c|UART_pic_to_matlab.c]]
** [[Media:UART_pic_to_matlab.m|UART_pic_to_matlab.m]]
** [[Media:UART_pic_to_processing.c|UART_pic_to_processing.c]]
** [[Media:UART_pic_to_processing.pde|UART_pic_to_processing.pde]]
** [[Media:UART_pic_to_html5.zip|UART_pic_to_html5.zip]]

----

===Chapter 12: SPI Communication===
** [[Media:SPI_loopback.c|SPI_loopback.c]]
** [[Media:SPI_pic_to_pic.c|SPI_pic_to_pic.c]]
** [[Media:SPI_DAC_MCP4922.c|SPI_DAC_MCP4922.c]]
** [[Media:SPI_ADC_MCP3008.c|SPI_ADC_MCP3008.c]]
** [[Media:SPI_SRAM_23K256.c|SPI_SRAM_23K256.c]]
** [[Media:SPI_microSDcard.c|SPI_microSDcard.c]]
** [[Media:SPI_accelerometer_ADXL362.c|SPI_accelerometer_ADXL362.c]]

----

===Chapter 13: I2C Communication===
** [[Media:I2C_loopback.c|I2C_loopback.c]]
** [[Media:I2C_pic_to_pic.c|I2C_pic_to_pic.c]]
** [[Media:I2C_DAC_MAX518.c|I2C_DAC_MAX518.c]]
** [[Media:I2C_ADC_NAU7802.c|I2C_ADC_NAU7802.c]]
** [[Media:I2C_SRAM_PCF8570P.c|I2C_SRAM_PCF8570P.c]]
** [[Media:I2C_accelerometer_LSM303DLHC.c|I2C_accelerometer_LSM303DLHC.c]]
----

===Chapter 14: USB===
** [[Media:USB_HID.zip|USB_HID.zip]]
** [[Media:USB_CDC.zip|USB_CDC.zip]]
** [[Media:USB_thumbDrive.zip|USB_thumbDrive.zip]]

----

===Chapter 15: Input Capture===
** [[Media:IC_loopbackPWM.c|IC_loopbackPWM.c]]
** [[Media:IC_readRemoteControl.c|IC_readRemoteControl.c]]

----

===Chapter 16: Comparator===
** [[Media:COMP_internal.c|COMP_internal.c]]
** [[Media:COMP_output16values.c|COMP_output16values.c]]
** [[Media:COMP_INT2values.c|COMP_INT2values.c]]

----

===Chapter 17: Watchdog Timer===
** [[Media:WDT_enableReset.c|WDT_enableReset.c]]
** [[Media:WDT_checkPreviousReset.c|WDT_checkPreviousReset.c]]

----

===Chapter 18: Storing Data in Flash Memory===
** [[Media:FLASH_write.c|FLASH_write.c]]

----

===Chapter 19: Power Saving===
** [[Media:PWR_sleep.c|PWR_sleep.c]]

----

===Chapter 20: Real-time Clock and Calendar===
** [[Media:RTCC_set.c|RTCC_set.c]]

----

===Chapter 21: Controller Area Network (CAN)===
** [[Media:CAN_pic_to_pic.c|CAN_pic_to_pic.c]]

----

===Chapter 22: Direct Memory Access===
** [[Media:DMA_adc.c|DMA_adc.c]]
** [[Media:DMA_spi.c|DMA_spi.c]]

----

===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===

----

Latest revision as of 02:21, 21 December 2015

This page is now obsolete. It was last used for ME 333 in January to March, 2015. Please consult the videos linked to the NU32 page.

(If you really want to see this out-of-date page, it is here.)