.: robotitaly.NET :. - la community italiana sulla robotica  

Vai indietro   .: robotitaly.NET :. - la community italiana sulla robotica > Microcontrollori > PICAXE

PICAXE Forum dedicato ai microcontrollori programmabili in Basic 'PICAXE'

Rispondi
 
Strumenti della discussione Modalitā di visualizzazione
  #1  
Vecchio 02-04-2014, 09:31 PM
elena5862 elena5862 non č collegato
Roboter
 
Registrato dal: May 2009
Messaggi: 19
predefinito PICAXE Editor - 18M2+ - Reset PIN4

Il PIN 4 viene utilizzato se non erro per il reset del pic, ma da schema lo indicano anche utilizzabile come INPUT.
Come posso utilizzarlo? Se da software di simulazione lo porto a livello alto si resetta il programma.

Grazie
Rispondi quotando
  #2  
Vecchio 02-10-2014, 08:47 PM
L'avatar di egimil
egimil egimil non č collegato
Roboter Attivo
 
Registrato dal: Mar 2006
Messaggi: 173
Blog Entries: 2
Invia un messaggio tremite Skype a egimil
predefinito

Quote:
Originariamente inviata da elena5862 Visualizza il messaggio
Il PIN 4 viene utilizzato se non erro per il reset del pic, ma da schema lo indicano anche utilizzabile come INPUT.
Come posso utilizzarlo? Se da software di simulazione lo porto a livello alto si resetta il programma.

Grazie
A pagina 33 del "Manual1" dice cosi: 2) The reset pin must be tied high with the 4k7 resistor to operate on non-M2
parts. On 18M2 parts there is no reset pin, this is a general purpose input.
Quindi in teoria e' un ingresso, infatti se guardi il "pinout" degli altri 18... vedrai che al pin4 hanno come nome "reset", non "In".
Sei sicura che sia un 18M2 ?
Rispondi quotando
  #3  
Vecchio 02-19-2014, 04:07 PM
elena5862 elena5862 non č collegato
Roboter
 
Registrato dal: May 2009
Messaggi: 19
predefinito

Si, il PIC č 18M2+
Non capisco perchč appena da SIMULATE lo porto a 1 il programma si riavvia.
Rispondi quotando
  #4  
Vecchio 02-19-2014, 08:56 PM
L'avatar di egimil
egimil egimil non č collegato
Roboter Attivo
 
Registrato dal: Mar 2006
Messaggi: 173
Blog Entries: 2
Invia un messaggio tremite Skype a egimil
predefinito

Quote:
Originariamente inviata da elena5862 Visualizza il messaggio
Si, il PIC č 18M2+
Non capisco perchč appena da SIMULATE lo porto a 1 il programma si riavvia.
Prima di lanciare "Simulate" hai scelto nelle "option" il pic 18M2 ?
Io ho provato, con un semplice programmino, a mettere il pin4 IN (C.5) alto ma nel "Simulate" non mi resetta niente.
E se fosse un Errore nel programma?
Rispondi quotando
  #5  
Vecchio 02-20-2014, 09:44 AM
elena5862 elena5862 non č collegato
Roboter
 
Registrato dal: May 2009
Messaggi: 19
predefinito

Provo ad allegare il programma...a me sembra tutto in ordine ma chiedo come sempre consiglio agli esperti :-)


symbol btn_avvia_automatismi = pinC.5

symbol btn_testa = pinC.1
symbol btn_bocca = pinC.6
symbol btn_braccia_apre = pinC.7
symbol btn_braccia_chiude = pinC.2
symbol btn_sx_cerchio = pinC.0
symbol btn_dx_cerchio = pinB.0

symbol out_testa = B.7 ;collegata su elettrovalvola singola
symbol out_bocca = B.1 ;collegata su elettrovalvola singola
symbol out_braccia_apre = B.3
symbol out_braccia_chiude = B.4
symbol out_sx_cerchio = B.5
symbol out_dx_cerchio = B.6

