+ Rispondi
Pagina 1 di 17 1 2 3 11 ... UltimaUltima
Risultati da 1 a 10 su 161

Discussione: Con un pic.

  1. #1
    TecnicoERMETICO riciclato
    Iscritto dal
    03/12/2011
    Località
    Monopoli
    Messaggi
    6,712

    Con un pic.

    Ora tocca a me,ma poichè manca la sezione PIC,dove ogni tanto,su PCT intendo,trovavo gente disposta a risolvere i miei problemini.
    Stasera parlando con un amico mi ha richiesto una funzione,che apparentemente è semplice,per chi lo sa fare.
    Ho un pulsante,ogni volta che lo premo mi accumula un dato (tempo) poi resta in attesa,quando arriva un altro impulso su un'altro pin deve alzare un'uscita per un tempo dipendente da quante volte ho premuto il tasto.
    Esempio.
    Tempo=10 secondi
    Premo 3 volte,quindi 30 secondi.
    L'uscita sarà attivata per i 30 secondi SOLO dopo l'OK su un altro input,che sarebbe il consenso.
    Il pic in oggetto è un 12F508 che ha appunto dimensioni adeguate per poter non "apparire".
    Ma non ho idea di come iniziare a scrivere un listato che faccia questa somma.
    Il massimo degli impulsi sarebbe comunque 9 .
    Ho modificato codici in C per i miei bisogni,ma non ho conoscenze per partire.
    Grazie
    How much is a life worth? By law,a bank guard can carry a gun to protect his employer's money.
    But a parent here can't be legally armed to protect her children outside of home. [cit]


  2. #2

    Iscritto dal
    27/09/2011
    Messaggi
    2,095
    Ciao,

    dammi queste info:
    - precisione richiesta? andiamo di quarzo oppure oscillatore integrato?
    - step da incrementare col pulsante? 10 secondi come nel tuo esempio?
    - una volta che il tempo scade, se arriva di nuovo il "trigger", l'uscita deve attivarsi col tempo impostato in precedenza, oppure aspetta un nuovo set?
    - il consenso è re-triggerabile?




    ps. potrei scriverti il codice e testarlo su un 16F877A, poi ti mando i sorgenti o il compilato e lo provi te sul 12F508

  3. #3
    TecnicoERMETICO riciclato
    Iscritto dal
    03/12/2011
    Località
    Monopoli
    Messaggi
    6,712
    Allora,intanto grazie della risposta.
    Il sistema deve azzerarsi ad ogni ciclo,ovvero dopo la sequenza il sistema torna a riposo e aspetta la pressione di pulsante 1 che deve impostare il tempo.
    La precisione non credo sia fondamentale,penso che l'oscillatore interno vada bene,i tempi però li devo perfezionare con prove sul campo,quindi se ho accesso al codice sorgente è meglio.
    Altrimenti partirei da 5 secondi a step.
    La sequenza è obbligata,ovvero X pressioni di P1 e poi arriva il consenso (diciamo P2) che fa partire il tutto e lo deve fare una sola volta.
    Visto che dovrebbe avanzare un input lo userei per azzerare tutto,uscite e contatori.
    Non so se è chiaro.
    How much is a life worth? By law,a bank guard can carry a gun to protect his employer's money.
    But a parent here can't be legally armed to protect her children outside of home. [cit]


  4. #4

    Iscritto dal
    27/09/2011
    Messaggi
    2,095
    Chiarissimo. Butto giù qualcosina per iniziare

  5. #5

    Iscritto dal
    05/09/2011
    Località
    Vicenza
    Messaggi
    8,315
    Mi intrometto così alla cassium.

    Ma un qualche posto dove dare un occhio a come si programmano sti accrocchi?
    Non mi dispiacerebbe imparare qualcosa di nuovo

  6. #6
    Ex- Ser Fabrium
    Iscritto dal
    12/10/2011
    Messaggi
    269
    Case: Corsair 650D • CPU: Intel® Core™ i7-2600K @ 4,4GHz
    Scheda Madre: Asus P8Z68V-PRO • Dissipatore: Arctic Freezer 13 PRO
    GPU: MSi N560GTX-Ti Hawk Twin Frozr III • SSD (O.S.): Samsung EVO 850 250GB
    HDD (Dati): 2x Caviar Green 1TB RAID 1 •HDD (Media): Caviar Green 2TB
    RAM: G.Skill ECO F3-12800 CL8 1600MHz (2x4GB)
    Driver: LG DVD RW Multiwrite • Alimentatore: Corsair RM750





  7. #7

    Iscritto dal
    27/09/2011
    Messaggi
    2,095
    Confermo.
    Se vuoi imparare i PIC18 ti consiglio l'ottimo e-book gratuito di Mauro Laurenti, scaricabile da LaurTec
    Sempre di quel sito ti consiglio le schede di sviluppo, io ho la FreedomII ed è ottima.


    per ciskopa:
    ti allego il codice che ho scritto, mi pare faccia tutto ciò che richiedi. Ora è predisposto per il PIC16F877A ma cambiando la configurazione, il prescaler e le porte dovrebbe andare senza problemi sulla ciofec...ehm, pic da te scelto.
    quel ragnetto non ha interrupt, per cui ho dovuto usare il timer integrato in modo non convenzionale.
    Il programma attende la pressione del tasto SET, a quel punto incrementa i secondi preimpostati ed è pronto a ricevere un eventuale TRIG, oppure un altro SET che incrementa ancora oppure un CLR che resetta tutto.
    All'arrivo del TRIG parte il conteggio, l'uscita va alta. Gli ingressi SET e TRIG sono inibiti, rimane attivo CLR per il reset.
    A fine conteggio tutto torna nello stato iniziale e l'uscita va bassa.

    Probabilmente per adattare il codice ti basterà modificare i #define all'inizio, comunque se hai pazienza domani lo sistemo per il 12F508 e poi hai solo da provarlo.
    Tutti gli ingressi sono intesi come attivi bassi. E' attivo il debounce anche sull'ingresso TRIG, ciò causa un ritardo tra l'ingresso e l'attuazione del comando. Se il tuo impulso di trigger è pulito possiamo eliminarlo.

    Ho usato MPLAB X IDE v1.51 + HI-TECH C Compiler for PIC10/12/16 MCUs (Lite Mode) V9.82

    Occhio che se hai una versione vecchia di HI-TECH potrebbe non riconoscerti alcuni nomi

    click here

  8. #8
    TecnicoERMETICO riciclato
    Iscritto dal
    03/12/2011
    Località
    Monopoli
    Messaggi
    6,712
    Ok Matteo,vediamo che riesco a capire,anche dalla versione di Hitech che ho,nemmeno su questo pc.Se ho problemi non ti preoccupare,sarai il primo a saperlo.
    How much is a life worth? By law,a bank guard can carry a gun to protect his employer's money.
    But a parent here can't be legally armed to protect her children outside of home. [cit]


  9. #9
    TecnicoERMETICO riciclato
    Iscritto dal
    03/12/2011
    Località
    Monopoli
    Messaggi
    6,712
    Dunque,ho riesumato il portatile dove avevo i programmini.MPlab ide 8,63 e il PCWHD ma nella compilazione mi dà un errore nel file string.h dove è scritto alla riga 34 < char *memmove(void *s1,char *s2,size_t n)>
    Ma è un allegato necessario?
    How much is a life worth? By law,a bank guard can carry a gun to protect his employer's money.
    But a parent here can't be legally armed to protect her children outside of home. [cit]


  10. #10

    Iscritto dal
    27/09/2011
    Messaggi
    2,095
    Non ho incluso quel file, probabilmente è qualcosa che include il compilatore in automatico.
    Non riesci ad aggiornare MPLAB ed HITECH giusto per lavorare con versioni allineate? Sono entrambi gratuiti, solo ingombranti (l'installer di mplab è sui 300MB se non ricordo male)
    Prova ad includere l'header del pic anzichè <htc.h> includi <pic16f877a.h> ma non garantisco che funzioni.
    La cartella .X è un progetto di mplabX che ti viene aperto nativamente da quell'ide appunto.

    Torno nel tardo pomeriggio, fammi sapere


 
+ Rispondi
Pagina 1 di 17 1 2 3 11 ... UltimaUltima

Autorizzazioni

  • Non puoi iniziare nuove discussioni
  • Non puoi rispondere alle discussioni
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
Powered by vBulletin™ Version 4.1.5
Copyright © 2019 vBulletin Solutions, Inc. All rights reserved
SEO by vBSEO ©2011, Crawlability, Inc.
Fuso orario: UTC +1, sono le 05:24.