Hektometar

Rasprava o PIC mikrokontrolerima, PIC projekti i drugo vezano za PIC-eve...

Moderators: stojke369, pedja089, [eDo], trax

Re: Hektometar

Postby pedja089 » 06-08-2018, 11:54

Nikako. Taj program nisam detaljno ni gledao, puno zakomplikovano. Isto bi bilo i sa while...
Ono sto sam ja napisao je ceo program bez podesavanja portova, i definisanja promenljivih i pinova za lcd.
I ima greska u mom kodu, editovan je post
viewtopic.php?f=3&t=17300&p=159673#p159673
Moze da radi i onako, ali zna da pravi probleme ukoliko se impuls promeni dok se izvrsava ovaj kod:
Code: Select all
        if SW = 1 then i=i+48
        if sw1= 1 then i=i+24
        Pause 100'ovde moze mala pauza ako koristis reed ili tako nesto, ako koristis hall mislim da debounce ne reba za njega
User avatar
pedja089
 
Posts: 7412
Joined: 20-02-2007, 14:50
Location: Beočin -Srbija

Re: Re: Hektometar


Re: Hektometar

Postby zeljkogelic » 06-08-2018, 15:05

hvalaaa puno ljudi ovo mi je puno znaciloo...
zeljkogelic
 
Posts: 33
Joined: 29-01-2013, 00:44

Re: Hektometar

Postby pedja089 » 06-08-2018, 15:33

Nema na cemu. Bilo bi lepo da vidimo i gotov uredjaj...
Obrati samo jos jednom paznju da ti je 65535 maksimalni broj koji mozes smestiti u promenljivu i.
User avatar
pedja089
 
Posts: 7412
Joined: 20-02-2007, 14:50
Location: Beočin -Srbija

Re: Hektometar

Postby zeljkogelic » 06-08-2018, 21:27

bice ovih dana i gotov uredjaj daa daa ni netreba mi vise otld toga na.dnevnom nivou sa kombajnom mogi da uradim sam 25Ha a ako mi bude malo naravicu da mi bude
i=i+1 pa cu na.kraju ispisati 1*0.0048...Mislim da ce moci i takoo da radii.
zeljkogelic
 
Posts: 33
Joined: 29-01-2013, 00:44

Re: Hektometar

Postby Black » 06-08-2018, 22:33

pedja089 wrote:Nema na cemu. Bilo bi lepo da vidimo i gotov uredjaj...
Obrati samo jos jednom paznju da ti je 65535 maksimalni broj koji mozes smestiti u promenljivu i.

Nema 32 bitne varijable na PIC-u?
User avatar
Black
 
Posts: 901
Joined: 17-12-2008, 15:44

Re: Hektometar

Postby pedja089 » 06-08-2018, 23:25

@zeljkogelic
Sad mi je doslo u glavu koliko je 65 hektara... U pbp ne mozes direktno pomnoziti sa 0.0048, ali mozes podeliti sa 208. Sto mu dodje 0.0048076, po meni dovoljno blizu.
@Crni
U Pic Basicu za manje serije od 18F, nema 32bita direktno...
Odradjeno je deljenje, i mnozenje valjda, indirektno. Mozes kao rezultat dobiti nizih 16 bita, ili visih 16 bita.
Pa ih sastaviti, ali nema direktnih funkcija za LCD itd.
Ovo je uradjeno kao optimizacija izmedju vremena izvrsavanja i velicine koda visih komandi PBP-a, i mogucnosti.
Na PIC18 seriji, postoji biranje izmedju max16 bita i max 32 bita.
Verzija sa 16 bita je mnogo brza, ali ni 32 nije losa. Ja koristim iskljucivo verziju sa 32bit.
Postoji biblioteka za floating point, i postoji biblioteka za koliko god hoces bita integer matematiku.
Ako ti treba 512bita promenljiva, nikakav problem... Vreme izvrsavanja koda - jako sporo...
Obe biblioteke su asemblerske, ali ni malo teske za koriscenje iz PBP-a.
Ono sto mi je jako zanimljivo isti kod uradjen u XC8 ili kako se vec zove, i u PBP radi razlicito.
Na kodu u C-u puca USB konekcija svakih 10min, na PBP sve stabilno.
Isto tako prakticno isti kod u mikroC je oko 8 puta veci nego u PBP-u.
Probano na nekom primeru brojaca zrna za sejacicu(drug radio diplomski pa imao problema da smesti kod u 8K koliko mu je imao PIC)...
User avatar
pedja089
 