symbol var_automatismi_avviati = b0


symbol tmp_tempo_sx_testa = b1
symbol tmp2_tempo_sx_testa = b13
symbol tmp_tempo_dx_testa = b2
symbol tmp2_tempo_dx_testa = b14

symbol var_testa_automatismo_avviato = b3

symbol tmp_tempo_apre_bocca = b4
symbol tmp2_tempo_apre_bocca = b15
symbol tmp_tempo_chiude_bocca = b5
symbol tmp2_tempo_chiude_bocca = b16

symbol var_bocca_automatismo_avviato = b6

symbol tmp_tempo_apre_braccia = b7
symbol tmp2_tempo_apre_braccia = b15
symbol tmp_tempo_chiude_braccia = b8
symbol tmp2_tempo_chiude_braccia = b16

symbol var_braccia_automat_avviato = b9

symbol tmp_tempo_sx_cerchio = b10
symbol tmp2_tempo_sx_cerchio = b17
symbol tmp_tempo_dx_cerchio = b11
symbol tmp2_tempo_dx_cerchio = b18

symbol var_cerchi_automat_avviato = b12

symbol var_tempo_sx_testa = 2
symbol var2_tempo_sx_testa = 150
symbol var_tempo_dx_testa = 2
symbol var2_tempo_dx_testa = 150
symbol var_tempo_apre_bocca = 2
symbol var2_tempo_apre_bocca = 100
symbol var_tempo_chiude_bocca = 2
symbol var2_tempo_chiude_bocca = 100
symbol var_tempo_apre_braccia = 2
symbol var2_tempo_apre_braccia = 100
symbol var_tempo_chiude_braccia = 2
symbol var2_tempo_chiude_braccia = 100
symbol var_tempo_sx_cerchio = 2
symbol var2_tempo_sx_cerchio = 200
symbol var_tempo_dx_cerchio = 2
symbol var2_tempo_dx_cerchio = 200


start0:

; Definisco porte I/O
input C.0
input C.1
input C.2
input C.5
input C.6
input C.7
input B.0

output B.1
output B.3
output B.4
output B.5
output B.6
output B.7


; Reset variabili
var_automatismi_avviati = 0
tmp_tempo_sx_testa = 0
tmp2_tempo_sx_testa = 0
tmp_tempo_dx_testa = 0
tmp2_tempo_dx_testa = 0
var_testa_automatismo_avviato = 0
tmp_tempo_apre_bocca = 0
tmp2_tempo_apre_bocca = 0
tmp_tempo_chiude_bocca = 0
tmp2_tempo_chiude_bocca = 0
var_bocca_automatismo_avviato = 0
tmp_tempo_apre_braccia = 0
tmp2_tempo_apre_braccia = 0
tmp_tempo_chiude_braccia = 0
tmp2_tempo_chiude_braccia = 0
var_braccia_automat_avviato = 0
tmp_tempo_sx_cerchio = 0
tmp2_tempo_sx_cerchio = 0
tmp_tempo_dx_cerchio = 0
tmp2_tempo_dx_cerchio = 0
var_cerchi_automat_avviato = 0


;Metto a 0 tutte le uscite
low out_testa
low out_bocca
low out_braccia_apre
low out_braccia_chiude
low out_sx_cerchio
low out_dx_cerchio



check_avvia_automatismi:
if var_automatismi_avviati = 0 then
if btn_avvia_automatismi = 0 then
var_automatismi_avviati = 0
goto check_avvia_automatismi else
var_automatismi_avviati = 1
var_testa_automatismo_avviato = 1
var_bocca_automatismo_avviato = 1
var_braccia_automat_avviato = 1
var_cerchi_automat_avviato = 1
endif
else
if btn_avvia_automatismi = 1 then
var_automatismi_avviati = 1
var_testa_automatismo_avviato = 1
var_bocca_automatismo_avviato = 1
var_braccia_automat_avviato = 1
var_cerchi_automat_avviato = 1
endif
endif
goto check_avvia_automatismi




