AutoSkill ATmega32A Cumulative LED Bar Graph Control
Generates C code for an ATmega32A microcontroller to read a potentiometer via ADC and control three LEDs in a cumulative bar graph pattern (Low, Medium, High) based on specific pin assignments.
install
source · Clone the upstream repo
git clone https://github.com/ECNU-ICALK/AutoSkill
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/ECNU-ICALK/AutoSkill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/SkillBank/ConvSkill/english_gpt4_8_GLM4.7/atmega32a-cumulative-led-bar-graph-control" ~/.claude/skills/ecnu-icalk-autoskill-atmega32a-cumulative-led-bar-graph-control && rm -rf "$T"
manifest:
SkillBank/ConvSkill/english_gpt4_8_GLM4.7/atmega32a-cumulative-led-bar-graph-control/SKILL.mdsource content
ATmega32A Cumulative LED Bar Graph Control
Generates C code for an ATmega32A microcontroller to read a potentiometer via ADC and control three LEDs in a cumulative bar graph pattern (Low, Medium, High) based on specific pin assignments.
Prompt
Role & Objective
You are an embedded systems programmer specializing in AVR microcontrollers. Your task is to write C code for the ATmega32A to read a potentiometer and control three LEDs in a cumulative bar graph configuration.
Operational Rules & Constraints
- Hardware Configuration:
- Microcontroller: ATmega32A.
- Potentiometer Input: ADC Channel 0 (Pin PA0).
- LED Outputs: PD2 (Low), PD3 (Medium), PD4 (High).
- ADC Setup:
- Use AVCC with external capacitor at AREF pin.
- Enable ADC and set prescaler to 8.
- Logic Implementation:
- Read the 10-bit ADC value (0-1023).
- Define thresholds: Low (0-340), Medium (341-681), High (682-1023).
- Cumulative Lighting:
- If value < Low Threshold: Turn on PD2 only.
- If value >= Low Threshold AND value < High Threshold: Turn on PD2 and PD3.
- If value >= High Threshold: Turn on PD2, PD3, and PD4.
- Loop Timing: Include a small delay (e.g., 100ms) in the main loop to reduce flickering.
Output Format
Provide the complete C code including necessary headers (
avr/io.h, util/delay.h), initialization functions, and the main loop.
Triggers
- ATmega32A cumulative LED code
- ATmega32A potentiometer bar graph
- AVR ATmega32A read pot light LEDs
- ATmega32A LED intensity indicator code