Difference between revisions of "ME333 Sample Code"

From Mech
Jump to navigationJump to search
Line 52: Line 52:
'''Controlling a stepper motor with the TB6612'''
'''Controlling a stepper motor with the TB6612'''
* [[Media:NU32_stepper_example.c | NU32_stepper_example.c]]: Use the TB6612 to step the motor at 25 Hz steps (1 rev in 16s)
* [[Media:NU32_stepper_example.c | NU32_stepper_example.c]]: Use the TB6612 to step the motor at 25 Hz steps (1 rev in 16s)

'''Controlling an RC servo motor''
* [[Media:NU32_rcservo_pwm_example.c|NU32_rcservo_pwm_example.c]]: Use a PWM pin to set the position of the servo (note you only have 5 PWM pins)
* [[Media:NU32_rcservo_digio_example.c|NU32_rcservo_digio_example.c]]: Use any digital IO pin and a timer to set the position of the servo

Revision as of 11:48, 7 March 2012

Simple PIC

  • simplePIC.c: Flashes LEDs on the NU32 unless the USER button is pressed.

NU32 library, header file, procdefs, and terminal comm test

Analog to digital

  • ADC_Read2.c: Reads two analog inputs repetitively and prints the results to the user's terminal.
  • ADC_Read2_LCD.c Reads two analog inputs repetitively and prints the results to the LCD.

Digital I/O

  • DIGIO_sfrs.c: Digital I/O and change notification using SFR manipulation.
  • DIGIO_plib.c: Digital I/O and change notification using the peripheral library.

Interrupts

LCD code

Output compare (PWM)

  • OC_PWM_nolib.c: Set up PWM by setting SFRs.
  • OC_PWM_lib.c: Set up PWM using peripheral library functions.
  • OC_square_wave.c: Alternate between two different PWM duty cycles at 1 Hz. PWM is at 100 kHz and can be low-pass filtered to get a square wave analog output.

Counter/timer

DSP and FFT

Reading a quadrature encoder with the dsPIC33FJ12MC201 breakout board

Controlling a stepper motor with the TB6612

'Controlling an RC servo motor