start1: ;automatismo testa frontale. 1 Elettrovalvola

automatismo_testa:
tmp_tempo_sx_testa = 0
tmp2_tempo_sx_testa = 0
tmp_tempo_dx_testa = 0
tmp2_tempo_dx_testa = 0

gosub check_automatismo_testa

tmp_tempo_sx_testa = 0
tmp2_tempo_sx_testa = 0 ;devo fare 2 cicli for-next perch? il massimo valore VAR ? 255
for tmp_tempo_sx_testa = 1 to var_tempo_sx_testa
if var_testa_automatismo_avviato = 0 then goto automatismo_testa
for tmp2_tempo_sx_testa = 1 to var2_tempo_sx_testa
if var_testa_automatismo_avviato = 0 then goto automatismo_testa
high out_testa
gosub check_automatismo_testa
next tmp2_tempo_sx_testa
next tmp_tempo_sx_testa

tmp_tempo_dx_testa = 0
tmp2_tempo_dx_testa = 0 ;devo fare 2 cicli for-next perch? il massimo valore VAR ? 255
for tmp_tempo_dx_testa = 1 to var_tempo_dx_testa
for tmp2_tempo_dx_testa = 1 to var2_tempo_dx_testa
low out_testa
gosub check_automatismo_testa
next tmp2_tempo_dx_testa
next tmp_tempo_dx_testa
goto automatismo_testa


check_automatismo_testa:
if var_automatismi_avviati = 0 then
goto check_automatismo_testa else
if var_testa_automatismo_avviato = 0 then
goto check_automatismo_testa else
if btn_testa = 1 then
var_testa_automatismo_avviato = 0
tmp_tempo_sx_testa = var_tempo_sx_testa
tmp2_tempo_sx_testa = var2_tempo_sx_testa
tmp_tempo_dx_testa = var_tempo_dx_testa
tmp2_tempo_dx_testa = var2_tempo_dx_testa
low out_testa else
if var_testa_automatismo_avviato = 0 then
goto check_automatismo_testa else
return
endif
return
endif
return
endif
return
endif




start2: ;automatismo bocca pajaso frontale. 1 Elettrovalvola (aria)

automatismo_bocca:
tmp_tempo_apre_bocca = 0
tmp2_tempo_apre_bocca = 0
tmp_tempo_chiude_bocca = 0
tmp2_tempo_chiude_bocca = 0

gosub check_automatismo_bocca

tmp_tempo_apre_bocca = 0
for tmp_tempo_apre_bocca = 1 to var_tempo_apre_bocca
if var_bocca_automatismo_avviato = 0 then goto automatismo_bocca
for tmp2_tempo_apre_bocca = 1 to var2_tempo_apre_bocca
if var_bocca_automatismo_avviato = 0 then goto automatismo_bocca
high out_bocca
gosub check_automatismo_bocca
next tmp2_tempo_apre_bocca
next tmp_tempo_apre_bocca

tmp_tempo_chiude_bocca = 0
for tmp_tempo_chiude_bocca = 1 to var_tempo_chiude_bocca
if var_bocca_automatismo_avviato = 0 then goto automatismo_bocca
for tmp2_tempo_chiude_bocca = 1 to var2_tempo_chiude_bocca
if var_bocca_automatismo_avviato = 0 then goto automatismo_bocca
low out_bocca
gosub check_automatismo_bocca
next tmp2_tempo_chiude_bocca
next tmp_tempo_chiude_bocca
goto automatismo_bocca


