Отговори на тема  [ 7 мнения ] 
Създаване на сорс код 
Автор Съобщение
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Пет Фев 19, 2016 9:52 pm
Мнения: 13
Мнение Създаване на сорс код
Здравейте.
Регистрирах се във форума, защото ми трябва човек, който да създаде сорс код за pic по дадено задание. Идеята е следната: трябва да се направи устройство, което да управлява различни групи от диоди и външни устройства. Като за начало трябва да има един power бутон и шест други бутона, с които съответно да се пускат различни три групи диоди и три външни устройства. Шестте бутона да се изключват взаимно един друг. Като натиснеш един бутон да се включва дадена група от диоди, като натиснеш друг да се пали друга група диоди, а първата да гасне - съответно по същият начин и за външните устройства.
И да има още един бутон, с който да може да се намалява яркостта на светене на дадената запалената в този момент група от диоди. Това е засега.
И последно бутоните да бъдат капацитивни сензори.
Ако може човека да бъде от София, за да може по лесно да комуникираме и уточним подробности по заданието.
Поздрави.


Пет Фев 19, 2016 10:43 pm
Профил
Ранг: Почетен член
Ранг: Почетен член
Аватар

Регистриран на: Съб Сеп 17, 2005 5:07 pm
Мнения: 813
Местоположение: Сливен
Мнение Re: Създаване на сорс код
Щом искаш сорс, значи имаш вече схема?
Пуснеш ли схема до утре сутрин ти пиша сорса безплатно .
Обаче предчуствам ,че така зададено заданието очаква @ike да влезе с оферта ;)

_________________
Код:
while(true);


Съб Фев 20, 2016 12:12 am
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Вто Ное 27, 2012 9:27 pm
Мнения: 2011
Мнение Re: Създаване на сорс код
То хубаво че е Ике за да се съобразяваме. ;)

Пуснеш ли схема до утре сутрин ти пиша сорса безплатно .

И мама на тати не дава без ... ;)

Тука не се търсят оферти а балъци. Защо да си губим времето с безплатни идеи?


Съб Фев 20, 2016 1:31 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Пет Фев 04, 2005 9:59 pm
Мнения: 6019
Местоположение: София
Мнение Re: Създаване на сорс код
На лично съобщение му изпратих оферта за $1.55

_________________
Warriors of the Night, ASSEMBLER!!!


Съб Фев 20, 2016 3:47 am
Профил
Ранг: Почетен член
Ранг: Почетен член
Аватар

Регистриран на: Съб Сеп 17, 2005 5:07 pm
Мнения: 813
Местоположение: Сливен
Мнение Re: Създаване на сорс код
Айде от мен да мине .. драснах нещо чисто с учебна цел на новопристъпващите в царството на Пикоборците.
Постарах се нещата да бъдат максимално четими . Няма как да го тествам разбира се :) със сигурност ще има нужда от калибровка на тъч каналите и може би и на яркостта на ледовете .
Пикльото който избрах (16ф1829) беше първия попаднал ми на полезрението с тъч канали ...можеше разбира се да го подкарам и с АДЦ за тъч но сметнах ,че така ще е може би по-редно.
Компилатора с който е компилирано е CCS.
Код:
/*
//output pins
LED1 ->  PIN_C5
LED2 ->  PIN_A5
LED3 ->  PIN_C6
OUT1 ->  PIN_B4
OUT2 ->  PIN_B5
OUT3 ->  PIN_B6

//input pins
BUTTON_POWER    -> PIN_A0
BUTTON_LED1     -> PIN_A1
BUTTON_LED2     -> PIN_A2
BUTTON_LED3     -> PIN_A4
BUTTON_OUT1     -> PIN_C0
BUTTON_OUT2     -> PIN_C1
BUTTON_OUT3     -> PIN_C2
BUTTON_LED_DOWN -> PIN_C4

*/



#include <16F1829.h>
#device ADC=10

#FUSES NOBROWNOUT               //No brownout reset
#FUSES NOLVP                    //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O

#use delay(internal=8MHz)
#USE TOUCHPAD(RANGE=M, THRESHOLD=6, SCANTIME=32, PIN_A0='A', PIN_A1='B', PIN_A2='C', PIN_A4='D', PIN_C0='E', PIN_C1='F', PIN_C2='G', PIN_C3='H')
#define OUT1 PIN_B4
#define OUT2 PIN_B5
#define OUT3 PIN_B6
#define PWM_MAX 500
#define PWM_STEP 100

