Help x veri geni dell'algebra booleana

Allora Geniacci, vi pongo un bel quesito che sto cercando di sbrogliare da stamattina e sto diventando scemo…
Non vi sto a spiegare precisamente a che serve sennò famo notte!! Vi dico solo che devo realizzare un circuito a integrati e che quindi devo studiarlo con porte logiche in modo poi da trovare i chip che le possegono interiormente, ma a voi questo importa poco… sarò molto schematico:

Ci sono 4 tizi (utenze) che vogliono accendere per forza 4 lampadine, ma non pssono accenderle tutte e 4 insieme, bensì solo 2 alla volta… (se si accendono 3 lampadine è male!! :cool: )

Come faccio a fare in modo che questo circuito riconosca quando sono già accesi due interruttori (e quindi due lampadine) e inibisca gli alri due (non le farà accendere x nessun motivo!) ma senza un criterio logico (a casaccio)???

Sta proprio quì il dilemma!! Non posso dividere le 4 lampadine in due gruppi (troppo facile :slight_smile: ), a caso due persone (chi prima arriva…) possono accendersi le loro due belle lampadine, mentre il terzo e quarto si attaccano!!!

Sono stato abbastanza chiaro? Più di cosi…

Vediamo quanti Geniacci frequentano questo Forum… so che siete tanti, non vi nascondete!! TANA!! :wink:

Grazie a tutti quelli che si fanno sotto, anche con fregnacce (beh, non vi allargate però!!), tanto alla fine sarà la soluzione + semplice, quella che ti sfugge sempre!!! Porca Eva!

HO FATTO PARTIRE IL CRONOMETRO EH! SONO GIA’ PASSATI BEN 5 MINUTI!!! :stuck_out_tongue:

Non puoi mettere 2 interruttori vero?? E non puoi fare in modo ke con un interruttore accendi 2 lampadine e basta. Sempre quelle 2 lampadine. :smiley: E dici, il caso!! capitano proprio sempre quelle 2 lamadine :smiley: ke strano!!

da sì che me l’ero fatto da solo!! :cool:

Mi sembra strano… tutti laureati in ingegneria aerospaziale aliena e nessuno che butta li una soluzione personale?
Strano…

Qualsiasi idea va bene, anche un consiglio su dove orientarsi, oppure se già c’è in commercio qualcosa del genere, basta il nome e dove reperirlo…

Grazie mille… €

Da quel poco che mi ricordo di porte logiche dovrebbe essere:

Se usi degli OR per abilitare tutte le lampadine, ma ci metti un NOT davanti dovresti poter risolvere.

Già provate tutte le soluzioni NOR, OR, NAND, AND… mi serve qualche altra idea dove sbattere il grugno…
Grazie lo stesso… :wink:

      • RIPROVA SARAI PIU’ FORTUNATO * * *

Si, ma tu parti dal presupposto che le lampadine debbano essere spente, giusto?
Ora prova ad immaginare che le lampadine debbano essere tutte accese, QUINDI ci metti un not davanti per farle risultare spente…io credo sia la strada giusta.

Originally posted by Kay
Si, ma tu parti dal presupposto che le lampadine debbano essere spente, giusto?
Ora prova ad immaginare che le lampadine debbano essere tutte accese, QUINDI ci metti un not davanti per farle risultare spente…io credo sia la strada giusta.

Massimo 2 alla volta almeno così ho capito quindi nenache questo poi… BHo!!

Andrea1

Esercitazione di elettronica? :slight_smile:
é tanto tempo che non ci smanetto più, ma provo a darti qualche suggerimento.

interruttori, è un po’ incasinato perchè hai una retro azione sui tempi delle porte e potrebbe essere tutto piuttosto instabile (dipende dalle tolleranze).
Prova con un latch in cui clock viene condizionato dal numero di lampadine accese.

Per determinare quando sono accese, controlla lo stato delle lampadine due a due co un AND (ne servono 6) e poi fai l’OR del risultato. Eventualmente usa il NOR o NOT OR a seconda del fronte usato dal latch.

Questo segnale lo attacchi al clock del latch in modo che il cambiamento di fronte provochi il latch (appunto :)) dei dati.

Unico problema che vedo è nel caso in cui siano, per qualche motivo, attivi 3 o 4 interruttori ed il latch è ancora trasparente.
Probabilmente devi ricavare un’altro segnale che inibisca il latch in questo caso.

Forse usando i pulsanti e dei flip flop (tipo D, con enable e reset) è più facile…ci attacco un neuorone e vedo se riesco ad aiutarti.

Bye

hai fatto il mio stesso ragionamento che mi ha portato a “sfornare” un disegniso su tavola A3!!
Ma il problema dove mi sono arrenato io è il seguente:
Come faccio a far capire al Latch quale segnale deve andare ad inibire quando sono accesi due interruttori?? Se io accendo la 1° e la 2° lampadina devo inibire gli interruttori della 3° e 4°, ma se accendo la 1° e la 4°??? Come faccio a spiegargli di controllare quali sono ancora spente ed inibirle finchè una delle due accese non si spegne, dando così la possibilità a un’altra persona di accenderne una spenta??? :confused:

ODDIOOOOOOO!!! Non c’ho capino una mazza manco de quello che ho scritto!! :eek:

Sto andando a memoria perchè quando lavoravo su queste cose 15 anni fa :slight_smile:

Il segnale di latch è comune (o lo metti i comune) e dovrebbe avere due funzioni

  • se mantenuto alto (o basso) il latch è trasparente
  • quando cambia livello il fronte di discesa (o salita) attivano la memorizzazione.

Prova però a pensare l’utilizzo di flip flop di tipo D 74hc74

  • i pulsanti danno il segnale di clock (magari filtrato con un’AND 74hc32 con isteresi o con un monostabile)
  • decodifichi se sono accese due lampadine come descritto nel msg precedente (LAMP_ON).
  • il segnale LAMP_ON lo usi come dato in ingresso dei flip-flop

in questo modo se hai 0 o 1 lampadina accesa, il segnale LAMP_ON varrà (ad esempio) 1, il pulsante agisce come clock del flip fop e “memorizza” l’1.
Quando ci sono 2 lampadine accese, il segnale LAMP_ON vale 0 e quindi qualsiasi azione sui pulsanti memorizza uno 0.
Se la lampada era già spenta non ci sono variazioni.
Se era accesa si spegnera, il segnale LAMP_ON torna a 1 e il prossimo che pigia il pulsante accederà la lampada.

Spero di non aver scritto ca…ate, riprova su un nuovo A3 :):slight_smile:

Bye

Questo con i flip-flop l’avevi già provato / scartato?
Bye

Eh eh si, l’avevo scartata… non mi sembrava utile! La rivaluterò!! :slight_smile:

Thanks!

Senti… un po’ avanti sono andao!
Mi sono bloccato sul discorso del riconoscere quanti interruttori sono aperti…

Che ne dici se mi fai uno scarabocchio su carta e me lo mandi x e-mail?? :slight_smile:

Che te ne pare?

iceman@inwind.it

Più difficile fare uno “schizzo” e postarlo, provo a descriverlo

dai flip flop escono i segnali (uscita dritta Q)
LAMP_A
LAMP_B
LAMP_C
LAMP_D

le funzioni sono
LAMP_A and LAMP_B (LAMP_1)
LAMP_A and LAMP_C (LAMP_2)
LAMP_A and LAMP_D (LAMP_3)
LAMP_B and LAMP_C (LAMP_4)
LAMP_B and LAMP_D (LAMP_5)
LAMP_C and LAMP_D (LAMP_6)

Metti il tutto in OR (mi sembra esista un integrato con 3 porte OR a 3 ingressi)
LAMP_1 OR LAMP_2 OR LAMP_3 (LAMP_LOW)
LAMP_4 OR LaMP_5 OR LAMP_6 (LAMP_HIGH)
LAMP_LOW OR LAMP_HIGH (LAMP_DATA)

NOT LAMP_DATA (*LAMP_DATA)

*LAMP_DATA è il segnale da applicare agli ingressi dei flip flop

se sono accese 0 o 1 lampada, *LAMP_DATA vale 1
se sono accese 2 o 3 lampade, *LAMP_DATA vale 0

L’inibizione avviene in modo automatico, dal momento che “clockki” 1 solo quando è soddisfatta la prima condizione (e quindi accendi la lampada), altrimenti clockki 0 (quindi spegni la lampada o ribadisci il fatto che è spenta).

Potresti aggiungere un pulsante di Reset, per reinizializzare il circuto. Aggiungi una rete di isteresi o un monostabile (con un tempo di un paio di secondi) in ingresso per evitare che i rimbalzi dei pulsanti possano inviare informazioni spurie (accendi e spegni lampade in sequenza quando già una lampada è accesa).

Bye

Caro Iecu la tua soluzione con gli OR a + ingressi l’avevo pensata anch’io, agli albro del problema… ma c’è un errore per cui l’avevo scartata:

Se segui il tuo schema noterai che si, se ativi Lamp_1 e Lamp_4, quindi su due OR separati, le due uscite dei due OR saranno a 1 giustamente e quindi tutta la solfa che ne viene dopo, ma se sono attivate solo Lamp_1 e Lamp_2 per esempio, il primo OR ha due ingressi a 1 e uno a 0, quindi la sua uscita sarà a 1… ma il secondo OR avrà 3 ingressi a 0 ed la sua uscita sarà sempre 0!! Quindi il terzo OR (quello finale che li raggruppa) vedrà ai suoi ingressi un 1 (OR 1) e uno 0 (OR 2) e la sua uscta sarà a 1, che con il NOT me la riporta a zero… e bonanotte ai sognaori!

Non so se mi spiego…

E’ per questo che ti avevo detto di fare uno schizzo, perchè poi ti saresti reso conto dell’errore + facilmente.

Spero di sbagliarmi, ma se ho ben capito il tuo ragionamento, è paro al mio e quindi è… SBAGLIATO!! Come diceva Guzzanti!
:smiley:

Sembra facile… che palle!!

Grazie mille € lo stesso, per la tenacia!

Non mi sono capito :slight_smile:

Prima ci sono 6 porte AND, ognuna delle quali mi dice se una coppia di lampade è accesa (una qualsiasi)

Il risultato di tutti questi AND è messo in OR tra loro e usato come dato di ingresso dei flip flop.

Se riesco metto giù uno schemino e lo posto da qualche parte.

Bye