check_automatismo_bocca:
if var_automatismi_avviati = 0 then
goto check_automatismo_bocca else
if var_bocca_automatismo_avviato = 0 then
goto check_automatismo_bocca else
if btn_bocca = 1 then
var_bocca_automatismo_avviato = 0
tmp_tempo_apre_bocca = var_tempo_apre_bocca
tmp2_tempo_apre_bocca = var2_tempo_apre_bocca
tmp_tempo_chiude_bocca = var_tempo_chiude_bocca
tmp2_tempo_chiude_bocca = var2_tempo_chiude_bocca
low out_bocca else
if var_bocca_automatismo_avviato = 0 then
goto check_automatismo_bocca else
return
endif
return
endif
return
endif
return
endif



start3: ;automatismo braccia pajaso frontale. 2 Elettrovalvole

automatismo_braccia:
tmp_tempo_apre_braccia = 0
tmp2_tempo_apre_braccia = 0
tmp_tempo_chiude_braccia = 0
tmp2_tempo_chiude_braccia = 0

gosub check_automatismo_braccia

tmp_tempo_apre_braccia = 0
tmp2_tempo_apre_braccia = 0
for tmp_tempo_apre_braccia = 1 to var_tempo_apre_braccia
if var_braccia_automat_avviato = 0 then goto automatismo_braccia
for tmp2_tempo_apre_braccia = 1 to var2_tempo_apre_braccia
if var_braccia_automat_avviato = 0 then goto automatismo_braccia
low out_braccia_chiude
high out_braccia_apre
gosub check_automatismo_braccia
next tmp2_tempo_apre_braccia
tmp2_tempo_apre_braccia = 0
next tmp_tempo_apre_braccia
tmp_tempo_apre_braccia = 0


tmp_tempo_chiude_braccia = 0
tmp2_tempo_chiude_braccia = 0
for tmp_tempo_chiude_braccia = 1 to var_tempo_chiude_braccia
if var_braccia_automat_avviato = 0 then goto automatismo_braccia
for tmp2_tempo_chiude_braccia = 1 to var2_tempo_chiude_braccia
if var_braccia_automat_avviato = 0 then goto automatismo_braccia
low out_braccia_apre
high out_braccia_chiude
gosub check_automatismo_braccia
next tmp2_tempo_chiude_braccia
tmp2_tempo_chiude_braccia = 0
next tmp_tempo_chiude_braccia
tmp_tempo_chiude_braccia = 0
goto automatismo_braccia


check_automatismo_braccia:
if var_automatismi_avviati = 0 then
goto check_automatismo_braccia else
if var_braccia_automat_avviato = 0 then
goto check_automatismo_braccia else
if btn_braccia_apre = 1 or btn_braccia_chiude = 1 then
var_braccia_automat_avviato = 0
tmp_tempo_apre_braccia = var_tempo_apre_braccia
tmp2_tempo_apre_braccia = var2_tempo_apre_braccia
low out_braccia_chiude
low out_braccia_apre else
if var_braccia_automat_avviato = 0 then
goto check_automatismo_braccia else
endif
endif
return
endif
return
endif



start4: ;automatismo cerchi posteriore. 2 Elettrovalvole

automatismo_cerchi:
tmp_tempo_sx_cerchio = 0
tmp2_tempo_sx_cerchio = 0
tmp_tempo_dx_cerchio = 0
tmp2_tempo_dx_cerchio = 0

gosub check_automatismo_cerchi

tmp_tempo_sx_cerchio = 0
for tmp_tempo_sx_cerchio = 1 to var_tempo_sx_cerchio
if var_cerchi_automat_avviato = 0 then goto automatismo_cerchi
for tmp2_tempo_sx_cerchio = 1 to var2_tempo_sx_cerchio
if var_cerchi_automat_avviato = 0 then goto automatismo_cerchi
low out_dx_cerchio
high out_sx_cerchio
gosub check_automatismo_cerchi
next tmp2_tempo_sx_cerchio
next tmp_tempo_sx_cerchio

