Sari la conținut
ELFORUM - Forumul electronistilor

Lucreaza cineva cu FLOWCODE ?


bercioiu

Postări Recomandate

@ cristian1961

Si eu am invatat in prima faza sa programez in asmamblare, iar acum cu Flowcode este floare la ureche...

Este incredibil cat de repede poti face un program cu ajutorul Flowcode-ului!

 

@ aureliu67

Hotareste-te! Merge bine sau nu?! O data zici ca merge bine, dupa care revii si zici ca merge pe dos... Nu mai inteleg nimic.

 

L.E.

 

Tu ce varianta de placa ai? Cu tranzistori sau fara? Daca ai cu tranzistori, ai legat bine ledurile (catod la colector si annod la vss + rez limitare - optional), daca ai varianta fara leduri, ledurile sunt legate pe dos.

Editat de bercioiu
Link spre comentariu

 Am placa fara tranzistori si fara leduri.

Deci ledurile sunt pe dos.. Ma miram eu ca picul sa lucreze invers dar perfect in acelasi timp..

O sa conectez ledurile invers sa vad. Multumesc inca odata.

Credeam ca ledul conectat gresit nu are cum sa se aprinda.. Asta ma derutat.

Plus ca ma uitam la o schema gresita..

Editat de aureliu67
Link spre comentariu

Si daca faceam acelasi lucru  dar in pic basic ce crezi ca se intampla?

Exact la fel.. Ba nu, cred ca mai rau, nu reuseam sa pornesc deloc picul

Stii de cand tot incerc sa programez picuri?  Cu peste 8 ani in urma am cumparat primul programator si am reusit sa progreamez un 12f84 cu softul gata facut de cineva.. Cu asta sa terminat..

De cate ori incercam sa  invat programarea nu reuseam PICBASIC parca ceva ceva era aproape sa-l inteleg Dar cand am incercat asemblerul am depistat ca e dedicat masochistilor si matematicienilor. Doar aia au o logica iesita din comun care ne depaseste pe noi muritorii de rand. Ca eu am pus ledurile gresit se intampla oricui. Pun pariu ca si dumitale ai patit-o. Unde mai pui ca asta e al 5 montaj electronic executat de mine. Deci daca nu era flowcode nu stia nimeni de mine pt ca era o chestie inaccesibila pt mine.

Nu te supara dar flowcode e perfect pt cei ce nu vor sa stie programare si vor doar sa faca chestii simple. Flowcode e perfect si pt cei care vor sa stie programare si sa faca chestii complicate

Programul nu are nici o vina ca il folosesc profanii in electronica de alde mine. Nici nu are cum sa mearga ceva daca e folosit gresit.

 Nu programul e buba ci de vina este cel care il foloseste (cazul meu) sau meritul celor care ne arata greselile.sincer nu ma intereseaza cum se misca si cum se pupa intre ei electronii in circuit atat timp cat montajul face ce vreau eu. Ba chiar promit sa ii las in pace sa-si faca treaba fara sa-i derajnjez cu conditia ca sa nu faca figuri :)

Traiasca  flowcode

Editat de aureliu67
Link spre comentariu

Am uitat sa spun ce este mai important pentru programele gen flowcode.

El rupe lanturile conservarii stiintei. Cu alte cuvinte cu totii suntem  reprezentantii unui anumit domeniu si cunoastem cu totii termenii specifici strict profesionali care nu prezinta nimic pt cei din alte domenii. Ba chiar daca ne aprofundam in chimie, biologie chimie-fizica etc, ai impresia ca lucrurile care puteau fi expuse mai simplist au o decriere atat de stufoasea si stiintifica  ca sa impiedice pe cei neinitiati sa fure informatiile. Noi doar nu observam asta pt ca asa am invatat sa fie si ni se pare ceva firesc.

Din aceasta cauza au existat mult timp bariere intre biologie si informatica de exemplu. Vreau sa va spun ca un biolog stie ce vrea sa faca calculatorul dar habar nu are cum sa-l faca sa lucreze in directia corecta. Adica sa faca softul.

Programatorul-invers. Habar nu are de efectuarea unui cariotip insa pt el e floare la ureche sa efectueze programul sub indrumarea unui biolog-genetician. 

