www.elektronik.si Seznam forumov www.elektronik.si
Forum o elektrotehniki in računalništvu
 
 PomočPomoč  IščiIšči  Seznam članovSeznam članov  SkupineSkupine  StatisticsStatistika  AlbumAlbum  DatotekeFilemanager DokumentacijaDocDB LinksPovezave   Registriraj seRegistriraj se 
  PravilaPravila  LinksBolha  PriponkePriponke  KoledarKoledar  ZapiskiZapiski Tvoj profilTvoj profil Prijava za pregled zasebnih sporočilPrijava za pregled zasebnih sporočil PrijavaPrijava 

Program za prižiganje LED luči s potenciometrom

 
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Microchip PIC
Poglej prejšnjo temo :: Poglej naslednjo temo  
Avtor Sporočilo
Mico22
Član
Član



Pridružen-a: Tor 21 Maj 2013 11:51
Prispevkov: 41
Aktiv.: 0.28
Kraj: Maribor

PrispevekObjavljeno: Pon Jun 10, 2013 12:50 pm    Naslov sporočila:  Program za prižiganje LED luči s potenciometrom Odgovori s citatom

Zdravo

Že dolgo časa, poskušam napisati program za prišiganje led luži s potenciometrom.
Žal še mi do danes vedno ni uspelo.

V kolikor je kdo v c-programskem jeziku napisal tak program, se toplo priporočam.

Uporabljam pickit2 in pic16f690


Hvala za vse Smile

_________________
LP Mico
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
tilz0R
Član
Član



Pridružen-a: Čet 31 Maj 2012 15:39
Prispevkov: 898
Aktiv.: 5.66
Kraj: Črnomelj

PrispevekObjavljeno: Pon Jun 10, 2013 3:21 pm    Naslov sporočila:   Odgovori s citatom

kaj imaš to v mislih s potenciometrom?

Torej, bolj "odpreš" potenciometer, bolj luč sveti? Če je to to, pogooglaj za "PWM" za tvoj PIC pa bo zagotooovo "svega i svašta".

_________________
Knowledge sharing is caring.
majerle.eu | stm32f4-discovery.net
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
Mico22
Član
Član



Pridružen-a: Tor 21 Maj 2013 11:51
Prispevkov: 41
Aktiv.: 0.28
Kraj: Maribor

PrispevekObjavljeno: Sre Jun 12, 2013 11:57 am    Naslov sporočila:  Uspel sem napisat program (urediti) Odgovori s citatom

Prilagam program za vse ki bi želeli s potenciometrom vklapljat lučke.
Narejeno za pic16f690.

Mam pa še eno vprašanje, kako bi lahko podalšal korak, da bi naprimer od 0-1V svetila 1 led, 1-2V 2 led,... 5V.

Mi lahko kdo pomaga v tem ?


Koda:

#include <htc.h>        //vkljucitev datoteke z definicajimi simbolov



unsigned int read_ad()
{
   unsigned int rezultat;                     // lokalne spremenljivke
   
   
      GODONE = 1;
       while(GODONE==1)   ;                  // cakamo na konec pretvorbe
      rezultat=(ADRESL|(ADRESH<<8));            // shranimo vrednost AD pretvorbe                                     
      
   
   return(rezultat);                        // vrne rezultat
}



void init_io(void)            
{
   
   TRISA=0b00000010;            // RA1=analogni vhod
   TRISB=0;
   TRISC=0;            // izhodi(RC0,RC1,RC2,RC3)
   PORTB=0;
   
   ADCON0=0b00000111;         // nastavitev A/D
   ADCON1=0b00100000;          // Fosc/32
   
   
       
}



void main()                  
{
   init_io();
   

      
   unsigned int potencio;                     // lokalne spremenljivke
   
   while (1)
   {
    potencio=read_ad();


       if(potencio>0&&potencio<127)

        RC0=1;
   
   if(potencio>128&&potencio<255)
            
       RC1=1;
   

   
      if(potencio>256&&potencio<511)
   
      RC2=1;
   
   
   
   if(potencio>512&&potencio<1023)
   
      RC3=1;



   
}


}


Hvala

_________________
LP Mico
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
lojzek
Član
Član



Pridružen-a: Pet 25 Jan 2008 8:00
Prispevkov: 3387
Aktiv.: 16.00

PrispevekObjavljeno: Sre Jun 12, 2013 12:57 pm    Naslov sporočila:   Odgovori s citatom

Če ti dela približno tako, kot želiš, potem to narediš v tvojih IF stavkih. Namesto ene LED npr. druge, v IF stavku za preverbo vrednosti AD med 256 in 511 vključiš prvo in drugo LED, ne samo drugo {RC1=1; RC2=1;} Seveda, če sem prav zastopil tvojo željo.

Ampak mislim, da ti ne dela prav. Kajti, princip si malce narobe zastavil Wink

Če mora svetiti prva LED, prižgi prvo, ostale pa izključi (ti tega ne narediš). Torej jih ne ugašaš takrat, ko je to potrebno in potem ostanejo vključene.

Aja, pa še nekaj sem opazil. V IF stavku preverjaš npr potencio >128 in <255, v naslednjem pa >256 in <511. Kaj pa če nastaviš potenciometer na ==255 ali ==256? Kaj bo svetilo? Predlagam ti torej eno preverbo vrednosti tipa npr >= ali <=
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Mico22
Član
Član



Pridružen-a: Tor 21 Maj 2013 11:51
Prispevkov: 41
Aktiv.: 0.28
Kraj: Maribor

PrispevekObjavljeno: Čet Jun 13, 2013 11:42 am    Naslov sporočila:   Odgovori s citatom

Žal ne dela, ne eno in ne drugo.

Nevem kaj bi lahko bilo narobe Sad

_________________
LP Mico
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Pokaži sporočila:   
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Microchip PIC Časovni pas GMT + 2 uri, srednjeevropski - poletni čas
Stran 1 od 1

 
Pojdi na:  
Ne, ne moreš dodajati novih tem v tem forumu
Ne, ne moreš odgovarjati na teme v tem forumu
Ne, ne moreš urejati svojih prispevkov v tem forumu
Ne, ne moreš brisati svojih prispevkov v tem forumu
Ne ne moreš glasovati v anketi v tem forumu
Ne, ne moreš pripeti datotek v tem forumu
Ne, ne moreš povleči datotek v tem forumu

Uptime: 492 dni


Powered by phpBB © 2001, 2005 phpBB Group