tmp_tempo_dx_cerchio = 0
for tmp_tempo_dx_cerchio = 1 to var_tempo_dx_cerchio
if var_cerchi_automat_avviato = 0 then goto automatismo_cerchi
for tmp2_tempo_dx_cerchio = 1 to var2_tempo_dx_cerchio
if var_cerchi_automat_avviato = 0 then goto automatismo_cerchi
low out_sx_cerchio
high out_dx_cerchio
gosub check_automatismo_cerchi
next tmp2_tempo_dx_cerchio
next tmp_tempo_dx_cerchio
goto automatismo_cerchi


check_automatismo_cerchi:
if var_automatismi_avviati = 0 then
goto check_automatismo_cerchi else
if var_cerchi_automat_avviato = 0 then
goto check_automatismo_cerchi else
if btn_sx_cerchio = 1 or btn_dx_cerchio = 1 then
var_cerchi_automat_avviato = 0
tmp_tempo_sx_cerchio = var_tempo_sx_cerchio
tmp2_tempo_sx_cerchio = var2_tempo_sx_cerchio
tmp_tempo_dx_cerchio = var_tempo_dx_cerchio
tmp2_tempo_dx_cerchio = var2_tempo_dx_cerchio
low out_dx_cerchio
low out_sx_cerchio else
if var_cerchi_automat_avviato = 0 then
goto check_automatismo_cerchi else
endif
endif
return
endif
return
endif
Rispondi quotando
  #6  
Vecchio 02-20-2014, 11:21 AM
L'avatar di egimil
egimil egimil non č collegato
Roboter Attivo
 
Registrato dal: Mar 2006
Messaggi: 173
Blog Entries: 2
Invia un messaggio tremite Skype a egimil
predefinito Reset pin4(C.5)

Per una migliore comprensione del listato ti consiglio di indentare le varie istruzioni.
Con "Simulate" avviato il ciclo si svolge dentro la procedura "check_avvia_automatismi:"
Se metto a 1 il "C.5" rimane sempre dentro la medesima procedura MA non mi si resetta lo svolgimento del programma.
Non ho a disposizione un 18M2 e quindi non posso provarlo in campo.
Rispondi quotando
  #7  
Vecchio 02-20-2014, 11:24 AM
elena5862 elena5862 non č collegato
Roboter
 
Registrato dal: May 2009
Messaggi: 19
predefinito

Ops, scusami ho detto una cavolata.....E' il C.4 che mi dā problemi quindi PIN3
Rispondi quotando
  #8  
Vecchio 02-20-2014, 03:43 PM
L'avatar di egimil
egimil egimil non č collegato
Roboter Attivo
 
Registrato dal: Mar 2006
Messaggi: 173
Blog Entries: 2
Invia un messaggio tremite Skype a egimil
predefinito

Quote:
Originariamente inviata da elena5862 Visualizza il messaggio
Ops, scusami ho detto una cavolata.....E' il C.4 che mi dā problemi quindi PIN3
Ok il C.4 se messo a 1 resetta la simulazione.
Ma non dovrebbe influire nel tuo programma perche' non risulta presente in nessuna istruzione nel listato.
Poiche' e' uno dei due pin specifici per comunicare al 18M2 non conviene utilizzarlo per altri scopi (input).
Potrebbe comunque essere un "baco" del "Programming Editor".
A me non era mai capitato...
Rispondi quotando
Rispondi

Segnalibri

Strumenti della discussione
Modalitā di visualizzazione

Regole d'invio
Non puoi inserire discussioni
Non puoi inserire repliche
Non puoi inserire allegati
Non puoi modificare i tuoi messaggi

BB code č attivo
Le smilie sono attive
Il codice IMG č attivo
il codice HTML č disattivato

Salto del forum


Tutti gli orari sono GMT. Attualmente sono le 03:08 AM.


Powered by vBulletin versione 3.8.7
Copyright ©: 2000 - 2018, Jelsoft Enterprises Ltd.