Pentru progres  e nevoie e un biolog-programator ce se pare a fi o absurditate. Nu poti fi si un genetician bun si programator bun. Ai nevoie de 2 vieti , 2 facultati 2 cariere pt asta.

Daca nu existau aceste bariere diferite stiinte  sar fi interpartuns reciproc mult mai repede.

O sa va dau exemplul propriu ca sa nu fac mare filosofie. Lucrarea mea de diploma presupunea evidentierea unei tari (maladii, aberatii) cromozomiale la leucemie. Efectuarea corecta a cariotipului era esentiala. Era o munbca migaloasa, de fotografiere la rezolutii mari, developare, tiparire poze, decuparea cromozomilor, aeanjarea lor in perechile respective si abia dupa asta analizarea cariotipului.

Pana atunci, 1994, existau calculatoare suficient de puternice pentru a aranja in o anumita ordine niste imagini simple insa nimeni a a facut-o tocmai din cauza mai sus mentionata.  Eu avand acces la calculatoare si fiind cazat in camin de studenti ASE de la informatica am facut  cu ajutorul lor si un programel simplu care te ajuta REAL si CORECT  in proportie de 85% sa afli din care pereche de cromozomi face parte cromozomul respectiv dupa raport de brate a telomerelor, raportul lor fata de centromer si lungime. Desigur ca a fost un soc pentru toata facultatea prezentarea mea de atunci. Mai ales ca nu existau calculatoare disponibile pt prezentari ale lucrarilor si se lucra cu diapozitive. Si vreau sa spun ca programelul ala a fost facut in 15 minute de cativa prieteni in Pascal, care au ascultat jumatate de zi teoria efectuarii unui cariotip. Deci era o chestie banala pt ei sa faca programul  Pt mine era ceva imposibil. Dar impreuna am reusit ceva ce nu facuse nimeni pe vremea aceea.   Insasi profesorii de la doua catedre au ramas uimiti de ce poate face un calculator cu procesor 486 in un domenu atat de complicat.

Au trecut ani buni ca sa apara primele softuri dedicate domeniilor ca RMN,genetica,analize spectrale etc.

Desi tehnologia permitea  multe lucruri prapastia dintre stiinte am simtit-o personal confruntandu-ma cu 2 domenii care se aflau in dezvoltare rapida in acel timp. Acest lucru nu se intampla daca informatica era pe intelesul biologilor si nu numai.

Revenind la flowcode - el este exact podul peste prapastia dintre diferite stiinte, domenii medii de activitate.Adica este un instrument util celor care stiu sa il foloseasca..  Iti permite sa  crealizezi ceva fara a pierde timpul pt a invata chestii de care nu ai neapareata nevoie, si e mare mare consumatoare de timp, nervi,dispozitie..Posibil ca nu e atat de performant precum asemblerul. Daca ar fi sa facem o compareatie cu alte domenii  probabil ar fi sa comparam chirurgia ochiului de acum 30 de ani cu microchirurgia de acum. In ambele cazuri scopul era acelasi dar rezultatele pot fi diferite ca si consumare de timp, energie eficienta sau calitate

Unii chirurgi (Fedorov de exemplu) faceau minuni cu tehnologie veche, inainte de a aparea laserele. Unii medici moderni , cu toata tehnologia nu pot avea astfel de rezultate. De exemplu un var de al meu a avut accident si ia crapat corneea. Acest medic ia facut transplant de cornee in 1992 si acum varul e ok.

La fel si flowcode. Nu programul e cauza esecurilor sau al succeselor ci cel care il foloseste. Si mai vreau sa spun un lucru. Pana nu cunosti in egala masura 2 softuri nu  poti face comparatii impartiale si deci corecte. Sunt sigur ca daca cunosteati flowcode la fel de bine precum cunoasteti  softul in care lucrati atunci aveati un pic alta parere.

Editat de aureliu67
Link spre comentariu

@bericioiu,

am dat peste postarea asta:

http://www.elforum.info/topic/99031-help-preincalzire-antigel/?p=1104400

cum ai facut in flowcode, detectia pragului de tensiune la bornele bateriei?

am niste idei in cap si ma intereseaza ca la disparitia celor 14V combinat cu o succesiune de la contact, sa execute anumite...

 

alta problema:

