Микроконтролери и електроника
http://mcu-bg.com/mcu_site/

Търся накой да направи програма срещу заплащане
http://mcu-bg.com/mcu_site/viewtopic.php?f=5&t=11494
Страница 1 от 1

Автор:  revniv84 [ Съб Юни 29, 2013 7:00 pm ]
Заглавие:  Търся накой да направи програма срещу заплащане

Става въпрос за около 20 сателитни приемници
които забиват от време на време , целта на занятието е да се следи аналоговия изход за звук от приемника
и при липса примерно от 2 минути да се рестартира сателитния приемник посредством реленце
За предпочитане е да се използват малко на брой елементи и не много скъп микроконтролер като PIC12F508
схемата може да се направи примерно индивидуално за всеки приемник или съвкупно за всичките 20-те
предпочитам да е за всеки приемник отделно за по голяма гъвкавост при последващи смени на приемниците
за връзка с мен по тел. 0894857337 Рамадан Рамадан

Автор:  relsys [ Вто Юли 02, 2013 3:54 pm ]
Заглавие:  Re: Търся накой да направи програма срещу заплащане

Ето ти го за PIC12F629:

Код:
//  SAT Receiver Reset
//  MCU:   PIC12F629
//  CLock: 4MHz INTOSC
//  rsrachev [at] gmail [dot] com
//  July'2013

#define TIMEDIFF(a,b) (((a) >= (b)) ? ((a) - (b)) : (((a) + ((b)^0xFFFFFFFF) + 1)))

#define MIN(x) x*60*1000
#define SEC(x) x*1000

#define IDLE         0
#define NO_SOUND     1
#define RESET        2


unsigned long time, time_now;
unsigned char Task;

void Init_TMR0()
{
  OPTION_REG = 0b11010001;  //TMR0 pre=1:4
  INTCON     = 0b11100000;  //TMR0 Int Enable
}

void Init_System()
{
  CMCON = 7;
  TRISIO0_bit = 0; //relay output
  TRISIO1_bit = 1; //audio input
  GPIO.B0 = 0;

  Init_TMR0();
 
  time_now = 0;
  Task = IDLE;
}

void interrupt()
{
  if (TMR0IF_bit)
    {
      TMR0 = 0xFF - 250;  //250*4 to get 1ms resolution
      time_now++;
      TMR0IF_bit = 0;
    }
}

void main()
{
  Init_System();
 
  while (1)
    {
      switch (Task)
        {
           case IDLE:
             if (GPIO.B1 == 0)  //no sound
               {
                 time = time_now;
                 Task = NO_SOUND;
               }
             break;
             
           case NO_SOUND:
             if (GPIO.B1 == 0)  //still no sound
               {
                 if (TIMEDIFF(time_now, time) >= MIN(2))  //2 min
                   {
                     time = time_now;
                     GPIO.B0 = 1;  //set reset relay
                     Task = RESET;
                   }
               }
             else
               {
                 Task = IDLE;
               }

             break;
             
           case RESET:
             if (TIMEDIFF(time_now, time) >= SEC(2))  //2 sec relay pulse
               {
                 GPIO.B0 = 0;
                 Task = IDLE;
               }
             break;
             
           default:
             Task = IDLE;
        }
    }

}


Дължиш ми 1 лв. ... 8)

Автор:  Cekins [ Вто Юли 02, 2013 9:02 pm ]
Заглавие:  Re: Търся накой да направи програма срещу заплащане

А ако телевизията в тоя момент не излъчва нищо - ще рестартира през две минути. И такива ситуации съм виждал - проблема да не е във "вашия талавизор" ...

Автор:  Lupus [ Вто Юли 02, 2013 9:08 pm ]
Заглавие:  Re: Търся накой да направи програма срещу заплащане

Cekins написа:
А ако телевизията в тоя момент не излъчва нищо - ще рестартира през две минути. И такива ситуации съм виждал - проблема да не е във "вашия талавизор" ...

Това се оправя лесно - след третия рестарт даваш един час пауза и пращаш SMS до дежурния оператор или който там отговаря за главната станция. После вече решенията ги взема той.

Автор:  relsys [ Сря Юли 03, 2013 11:03 am ]
Заглавие:  Re: Търся накой да направи програма срещу заплащане

Cekins написа:
А ако телевизията в тоя момент не излъчва нищо - ще рестартира през две минути. И такива ситуации съм виждал - проблема да не е във "вашия талавизор" ...


Е, то няма угодия... :lol: :lol: :lol:
Ама мисля, че заданието е спазено точно. Трябва да взема да ги пиша по-смотано, да не може да ги разчитате толкова лесно... :D :D :D

Иначе, програмчето е идеално за демонстрация как се правят големи делеи без да отнемаш ресурса на процесора. Колегата hacker4eto1 от темата със скоростите да хвърли един поглед и после да каже къде ще пием бира... ;)

Автор:  ike [ Сря Юли 03, 2013 12:45 pm ]
Заглавие:  Re: Търся накой да направи програма срещу заплащане

revniv84 аз ще ти го направя за четвърт бира(аз съм извратеняк и не обичам да пия) и с по-евтин процесор 74hc14 с този чип ще можеш да рестартираш 6 устройства независимо едни от други.
Обаче има уловка. На някой ще трябва да платиш половин бира, за да ти сметне стойностите на резисторите и кондензатора.

Прикачени файлове:
cheap.gif
cheap.gif [ 17.86 KiB | Прегледано 1677 пъти ]

Автор:  Наско [ Чет Юли 04, 2013 2:45 pm ]
Заглавие:  Re: Търся накой да направи програма срещу заплащане

Lupus написа:
Cekins написа:
А ако телевизията в тоя момент не излъчва нищо - ще рестартира през две минути. И такива ситуации съм виждал - проблема да не е във "вашия талавизор" ...

Това се оправя лесно - след третия рестарт даваш един час пауза и пращаш SMS до дежурния оператор или който там отговаря за главната станция. После вече решенията ги взема той.


Проблема е в техния TV.

Ако не се лъжа става въпрос за Незаконна домашна IPTV Изградена с евтини Китайски Сателитни приемници Така че "дежурния оператор" е Жената децата Тъщата :D

Автор:  Lupus [ Чет Юли 04, 2013 3:10 pm ]
Заглавие:  Re: Търся накой да направи програма срещу заплащане

Тогава тъщата на денонощно дежурство! :D

Страница 1 от 1 Часовете са според зоната UTC + 2 часа [ DST ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/