Arduino schéma - arduino.sk

MAX4571 - audio/video switch

Programovanie arduina
Obrázok užívateľa
Príspevky: 318
Registrovaný: Pon 19. Nov 2012 12:01:08
Bydlisko: HC/BA

MAX4571 - audio/video switch

Poslaťod tomXX » Ned 22. Dec 2013 12:39:56

Ahojte, do projektu audio zosilňovača som riešil prepínač vstupov a našiel som MAX4571, obsahuje 11 spínačov, ovládanie I2C. Takže ak ideme prepínať stereo, tak máme k dispozícii 5 vstupov - tu je datasheet - http://www.maximintegrated.com/datashee ... vp/id/1974
Výhodou je, že aj sa zaregistrujete na ich webe (treba použiť iný email ako gmail, yahoo...), tak si viete nechať zaslať zdarma vzorky (engineering samples) ;) Malá nevýhoda je, že zrovna MAX4571 je iba v SO-28 puzdre, takže treba redukciu http://www.ebay.com/itm/181116683100

Tu je ukážkový kód (na 5 sekúnd zapne SW1 a na 5 vypne...) a príloha pavučina na protoboarde (je tam aj DS1803 - I2C dvojitý potenciometer 50k, 256 krokov aj iné haraburdy).

Kód: Vybrať všetko
#include <Wire.h>

#define MAX4571 0x34
#define RESET     0x00
#define SWITCHSET 0xC0
#define MODESET   0x40
#define SW1  0x01
#define SW2  0x02
#define SW3  0x04
#define SW4  0x08
#define SW5  0x10
#define SW6  0x20
#define SW7  0x40
#define SW8  0x80
#define SW9  0x100
#define SW10 0x200
#define SW11 0x400

void setup(){
  Wire.begin();
}

void AudioSwitch(byte command, word sw){
  Wire.beginTransmission(MAX4571);
  Wire.write(command);
  Wire.write((byte) sw >> 8);
  Wire.write((byte) sw);
  Wire.endTransmission();
}

void loop(){
  AudioSwitch(SWITCHSET, SW1);
  delay(5000);

  AudioSwitch(SWITCHSET, !SW1);
  delay(5000);
}


Pomocou logických operátorov sa dajú robiť samozrejme komplexnejšie veci:

Kód: Vybrať všetko
AudioSwitch(SWITCHSET, SW1 | SW2 | !SW3 | !SW4);


Zapni SW1 a SW2 a vypni SW3 a SW4 :geek:
Prílohy
IMG_20131222_112859.jpg
blog.sitepoint.sk - zaujímavé riešenia okolo Arduina

Späť na Software