am facut pentru logan un temporizator de stergatoare cu perioada de baleere variabila; m-am laudat cu el, bazandu-ma pe simularea in Protheus unde totul functioneaza frumos, insa fizic NU!

intrarile in microcontroler, sunt doua la numar si sunt cu flanc pozitiv(+12V), unde pe cablaj am facut un frumos divizor rezistiv(de fapt doua intrari, doua divizoare rezistive), si problema este in felul urmator:

fiecare intrare este deosebit de sensibila! sesizeaza cand pun mana pe fire! ba chiar cand APROPII firul de +12V, nu fac contact galvanic! mai mult ca sigur, din cauza parazitilor, pe masina vor face probleme!

cum sa rezolv asta software? ca hardware nu as vrea sa macelaresc cablajul(la care zic eu ca am lucrat ingrijit)?

 

PS: am atasat schema, la cerere atasez si fcf-ul, dar e gresit(cred eu), voi urca la proiecte complete, intreg proiectul.

temporizator stergatoare 12F629.pdf

Editat de ardiles
Link spre comentariu

1.Tensiunea o masori cu ADC-ul pic-ului... Nu inteleg intrebarea.

2. Daca ai 14V, in mod sigur ai contactul pus si motorul pornit, nu mai trebuie conditie de la contact.

3. Este bine sa te obisnuiesti sa lucrezi cu intrarile active negativ. Daca face figuri, mai interoghezi intrarea de cateva ori cu delay-uri intre ele sau cauta pe net despre "debounce", uite aici un exemplu.

4. Cand este gata, urca-l la proiecte cu Flowcode.

Editat de bercioiu
Link spre comentariu

1. ADC ca ADC, dar fizic ai facut vreun divizor rezistiv?

2. ma intereseaza succesiunea in ordinea de la contact in pozitia M, ACC, apoi 0...

3. adica cel mai corect cum am facut la intrarea de pe GP3...

4.da il urc!

merci!

Editat de ardiles
Link spre comentariu

Va salut!

 

In primul rand mentionez ca pregatirea mea in vreun limbaj de programare este egala cu zero, dar acum ca am aflat de Flowcode as vrea sa invat cate ceva.

 

Am facut in proiect, dupa cateva zile de batut capul si citit o gramada de materiale despre programare in general, flowcode in special, arhitectura microprocesoare si cate ceva depsre functionarea unor montaje cu codul explicat.

 

Atasez aici proiectul in flowcode si schema de conectare (pe care am simulat-o in Proteus, pare sa mearga acolo). Proiectul se vrea a fi un turometru cu afisare pe LCD si senzor optic (cu reflexie). Procesorul este PIC628A.

 

Logica de functionare ar fi urmatoarea:

 

la orice semnal pe pinul INT0 (RB40), se numara impulsurile primite si se memoreaza in variabila count (prin incrementare +1);

 

un timer (tot cu intrerupere, TIMER0) cu prescaler 1:4 (aprox 976Hz la 4MHz ceasul procesorului) incrementeaza variabila TIMER1 si cand ajunge la 976 copiaza count in alta variabila, rps (asta ar fi rotatii pe secunda);

 

tot atunci se reseteaza TIMER1 si count si totul o ia de la capat.

 

Mai departe e usor, mai ramane doar de afisat rps daca se doreste si rpm, ceea ce ma intereseaza de fapt, care se calculeaza ca rps*60 si se afiseaza si el.

 

Am cateva intrebari, poate are cineva de aici timp sa arunce o privire pe proiectul meu:

 

- am folosit doua intreruperi, una activata de pinul INT0 si una interna, TIMER0 (nu stiu daca asta e terminologia corecta); sunt oare corect folosite? Pentru simulare in flowcode am folosit un buton cu care activez intrarea INT0, pare sa fie ok. Nu stiu daca TIMER0 este folosita corect, cel putin in simularea din FC nu pare sa iasa din macroul timerului pentru prea mult timp, desi in proteus functioneaza (fizic n-am incercat inca).

 

- exista alte solutii de utilizare a intreruperilor sau de numarare a unor impulsuri? Am cautat ceva concret realizat cu flowcode, dar majoritatea proiectelor par sa fie numai cu LED-uri sau termometre.

 