Posts: 7412
Joined: 20-02-2007, 14:50
Location: Beočin -Srbija

Re: Hektometar

Postby zeljkogelic » 07-08-2018, 00:58

ja sam napravio prototip kontrole setve za sejacicu, tipa da li je proslo zrno ili ne i hteo sam dodatno da dodam brojac tih zrna ali jos nisam razradio to, teski sam amater u ovom programiranju ali me jako interesuje tako da cu se pomuciti u skorije vreme da dodam na tu kontrolu brojanje semena sto je jako korisno u poljoprivredi...
zeljkogelic
 
Posts: 33
Joined: 29-01-2013, 00:44

Re: Hektometar

Postby pedja089 » 07-08-2018, 08:25

Nije to komplikovano...
Kako si resio senzor za detekciju zrna? On je nesto eksperimentisao sa IR Led i IR foto tranzistorom, nesto stampao na 3D stampacu da se ubaci na cev itd...
User avatar
pedja089
 
Posts: 7412
Joined: 20-02-2007, 14:50
Location: Beočin -Srbija

Re: Hektometar

Postby zeljkogelic » 07-08-2018, 15:42

Da i ja sam resio sa ir senzorom koji cu napraviti nosac sa dva lima i zastiti od spoljasnosti i samo moram dopisati kod za brojanje tih zrna moram to naci kako da odradim da kada upali zelenu lampicu da onda i izbroji po jedno zrnoo.
zeljkogelic
 
Posts: 33
Joined: 29-01-2013, 00:44

Re: Hektometar

Postby zeljkogelic » 15-08-2018, 19:48

ovako zavrsio sam sve ispisao kod ubacio u cip povezao sve i nece da radi moze neko da.mi kaze.kalo da ukljucim interni oscilator i da ga definisem, na 16f628a ili eksterni da definisem na 16f84a
zeljkogelic
 
Posts: 33
Joined: 29-01-2013, 00:44

Re: Re: Hektometar


Re: Hektometar

Postby pedja089 » 15-08-2018, 21:20

Zavisi od programatora koji imas.
User avatar
pedja089
 
Posts: 7412
Joined: 20-02-2007, 14:50
Location: Beočin -Srbija

Re: Hektometar

Postby zeljkogelic » 15-08-2018, 22:52

imam pickit 2 clone i koristim microcode studio
zeljkogelic
 
Posts: 33
Joined: 29-01-2013, 00:44

Re: Hektometar

Postby pedja089 » 16-08-2018, 08:15

PICKIT2 je nezgodan za podesiti u njemu. Koju verziju PBP-a imas? Verzija mikrocode nije bitna.
EDIT: Koju god verziju PBP-a imas, pogledaj u helpu. Treba da ima opisano detaljno...
User avatar
pedja089
 
Posts: 7412
Joined: 20-02-2007, 14:50
Location: Beočin -Srbija

Re: Hektometar

Postby zeljkogelic » 16-08-2018, 18:22

koristim pbp 4.47 i pise mi kad udjem u taj folder od pbp nadjem taj mikrokontroler *16f628a* pise mi ovaj kod...



;****************************************************************
;* 16F628A.INC *
;* *
;* By : Leonard Zerman, Jeff Schmoyer *
;* Notice : Copyright (c) 2003 microEngineering Labs, Inc. *
;* All Rights Reserved *
;* Date : 11/06/03 *
;* Version : 2.45 *
;* Notes : *
;****************************************************************
NOLIST
ifdef PM_USED
LIST
include 'M16F62xA.INC' ; PM header
device pic16F628A, xt_osc, wdt_on, mclr_on, lvp_off, protect_off
XALL
NOLIST
else
LIST
LIST p = 16F628A, r = dec, w = -302
INCLUDE "P16F628A.INC" ; MPASM Header
__config _XT_OSC & _WDT_ON & _MCLRE_ON & _LVP_OFF & _CP_OFF
NOLIST
endif
LIST
zeljkogelic
 
