This shows you the differences between two versions of the page.
|
pm:prj2026:ciprian.popescu0411:remus.berevoescu [2026/05/09 22:26] remus.berevoescu |
pm:prj2026:ciprian.popescu0411:remus.berevoescu [2026/05/27 11:53] (current) remus.berevoescu |
||
|---|---|---|---|
| Line 27: | Line 27: | ||
| Suggested block diagram: | Suggested block diagram: | ||
| - | {{ :pm:prj2026:xx:block_diagram_guitar_pedal.png?700 |Block diagram}} | + | {{ :pm:prj2026:ciprian.popescu0411:remus.berevoescu:block_diagram_guitar_pedal.png?nolink&800 |}} |
| Signal flow: | Signal flow: | ||
| Line 114: | Line 114: | ||
| ==== Schematics and diagrams ==== | ==== Schematics and diagrams ==== | ||
| - | This section will include: | + | {{ :pm:prj2026:ciprian.popescu0411:remus.berevoescu:schematic_full.png?nolink&1000 |}} |
| - | * input conditioning schematic; | + | |
| - | * control wiring schematic; | + | |
| - | * PWM output filter schematic; | + | |
| - | * full project schematic; | + | |
| - | * signal diagrams and, if available, simulation results. | + | |
| - | Placeholders: | + | {{ :pm:prj2026:ciprian.popescu0411:remus.berevoescu:schematic_input_stage.png?nolink&1000 |}} |
| - | {{ :pm:prj2026:xx:schematic_input_stage.png?650 |Input stage}} | + | {{ :pm:prj2026:ciprian.popescu0411:remus.berevoescu:schematic_output_stage.png?nolink&1000 |}} |
| - | {{ :pm:prj2026:xx:schematic_output_stage.png?650 |Output stage}} | + | |
| - | {{ :pm:prj2026:xx:schematic_full.png?700 |Full schematic}} | + | |
| - | {{ :pm:prj2026:xx:signal_input.png?600 |Input signal}} | + | |
| - | {{ :pm:prj2026:xx:signal_distortion.png?600 |Distortion signal}} | + | |
| - | {{ :pm:prj2026:xx:signal_tremolo.png?600 |Tremolo signal}} | + | |
| ===== Software Design ====== | ===== Software Design ====== | ||
| Line 167: | Line 157: | ||
| * `pwm.c / pwm.h` | * `pwm.c / pwm.h` | ||
| * `uart.c / uart.h` | * `uart.c / uart.h` | ||
| - | * optional `lcd.c / lcd.h` | ||
| ==== Main logic ==== | ==== Main logic ==== | ||
| Line 185: | Line 174: | ||
| === Clean / bypass === | === Clean / bypass === | ||
| - | This mode sends the input further without applying a strong audio effect. In the final hardware version, the footswitch can also provide real hardware bypass. | + | This mode sends the input further without applying a strong audio effect. In the final hardware version, the footswitch may also provide real hardware bypass. |
| === Distortion === | === Distortion === | ||
| Line 210: | Line 199: | ||
| The modulation can be generated using a counter or a lookup table. | The modulation can be generated using a counter or a lookup table. | ||
| - | |||
| - | ==== Planned functions ==== | ||
| - | |||
| - | * `init_gpio()` | ||
| - | * `init_adc()` | ||
| - | * `init_pwm()` | ||
| - | * `init_uart()` | ||
| - | * `init_timer()` | ||
| - | * `read_controls()` | ||
| - | * `process_distortion()` | ||
| - | * `process_tremolo()` | ||
| - | * `update_led_status()` | ||
| - | * `send_debug_info()` | ||
| - | * optional `lcd_show_mode()` | ||
| - | |||
| - | ==== Implementation notes ==== | ||
| - | |||
| - | The project should contain more than 100 lines of original non-trivial code. The most important parts are: | ||
| - | * peripheral configuration; | ||
| - | * ADC reading; | ||
| - | * PWM output; | ||
| - | * button and footswitch logic; | ||
| - | * parameter control; | ||
| - | * audio processing functions. | ||
| ===== Results Obtained ====== | ===== Results Obtained ====== | ||
| Line 248: | Line 213: | ||
| * uses LED and optionally LCD for feedback; | * uses LED and optionally LCD for feedback; | ||
| * can send debug data over UART. | * can send debug data over UART. | ||
| + | <note> | ||
| After implementation, this section will include: | After implementation, this section will include: | ||
| * photos of the prototype; | * photos of the prototype; | ||
| - | * oscilloscope screenshots; | + | * screenshots or photos of the interface; |
| - | * screenshots or photos of the user interface, if LCD is used; | + | |
| * notes about sound quality and stability; | * notes about sound quality and stability; | ||
| * practical test results with guitar and amplifier. | * practical test results with guitar and amplifier. | ||
| - | Placeholders: | + | </note> |
| - | + | ||
| - | {{ :pm:prj2026:xx:prototype_photo_1.jpg?500 |Prototype}} | + | |
| - | {{ :pm:prj2026:xx:prototype_photo_2.jpg?500 |Prototype}} | + | |
| - | {{ :pm:prj2026:xx:oscilloscope_input_output.png?650 |Measured signals}} | + | |
| ===== Conclusions ====== | ===== Conclusions ====== | ||
| Line 267: | Line 226: | ||
| Its main advantage is that it remains simple enough to be built by hand while still including important concepts from the laboratory. Instead of trying to implement many difficult effects, the project focuses on two effects that are easier to understand and demonstrate: distortion and tremolo. | Its main advantage is that it remains simple enough to be built by hand while still including important concepts from the laboratory. Instead of trying to implement many difficult effects, the project focuses on two effects that are easier to understand and demonstrate: distortion and tremolo. | ||
| - | |||
| - | The final result should be a functional guitar pedal prototype that can later be improved with more effects, better filtering, a custom PCB, or a more advanced user interface. | ||
| ===== Download ====== | ===== Download ====== | ||
| <note warning>The following files will be uploaded when the implementation is finished: | <note warning>The following files will be uploaded when the implementation is finished: | ||
| - | |||
| - | * source code | ||
| - | * schematics | ||
| - | * block diagram | ||
| - | * optional simulation files | ||
| - | * README | ||
| - | * ChangeLog | ||
| - | * build instructions | ||
| - | * flashing instructions | ||
| Example files: | Example files: | ||
| Line 288: | Line 236: | ||
| * `README.md` | * `README.md` | ||
| * `CHANGELOG.txt` | * `CHANGELOG.txt` | ||
| - | |||
| - | Example attachments: | ||
| - | * {{:pm:prj2026:xx:guitar_pedal_sources.zip|Source code}} | ||
| - | * {{:pm:prj2026:xx:guitar_pedal_schematics.pdf|Schematics}} | ||
| - | * {{:pm:prj2026:xx:README.md|README}} | ||
| - | </note> | ||
| - | ===== Journal ====== | ||
| - | |||
| - | <note tip>tip</note> | ||
| ===== Bibliography/Resources ====== | ===== Bibliography/Resources ====== | ||
| - | <note> | ||
| - | **Hardware Resources** | ||
| - | * ATmega328P datasheet | ||
| - | * ATmega328P Xplained Mini documentation | ||
| - | * operational amplifier datasheet | ||
| - | * LCD datasheet, if LCD is used | ||
| - | * basic guitar pedal electronics references | ||
| - | **Software Resources** | ||
| - | * AVR peripheral documentation | ||
| - | * ADC and PWM examples | ||
| - | * UART communication examples | ||
| - | * optional I2C examples | ||
| - | |||
| - | **Course Resources** | ||
| - | * PM laboratory materials | ||
| - | * PM project template | ||
| - | |||
| - | **Other Resources** | ||
| - | * similar guitar pedal projects | ||
| - | * audio signal processing tutorials for embedded systems | ||
| - | </note> | ||
| <html><a class="media mediafile mf_pdf" href="?do=export_pdf">Export to PDF</a></html> | <html><a class="media mediafile mf_pdf" href="?do=export_pdf">Export to PDF</a></html> | ||