Modules:

Wearable

  • Variable oscillator
  • When the off-board inductor was placed near metal, the frequency of oscillation would change.
  • OpAmp
  • Made the sine wave oscillation of the variable oscillator into a square wave, rail to rail
  • Adafruit ESP32 Feather V2 - client
  • Took the oscillation as an input
  • Had a function which would calculate the period of the oscillation and sent a number 1 through 4 depending on the frequency via wifi to the ESP32 in the main module

Main Module

  • Enclosure
  • Adafruit ESP32 Feather V2 - server - receiver of harmonic info
  • Receives a number 1 through 4
  • Sets pins 12 and 13 high or low accordingly to output the two bits of information
  • Level shifter
  • Changes the high logic level from 3.3V on the Feather output to 5V for digital input pins in the Elegoo
  • Sequencer Knobs
  • Potentiometers which change the voltage into 4 different analog input pins in the Elegoo
  • There is a log function within the main code which gives equal arc length on the knob to each note in the musical range of the output
  • Elegoo - main code
  • Had a timer overflow interrupt that was set up so that every 0.5 seconds it would…
  • Change which of the 4 analog input pins it was reading from, effectively changing which of the 4 base notes was being set in the next bullet
  • Call functions which would calculate and set the PWM variables so that the correct base note was played
  • Call functions which would calculate and set PWM variables for the harmonic notes based on the digital input pins which were receiving the information from the wearable

Built With

Share this project:

Updates