struct _STATES {
   int1 led_1;
   int1 led_2;
   int1 led_3;
   int1 out_1;
   int1 out_2;
   int1 out_3;
  } states;

int16 pwm_duty=0; // 512=50% pwm 
boolean POWER_ON=false;

void scan_keys()
{
char c;
   if ( TOUCHPAD_HIT() ) 
    {
     c = TOUCHPAD_GETC(); 
     delay_ms(100);
   
     
     switch(c)
     {
       case 'A': //power button
         POWER_ON= !POWER_ON;
       break;
       
       case 'B': //led1 button
         states.led_1=1;
         states.led_2=0;
         states.led_3=0;
         pwm_duty=PWM_MAX;
       break;
       
       case 'C': //led2 button
         states.led_1=0;
         states.led_2=1;
         states.led_3=0;
         pwm_duty=PWM_MAX;
       break;
       
       case 'D': //led3 button
         states.led_1=0;
         states.led_2=0;
         states.led_3=1;
         pwm_duty=PWM_MAX;
       break;
       
       case 'E': //out1 button
         states.out_1=1;
         states.out_2=0;
         states.out_3=0;
       break;
       
       case 'F': //out2 button
         states.out_1=0;
         states.out_2=1;
         states.out_3=0;
       break;
       
       case 'G': //out3 button
         states.out_1=0;
         states.out_2=0;
         states.out_3=1;
       break;
       
       case 'H': //pwm down button         
         if(pwm_duty<PWM_STEP)
         {
            pwm_duty=0;
         }else
         if(pwm_duty>PWM_MAX)
         {
           pwm_duty=PWM_MAX;
         }else
         {
           pwm_duty-=PWM_STEP;
         }
         
       break;
     }
    }
}



void main()
{
   enable_interrupts(GLOBAL);
   setup_oscillator(OSC_8MHZ|OSC_INTRC|OSC_PLL_OFF,0);
   set_tris_a(0xff);
   set_tris_b(0);
   setup_comparator(NC_NC_NC_NC);
   setup_timer_2(T2_DIV_BY_16,255,1);      //2.0 ms overflow, 2.0 ms interrupt
   
   setup_ccp1(CCP_PWM|CCP_SHUTDOWN_AC_L|CCP_SHUTDOWN_BD_L);
   setup_ccp2(CCP_PWM|CCP_SHUTDOWN_AC_L|CCP_SHUTDOWN_BD_L);
   setup_ccp4(CCP_PWM);
   set_pwm1_duty(0);   //PIN_C5  ->led1
   set_pwm2_duty(0);   //PIN_A5  ->led2
   set_pwm4_duty(0);   //PIN_C6  ->led3
   TOUCHPAD_STATE(1); //calibrate touches
   
   states=0;
   
   while(TRUE)
   {
       scan_keys();
       if(POWER_ON)
       {
          if(states.led_1)
          {
            set_pwm1_duty(pwm_duty);
          }
         
          if(states.led_2)
          {
            set_pwm2_duty(pwm_duty);
          }
         
          if(states.led_3)
          {
            set_pwm4_duty(pwm_duty);
          }
         
          if(states.out_1) output_high(OUT1); else output_low(OUT1);
         
          if(states.out_2) output_high(OUT2); else output_low(OUT2);
         
          if(states.out_3) output_high(OUT3); else output_low(OUT3);
         
       }
       else
       {
         set_pwm1_duty(0);
         set_pwm2_duty(0);
         set_pwm4_duty(0);
         output_low(OUT1);
         output_low(OUT2);
         output_low(OUT3);
       }
   }

}

_________________
Код:
while(true);


Нед Фев 21, 2016 1:53 am
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Вто Ное 27, 2012 9:27 pm
Мнения: 2011
Мнение Re: Създаване на сорс код
Дъмпинг? ;)
Ике загуби една Боза ;)


Нед Фев 21, 2016 1:59 am
Профил
Online
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Сеп 26, 2004 9:21 pm
Мнения: 30685
Местоположение: София
Мнение Re: Създаване на сорс код
Всички сте за бой .... после ще мрънкате че чистачките ви спират и че колата завива сама ....


Нед Фев 21, 2016 2:10 am
Профил
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 7 мнения ] 

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 4 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения
Вие не можете да прикачвате файл

Търсене:
Иди на:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Хостинг и Домейни