- orice sfat e util, eu am sa testez zilele astea si fizic si revin cu informatii daca intereseaza pe cineva.

 

post-181557-0-97048000-1421195494_thumb.jpg

rpm_628a.rar

Link spre comentariu

@marianx,

din ce descriere ai postat acolo, daca ai respectat-o, e chiar ok! iti spun din experienta ca si eu m-am |jucat| cu masurarea frecventei in flowcode, si ceea ce am gasit si modificat eu, este asemanator(in poportie e 95%), cu ce ai tu...

diferenta e ca in cazul meu, frecventa variabila provine de la semnalul de viteza vehicul(logan), dar nu asta conteaza!

si mai e chestia ca ceea ce am facut in main, este ce ai facut tu in IOC(PORT)...adica nu am activat intreruperea IOC(PORT), asa cum ai facut tu...

un lucru enervant dar sigur este ca ai o latenta de 1 secunda in masurarea frecventei... io am reusit s-o fac la 250ms insa atunci cand eram intr-un anumit prag(peste care imi dezactiva, ceva), aveam un continuu dde schimbare de variabila...on off on off...d-aia am renuntat la masurarea frecventei variabile ce probine de la semnalul de  viteza vehicul.

Link spre comentariu

Multumesc pentru raspuns, ardiles.

 

M-am mai documentat intre timp si am mai imbunatatit "codul".

 

Am vazut ca se poate citi o serie de impulsuri la intrare si fara intrerupere pe un pin.

Era chiar in sectiunea exemple la matrix pe site un frecventmetru cu autoscalare (o diagrama destul de complexa, nu stiu daca incape in PIC628). Acolo foloseau timer0 aproape la fel ca mine (am facut modificari in proiectul meu pe baza acelei subrutine pt timer0), in rest citeau impulsurile in main, fara intrerupere pe pini.

 

Ca priveste latenta de 1 secunda asa este, folosind prescalerul pentru timer0, numar exact cate impulsuri genereaza in 1 secunda si apoi fac comparatia cu intrarea.

Poate merge sa folosesc un prescaler mai mic si sa numar impulsurile generate in mai putin de o secunda, asa s-ar micsora cu siguranta timpul de citire. Dezavantajul ar fi ca intreruperea timer0 foloseste prea mult procesor, ramanand putin timp si pentru celelalte instructiuni.

 

Ar ajuta cu siguranta o frecventa de functionare mai mare, nu 4 MHz cat este acum (am folosit oscilatorul intern din comoditate, dar schema am proiectat-o si cu optiunea de cristal extern).

 

Functionarea a ramas aceeasi cu cea descrisa in postul initial, cu diferenta ca am facut afisarea datelor numai dupa ce timer0 ajunge la timpul setat (1 sec). In acest mod procesorul nu trebuie sa incerce sa execute si alte instructiuni, rezultatul fiind (in simulare) ca nu mai palpaie afisajul, se pot citi mai clar rezultatele. Tot dupa conditia asta am resetat si toate variabilele, inclusiv timer0 hardware.

 

Dupa ce voi testa fizic montajul (astazi cred) voi incerca sa cresc rezolutia afisarii. Asa cum e acum aceasta este de 1 Hz (60 rpm). Cred ca merge marita prin numararea milisecundelor, daca poate face asta procesorul si schimbarea variabilelor din numere intregi in virgula mobila.

post-181557-0-44453300-1421413618_thumb.jpg

post-181557-0-43611400-1421413627_thumb.jpg

post-181557-0-55535600-1421414544_thumb.jpg

post-181557-0-20860200-1421414552_thumb.jpg

Editat de marianx
Link spre comentariu

Creează un cont sau autentifică-te pentru a adăuga comentariu

Trebuie să fi un membru pentru a putea lăsa un comentariu.

Creează un cont

Înregistrează-te pentru un nou cont în comunitatea nostră. Este simplu!

Înregistrează un nou cont

Autentificare

Ai deja un cont? Autentifică-te aici.

Autentifică-te acum
×
×
  • Creează nouă...

Informații Importante

Am plasat cookie-uri pe dispozitivul tău pentru a îmbunătății navigarea pe acest site. Poți modifica setările cookie, altfel considerăm că ești de acord să continui.Termeni de Utilizare si Ghidări