Obsah fóra hifi.slovanet.sk hifi.slovanet.sk

Bolo zavedene manualne potvrdzovanie registracii !!!
 
 FAQFAQ   HľadaťHľadať   Zoznam užívateľovZoznam užívateľov   Užívateľské skupinyUžívateľské skupiny   RegistráciaRegistrácia 
 NastaveniaNastavenia   Súkromné správySúkromné správy   PrihláseniePrihlásenie 
https://www.tnt-audio.com/gif/smallstereo_white.gif

HYPA1/HYPA10 trigger - ako funguje

 
Pridať novú tému   Zaslať odpoveď    Obsah fóra hifi.slovanet.sk -> Zaujímavé súčiastky a zapojenia
Zobraziť predchádzajúcu tému :: Zobraziť nasledujúcu tému  
Autor Správa
NeoV
Nádejný hifista


Založený: 20 november 2014
Príspevky: 51

PríspevokZaslal: St marec 18, 2015 00:26:40    Predmet: HYPA1/HYPA10 trigger - ako funguje Odpovedať s citátom

Ahojte,

Chcel by som si zjednodusit zapinanie zostavy a vyuzit trigger z HYPA1, resp. HYPA10 na zapinanie mojho DAC Beresford TC-7533 (https://plus.google.com/photos/117483462327842541117/albums/6127350371649880897?authkey=CI6Sta3q6N3F7gE).

To ma mechanicky packovy prepinac - ten by bol v polohe "ON" a ja chcem umiestnit "krabicku" medzi adapter 15V DC 0,8A a DAC... ktora by na zaklade triggra z HYPA zopla/rozopla napajanie DACu...

Co k tomu potrebujem ? ako presne funguje trigger v HYPA ? Povodne som si myslel ze je tam stalych 12V pri zapnutom stave... ale takto to nie je.. :-\

Staci pouzit nieco taketo?

http://www.ebay.com/itm/12V-1-Channel-Relay-Module-Low-Level-Trigger-Relay-Expansion-Board/201074943112?_trksid=p2047675.c100005.m1851&_trkparms=aid%3D222007%26algo%3DSIC.MBE%26ao%3D1%26asc%3D28773%26meid%3D5d12f65b4a47431e9c33735610cdef74%26pid%3D100005%26rk%3D2%26rkt%3D6%26sd%3D181473758757&rt=nc

Dakujem za rady Smile

PS: V elektro-suciastkach sa velmi nevyznam... hladam co naviac "ready to use" riesenie...

_________________
North Star Design Essensio Plus ▶ Unison Research Unico P ▶ DynAudio Special Forty
├ Optical IN: HTPC ▶ LG OLED C1
└ Dig. RCA IN: Sonos Port
Návrat hore
Zobrazit informácie o autorovi Odoslať súkromnú správu
Quart
Hifi expert


Založený: 26 december 2008
Príspevky: 1377
Bydlisko: Litoměřice

PríspevokZaslal: St marec 18, 2015 08:38:13    Predmet: Odpovedať s citátom

Vyveďte si 12V z Vašeho DAC a připojte do řídícího vstupu HYPA 1. Při zapnutí Vašeho DAC se Vám vyšle 12V do řídícího vstupu HYPA 1 a ten pak zapne HYPA 10. Přístroje HYPA lze zapnout jak stálými 12V tak triggerem kde zapínací impulz má délku 25ms a vypínací 50ms.

V případě Vašich dalších dotazů mne prosím neváhejte kontaktovat na našem emailu viz: http://www.customworks.cz/kontaktni-formular/

_________________
www.facebook.com/SPaudioCZ
www.SPaudio.cz
www.CustomWorks.cz
www.revize-hc.cz
Návrat hore
Zobrazit informácie o autorovi Odoslať súkromnú správu Odoslať e-mail Zobraziť autorové WWW stránky
NeoV
Nádejný hifista


Založený: 20 november 2014
Príspevky: 51

PríspevokZaslal: Ne apríl 19, 2015 18:57:07    Predmet: Odpovedať s citátom

Tak po hodinach studia co to o elektronike a elektro suciastkach Very Happy uz viem naco je transistor Smile a co je to optoclen... som problem poriesil.... a nasiel som vyuzitie i pre posledne volne tlacidlo apple dialkoveho "MENU" pre prepinanie inputov na DAC prevodniku Razz

foto tu:

https://www.facebook.com/media/set/?set=a.10206300551026293.1073741829.1641891389&type=1&l=157f7d47cd

neskor pastnem i schemu a mozno i kod Smile

_________________
North Star Design Essensio Plus ▶ Unison Research Unico P ▶ DynAudio Special Forty
├ Optical IN: HTPC ▶ LG OLED C1
└ Dig. RCA IN: Sonos Port
Návrat hore
Zobrazit informácie o autorovi Odoslať súkromnú správu
NeoV
Nádejný hifista


Založený: 20 november 2014
Príspevky: 51

PríspevokZaslal: Ne apríl 19, 2015 21:15:23    Predmet: Odpovedať s citátom

Schema pridana do albumu... a tu je kod (osekol som 180 bajtove polia signalov zapnutia a vypnutia svetiel - nech mi sem niekto nepride svietit svetla Very Happy):

kód:

#define ampPin 3
#define dacInputCheckPin 4
#define dacInputPin 5
#define dacPowerPin 6
#define buttonPin 7
#define irPin 8
#define rfTransmitPin 12
#define ledPin 13

#define lightPin A5

#define lightTresholdLow 40
#define lightTresholdHigh 60 //set to very low values as sensor behind TV...
#define buttonPulseLen 1500
#define irValue 2011250883
#define dacInputDelay 150
#define ampMinTreshold 10
#define ampOffTreshold 35
#define lightOffDelay 120000 //2mins

#include <IRremote.h>
 
IRrecv irrecv(irPin);
decode_results results;

 
 const int dataSize = 180;
 const byte signalOn[] = {7,4,4,8,8,4,7,.....,3,2,10}; // SHAPED !!!!
 const byte signalOff[] = {3,9,8,3,4,8,8....2,10,2,9}; // SHAPED !!!!
 const int timeDelay = 105;    //Used to slow down the signal transmission (can be from 75 - 135)
 
 volatile boolean lightIsOn = false;
 volatile boolean lightAutoOn = false;
 volatile unsigned long ampTime = 0;
 volatile unsigned long ampOffTime = 0;

 
 boolean buttonPinWasLow = true;
 boolean dacInputCheckPinWasLow = true;
 

 void setup(){
   Serial.begin(9600);    //Initialise Serial communication - only required if you plan to print to the Serial monitor
   
   attachInterrupt(0, ampStartTime, FALLING);
   attachInterrupt(1, ampEndTime, RISING);
   
   pinMode(ampPin, INPUT);
   pinMode(buttonPin, INPUT);
   pinMode(dacInputCheckPin, INPUT);

   pinMode(rfTransmitPin, OUTPUT);   
   pinMode(ledPin, OUTPUT);
   pinMode(dacInputPin, OUTPUT);
   pinMode(dacPowerPin, OUTPUT);

   digitalWrite(dacInputPin, LOW);
   digitalWrite(dacPowerPin, LOW);
   
   irrecv.enableIRIn(); // Start the receiver
   
   Serial.println("Setup Done");
 }
 
 void loop(){
   // check photoresistor
   /*if(millis()%5000 == 0)
   {
     Serial.print(" | lightIsOn: "); Serial.print(lightIsOn);
     Serial.print(" | lightAutoOn: "); Serial.print(lightAutoOn);
     Serial.print(" | ampTime: "); Serial.print(ampTime);
     Serial.print(" | ampOffTime: "); Serial.print(ampOffTime);
     Serial.print(" | LIGHT: "); Serial.println(analogRead(lightPin));
   }*/
   if(lightAutoOn)
   {
     if(analogRead(lightPin) < lightTresholdLow && !lightIsOn)
     {
       Serial.print("LIGHT trigger ON: "); Serial.println(analogRead(lightPin));
       sendOnSignal();
       lightIsOn = true;
     }
     else
     {
       if(analogRead(lightPin) > lightTresholdHigh && lightIsOn)
       {
         Serial.print("LIGHT trigger OFF: "); Serial.println(analogRead(lightPin));
         sendOffSignal();
         lightIsOn = false;
       }
     }
   }
   
   // check light Button
   if(digitalRead(buttonPin) == HIGH)
   {
     if(buttonPinWasLow)
     {
       Serial.println("Button Pressed");
       if(pulseLength(buttonPin, HIGH, buttonPulseLen) >= buttonPulseLen)
       {
         Serial.println("Set lightAutoOn TRUE");
         lightAutoOn = true;
       }
       else
       {
         Serial.println("Set lightAutoOn FALSE");
         lightAutoOn = false;
       }
       if(lightIsOn)
       {
         sendOffSignal();
         lightIsOn = false;
       }
       else
       {
         sendOnSignal();
         lightIsOn = true;
       }
       buttonPinWasLow = false;
     }
   }
   else
   {
     if(!buttonPinWasLow)
     {
       Serial.print("Button released.........");
       buttonPinWasLow = true;
     }
   }
   
   // check dac in
   // TODO: HW riesenie in progress :-)
   /*if(digitalRead(dacInputCheckPin) == HIGH)
   {
     if(dacInputCheckPinWasLow)
     {
       Serial.println("DAC Input button pressed.........");
       if(digitalRead(dacPowerPin) == LOW)
       {
         //turn on DAC
         digitalWrite(dacPowerPin, HIGH);
       }
       dacInputCheckPinWasLow = false;
     }
   }
   else
   {
     if(!dacInputCheckPinWasLow)
     {
       Serial.println("DAC Button released.........");
       dacInputCheckPinWasLow = true;
     }
   }*/
   
   // check IR
   if (irrecv.decode(&results))
   {
     if(results.value == irValue)
     {
       Serial.print("IR: ");
       Serial.println(results.value);
     
       if(digitalRead(dacPowerPin) == LOW)
       {
         //turn on DAC
         digitalWrite(dacPowerPin, HIGH);
         lightAutoOn = true;
         ampOffTime = 0;
       }
       else
       {
         //switch Input
         digitalWrite(dacInputPin, HIGH);
         delay(dacInputDelay);
         digitalWrite(dacInputPin, LOW);
         //digitalWrite(dacPowerPin, (digitalRead(dacPowerPin)+1)%2);
       }
     }
     irrecv.resume(); // Receive the next value
  }
 
  // check aduio shutdown -- handle long type reset to zero
  if(ampOffTime > 0 && lightIsOn && (millis() - ampOffTime > lightOffDelay || (ampOffTime > millis() && millis() > lightOffDelay)))
  {
     Serial.print("LIGHT Delayed OFF");
     sendOffSignal();
     lightIsOn = false;
     ampOffTime = 0;
  }
 }
 
 
 void sendOnSignal(){
   digitalWrite(ledPin, HIGH);
   cli();
   for(int i=0; i<dataSize; i=i+2){
       //Send HIGH signal
       digitalWrite(rfTransmitPin, HIGH);     
       delayMicroseconds(signalOn[i]*timeDelay);
       //Send LOW signal
       digitalWrite(rfTransmitPin, LOW);     
       delayMicroseconds(signalOn[i+1]*timeDelay);
   }
   sei();
   digitalWrite(ledPin, LOW);
   
   Serial.println("Send ON Signal");
 }

 void sendOffSignal(){
   digitalWrite(ledPin, HIGH);
   cli();
   for(int i=0; i<dataSize; i=i+2){
       //Send HIGH signal
       digitalWrite(rfTransmitPin, HIGH);     
       delayMicroseconds(signalOff[i]*timeDelay);
       //Send LOW signal
       digitalWrite(rfTransmitPin, LOW);     
       delayMicroseconds(signalOff[i+1]*timeDelay);
   }
   sei();
   digitalWrite(ledPin, LOW);
   Serial.println("Send OFF Signal");
 }
 
 int pulseLength(byte pin, byte STATE, int limit)
 {
   unsigned long time = millis();
   // do nothing while input in state...
   while(digitalRead(pin) == STATE && (millis() - time) <= limit) {}
   return millis() - time;
 }
 
 void ampStartTime()
 {
   Serial.print("Interrupt - START");
   ampTime = millis();
   Serial.println(ampTime);
 }
 
 void ampEndTime()
 {
   Serial.print("Interrupt - END -> ");
   ampTime = millis() - ampTime;
   Serial.println(ampTime);
   
   if(ampTime > ampMinTreshold && ampTime != millis())
   {
     if(ampTime < ampOffTreshold)
     {
       //on
       digitalWrite(dacPowerPin, HIGH);
       lightAutoOn = true;
       ampOffTime = 0;
     }
     else
     {
       //off
       ampOffTime = millis();
       lightAutoOn = false;
       digitalWrite(dacPowerPin, LOW);
     }
   }
   
   ampTime = 0;
 }

_________________
North Star Design Essensio Plus ▶ Unison Research Unico P ▶ DynAudio Special Forty
├ Optical IN: HTPC ▶ LG OLED C1
└ Dig. RCA IN: Sonos Port
Návrat hore
Zobrazit informácie o autorovi Odoslať súkromnú správu
Zobraziť príspevky z predchádzajúcich:   
Pridať novú tému   Zaslať odpoveď    Obsah fóra hifi.slovanet.sk -> Zaujímavé súčiastky a zapojenia Časy uvádzané v GMT + 1 hodina
Strana 1 z 1

 
Prejdi na:  
Nemôžete pridávať nové témy do tohto fóra.
Nemôžete odpovedať na témy v tomto fóre.
Nemôžete upravovať svoje príspevky v tomto fóre.
Nemôžete mazať svoje príspevky v tomto fóre.
Nemôžete hlasovať v tomto fóre.
Nemôžete pripojiť súbory do tohto fóra.
Nemôžete sťahovať súbory z tohto fóra.


Powered by phpBB © 2001, 2005 phpBB Group
Slovenský preklad phpBB Slovak - www.pcforum.sk
TOPlist