Accueil / Arduino / PREAMPuino

15

Déc

2015

PREAMPuino Imprimer Envoyer
Écrit par john_lenfr   

Réalisation d'un Préampli contrôlable à distance par une interface Ethernet, par l'intermédiaire d'un bouton rotatif avec encodeur et  de télécommandes IR:

  • Arduino MEGA
  • Arduino Ethernet shield
  • PGA2311 kit on ebay
  • Encoder
  • IR remote
  • Network control



Let me present to you my PREAMPuino (for now version v1.4)

My modified PGA2311:

  •  get the mounted version on ebay with remote control


Changings:

Hardware:


  • replaced the PGA2311P (0.0004% THD+N at 1kHz (U-Grade)) by a PGA2311PA (0.0002% THD+N at 1kHz (A-Grade))
  • realocate the transformer
  • put Arduino MEGA inside
  • put Arduino ethernet shield on MEGA
  • put a RTC module named HCRTC (RTC DS1307 + I2C EEPROM) on I2C
  • replaced the poor default encoder by a BOURNS encoder ref EM14
  • replaced the poor lcd screen by an OLED screen
  • adding a chassis ethernet plug
  • adding a softreset button to restore 'factory defaults'
  • adding a beeper to inform


Software:


  • trashed the control board and default lcd with default encoder
  • programmed the arduino MEGA to control all stuff
  • regroup infos on OLED lib (resume work of poeple who worked on this lib)


Features:


  • The Arduino MEGA and its shield Ethernet controls everything.
  • Power ON with soft volume on
  • Changing sources


In standby mode (or standby or sleep mode):


  • The OLED shows in order: Time-date / IP / PORT / DNS / GATEWAY / MASK then go back to Time-date (infos can be viewed/changed by encoder or IR remotes (and yes, remotes with an "S" because I programmed all the remote I have at home so I can command my PREAMPuino with them)
  • Time/date: The box shows TIME/DATE with automatic update on an NTP server.
  • Ethernet stuff: is also automatic in DHCP mode so you just need to adjust your box/router settings to get a valid IP on the PGA2311 box.
  • If the box doesn't detect dhcp, it will start with default parameters in EEPROM.


In power ON mode:


  • The screen shows on 1st line the source, on second line the volume in db. I choose db instead of percentage, but percentage is easily codable with the 'map()' function.
  • With the encoder turned right, volume increasing
  • With the encoder turned left, volume decreasing
  • If you push the switch encoder less than 3s, it will switch between the 3 inputs
  • If you push the switch encoder more than 3s, il will put the box in standby mode (then you returned to the Time/date screen)


General description:

When in operation the screen will be put in minimum contrast in about 1min and will completely shut down in about 15minutes.

IR Remotes can do the same functions except you have the ability to SAVE data to eeprom. It will record the volume and ethernet settings in EEPROM.

In case of power failure, these parameters will be restored.

The reset button located at the back of the chassis have the ability to reset the box to the factory defaults in case you have problems with it (EEPROM will be erased and set to factory defaults).

Code will be available here:

TELECHARGER ARDUINO IDE CODE


PREAMPuino PGA2311

  

HTTP interface

    

Video (when in debug mode)