Your ultimate ambition for this week's lab is to use SysTick arrangement timer to actualize a periodic
interrupt which will again be acclimated to apparatus two abstracted PWM signals (variable duty
cycle agenda outputs) to ascendancy the left/right and up/down position of a baby automated arm.
By capricious the assignment aeon amid limits, the automated arm’s left/right and up/down angles
will be changed.
Here are the requirements for this band-aid (given a breadboard, distinct capricious resistor,
wires, and 2 arbor microservo automated arm):
1. Apparatus a “manual” approach which you will be able to change the position of the
left/right servo and the up/down servo one at a time.
2. There charge be a adjustment to acclimatize the PWM (duty cycle) of anniversary servo arbor (one at a
time) application a distinct analog ascribe from the user in real-time.
3. You charge additionally apparatus an “automatic” approach which will automatically change the
servo position for both the left/right and up/down servo from one acute position (-
90 degrees from aloof to 90 degrees from neutral) continuously until chiral mode
4. You charge accept a affectation indicator that gives an alphabetic characterization for the servo arbor you
are currently adjusting (or aftermost adjusted), i.e. l/r, u/d, or bth for left/right, up/down or
both. This charge assignment in both chiral and automated modes.
5. You charge accept a way to latch anniversary servo’s position (in degrees) from aloof and
continuously affectation it afterwards it is set. This charge assignment in both chiral and automatic.
6. There should be no way to accomplish your PWM'ed servos, affectation of the assignment cycle, or
software malfunction aloof by switching the switches, or adjusting the capricious resistor
at any time.
7. There charge be at atomic 50 levels of PWM resolution from -90 degrees from aloof to
90 degrees from neutral. The servos don’t accept to move absolutely 180 absolute degrees
(they don’t) but they do accept to move as far as they can anticipation by an oscilloscope
measuring the assignment cycles of agenda outputs activity to the servos at -90 and +90
8. NOTE: You may alone address in C and use no accumulation files except for functions
SetSysClock(), gpio_c_init(), gpio_d_init(), seg7_init(), seg7_put(), adc_start(),
adc_done, and adc_init. I advance application your aftermost week's lab main.c (and
makefile) and body on it from there.
Order a unique copy of this paper