Posts: 33
Joined: 29-01-2013, 00:44

Re: Hektometar

Postby pedja089 » 17-08-2018, 09:12

Taj PBP jos nije izasao.
To je verzija micro code studia.
PBP moze biti 2.45; 2.50 ili 3.0.
Al iz fajla mi se cini da je 2.45. Ako koristis asembler koji dolazi uz picbasic, trebas ovu liniju izmeniti
device pic16F628A, INTRC_OSC_NOCLKOUT, wdt_on, mclr_on, lvp_off, protect_off

Detaljnije na linku:
http://www.picbasic.co.uk/forum/showthread.php?t=543
User avatar
pedja089
 
Posts: 7412
Joined: 20-02-2007, 14:50
Location: Beočin -Srbija

Re: Hektometar

Postby zeljkogelic » 18-08-2018, 15:43

slucajbo sam napisao4.47 imam 2.47 taj mi je pbp iz tog fajla sam uzimao...
zeljkogelic
 
Posts: 33
Joined: 29-01-2013, 00:44

Re: Hektometar

Postby zeljkogelic » 26-08-2018, 23:00

Ljudi uspeo sam da napravim sve ali mi je dosao problem kad ga upalim ne broj vec ispisuje random neki broj random...ne krece mi od nule i ne brojim kad ukljucim...da li zna neko sta moze biti problem?
zeljkogelic
 
Posts: 33
Joined: 29-01-2013, 00:44

Re: Hektometar

Postby zeljkogelic » 26-08-2018, 23:01

Image
zeljkogelic
 
Posts: 33
Joined: 29-01-2013, 00:44

Re: Hektometar

Postby pedja089 » 26-08-2018, 23:10

KAd se kontroler pokrene, u ram-u se nalaze nepoznati i nedefinisatni brojevi.
Tako da svaku promenljivu pre upotrebe moras postaviti na pocetku programa.
U PBP imas CLEAR da postavi sve na nulu...
User avatar
pedja089
 
Posts: 7412
Joined: 20-02-2007, 14:50
Location: Beočin -Srbija

Re: Hektometar

Postby zeljkogelic » 28-08-2018, 11:38

Code: Select all


'****************************************************************
'*  Name    : UNTITLED.BAS                                      *
'*  Author  : [select VIEW...EDITOR OPTIONS]                    *
'*  Notice  : Copyright (c) 2018 [select VIEW...EDITOR OPTIONS] *
'*          : All Rights Reserved                               *
'*  Date    : 04-Aug-18                                         *
'*  Version : 1.0                                               *
'*  Notes   :                                                   *
'*          :                                                   *
'****************************************************************
INTOSC_OSC_CLKOUT
DEFINE OSC 4
DEFINE LCD_BITS 4
DEFINE LCD_DREG PORTB
DEFINE LCD_DBIT 4
DEFINE LCD_RSREG PORTB
DEFINE LCD_RSBIT 2
DEFINE LCD_EREG PORTB
DEFINE LCD_EBIT 3
DEFINE LCD_LINES 2
pause 100
Symbol HALL= PORTA.3
Symbol SW = PORTA.1
symbol SW1= PORTA.0
TRISA=1
TRISB=0
input hall
input sw
input sw1
i var word
Lcdout $fe,1, " Dobro Dosli"
Lcdout $fe, $C0 , "Agro by Zeljko"
pause 2000
NovoStanje var word
StaroStanje var word
StaroStanje=1
i=0
pocetak:
    novostanje = hall
     
    if NovoStanje<StaroStanje then
        if sw = 1 then i=i+16
        if sw1 = 1 then i=i+11       
    endif
    starostanje=1
    Lcdout $fe,1, " Ukupno Hektara:"
    Lcdout $fe, $C0 , DEC ( i/10000), ".",DEC4  i, "Ha"
    pause 100
GOTO pocetak
zeljkogelic
 
Posts: 33
Joined: 29-01-2013, 00:44

PreviousNext

Return to Mikrokontroleri - PIC

Who is online

Users browsing this forum: No registered users and 1 guest

GOOGLE

cron