Selezionare due programmi diversi tramite un interruttore 1-0-2

Etemenanki: EDIT: oppure fanno iscrivere un po dei loro ingenieri come utenti del forum a porre domande apparentemente slegate fra loro per sfruttarci gratis a risolvere tutti i loro problemi ... :D :D :D

mi hanno scoperto di nuovo

Cameriere, presto, una nuova identità, grazie

:o vorrei chiedere scusa anche io visto la piccola discussione sollevata, la mia era solo una velata battuta per evidenziare come sul forum ci siano dei gentiluomoni che offrono più facilmente aiuto se è una donna a chiederlo, concordo come via di mezzo nel dare si qualche esempio ma non fornire direttamente il listato completo e funzionante... e comunque il mio OT non era certo nulla di personale contro Docsavage, Torn24 o Chatandplay con cui mi scuso se ho arrecato offesa, chiuso [OT]

-zef-: ... e comunque il mio OT non era certo nulla di personale contro Docsavage, Torn24 o Chatandplay con cui mi scuso se ho arrecato offesa

Non credo assolutamente che qualcuno possa aver male interpretato il tuo post (... in cui non leggo nulla di offensivo o ... sarei intervenuto in altro modo) ... e mi sembra che la cosa abbia solo aperto una "civile" discussione in cui sono stati chiariti alcuni punti/espresse alcune opinioni.

Quindi ... traquillo ... :)

Guglielmo

Io ammetto il mio errore

Con la op ieri sera ho scambiato 4 post su una discussione vecchia Le avevo consigliato di presentarsi e di descrivere bene il suo problema

Stamattina ho trovato il suo post, il suo link e le ho scritto 4 righe di esempio

Poi aggiungi un chiarimento, metti per esteso le dichiarazioni di variabile, e via così...

Sembra che le abbia scritto l'intero codice

Non è così

Se avessi scritto il codice lo avrei fatto nello ide E sarebbe uscito tra i tag code

Non mi sono offeso, anzi

Considero un complimento che i miei appunti sono scritti così bene da sembrare un programma vero

Forse dovrei fare programmi invece che pompe...

Ok brava gente, non mi sono affatto offesa, don't worry. Comunque, ciò che per un esperto è pappa pronta, per un niubbo può presentare ancora molti punti oscuri. Ho passato un paio d'ore a cercare di far funzionare la soluzione di Torn24 e non ci sono riuscita! (Grazie lo stesso Torn, sei stato gentilissimo).

Con quella di Docsavage mi è andata meglio ed in breve sono riuscita a far funzionare lo spinphone proprio come avrei desiderato.

A tal proposito, c'è una riga che non riesco proprio ad interpretare:

  st = !digitalRead(foto) - !digitalRead(video);           

Grazie, Alessandra

Pensiero convoluto allo stato puro Maneggiare con cura evitare il contatto con la pelle

In logica negata..... Infatti hai il comune al meno e gli input pullup Ecco perché ho messo i punti esclamativi davanti

Ingresso alto vale 1 Ingresso basso vale 0

Tu puoi avere solo uno dei due ingressi alti, il tuo è un selettore 1 0 2

Quindi ingresso1 meno ingresso2 può valere 0 se nessuno dei due ingresso è alto 1 se fosse alto ingresso 1 -1 se fosse alto ingresso 2

Spero così sia più chiaro``

Sì, chiarissimo, grazie!

 void loop() {
  st = !digitalRead(foto) - !digitalRead(video);
  if (stp != st) {
    stp = st;
    if (st == 1) {
      ruota(22);

    }
    if (st == -1) {
      ruota(32);

    }

la linea di codice:

 stp = st;

serve per far tornare a zero il valore di st dopo la rotazione e quindi fermare il motore anche senza dover spegnere l'interruttore?

No, Per rendere stp uguale a at, così cha al prossimo ciclo non passa il test st!=

Punto esclamativo nega il test o la condizione

Per Guglielmo Ma serve ancora che io metta i miei appunti tra i tag code?

Con tutto il casino che è venuto fuori codice si codice no...

No, serve per evitare che lo sketch legga l'interruttore una volta per giro per tutto il tempo in cui rimane premuto ... vedi che il primo if viene eseguito solo se stp e' diverso da st ... quindi all'interno rimetti stp uguale ad st, per cui al termine di quelle istruzioni, una volta uscito dall'if, questo non sara' piu rieseguito finche' lo stato di st non cambia di nuovo ... diversamente, ogni ciclo del loop rieseguirebbe tutto da capo, in continuazione ...

E l'effetto è quello di far girare il ciclo una volta sola. Dopo aver "fatto" una foto o un video, il motore si ferma anche se l'interruttore è ancora su 1 o 2. Grazie Etemenanki, sei stato chiarissimo.

docsavage:
Per Guglielmo
Ma serve ancora che io metta i miei appunti tra i tag code?

… SI, mettilo a posto, perché comunque non è corretto avere codice fuori dai tag CODE.

Guglielmo

P.S.: C’è un motivo ben preciso per questa cosa … il codice fuori dai tag code spesso viene interpretato come “emoticons” … basta, ad esempio un 8 seguito da una parentesi chiusa in una espressione … li metto separati … a = ( b * 8 ) / c; ed ora li metto senza gli spazi … a=(b*8)/c; … chiaro no ? :grin:

fatto

Grazie ancora a tutti per avermi accolta nella vostra bella comunità. E grazie per l'aiuto che mi ha permesso di perfezionare il mio primo "grande" progetto acquisendo al contempo nuove ed importanti nozioni.

Ho spesso avuto idee del tipo:" Ci vorrebbe un cosa che facesse questo e quest'altro", ma poi il tutto finiva lì. Ora grazie ad arduino e alla stampante 3D posso cercare di realizzare tutte le idee bislacche che mi vengono in mente. Naturalmente avrò ancora bisogno d'aiuto, perché la difficoltà della realizzazione aumenta più rapidamente delle mie conoscenze in materia di elettronica, programmazione e arduino. Vi prometto, però, che tornerò a rivolgermi a voi solo dopo aver sbattuto la testa contro il muro per almeno una settimana :)

A presto, Alessandra