articol recuperat si postat pe arduinotehniq.com in 01.2016

Semafor cu "boton"


initiere articol: 21.05.2009, Craiova, Romania

Ca o continuare a articolelor de la 4017 - aplicatii diverse si Semafor pentru concurs am dezvoltat o schema de semafor care permite trecerea la culoarea verde pentru (un) pieton(ii), care apasa un buton...


Mai detaliat, starile sunt:






Schema bloc:


   Descrierea functionarii

  In stare normala de functionare, adica semaforul masinilor indica verde, respectiv semaforul pietonilor indica rosu. Aceasta stare este stabila deoarece numaratorul Johnson 4017 (vezi datasheet-ul) nu primeste semnal pe intrare. Trecerea semnalului generat de oscilator este permisa sau blocata de poarta SI-NU (IC2a). In acest moment, trecerea este blocata, deoarece pe una din intrarile portii SI-NU este "0" logic (vezi starile unei porti SI-NU), ceea ce determina ca la iesirea iei sa fie "1" logic indiferent de starea celeilalte intrari, care in cazul nostru oscileaza de la "0" logic la "1" logic. Intrarea care are "0" logic este determinata de inversorul IC3a (vezi functionarea unui inversor), care are la intrare "1" logic, care provine de la iesirea bistabilului RS, notat IC4a (vezi functionarea unui bistabil RS). Iesirea este in "1" logic, respectiv intrarile R si S sunt in "0" logic (pastreaza starea anterioara). Intrarea bistabilului RS este legata direct la iesirea Q7 si la pinul de reset al numaratorului Johnson. Daca tot am ajuns la numaratorul Johnson, acesta are iesirile astfel: Q0=1, Q2=Q3=Q4=Q5=Q6=Q7=0.


   La apasarea butonului, intrarea R=1, respectiv S=0, care determina trecerea lui Q in "0" logic. Deoarece iesirea bistabilului RS este conectata la inversor, iesirea acestuia trece in "1" logic si vom avea la iesirea portii logice SI-Nu, un semnal care inverseasa semnalul de la oscilator. Numaratorul Johnson "numara" cand semnalul de la intrarea de ceas are tranzitie de la "0" logic la "1" logic.


   Din acest moment, cand iesirea oscilatorului face tranzitia de la "1" logic la "0" logic, ceea ce face ca la iesirea portii logice SI-Nu sa fie tranzitie de la de la "0" logic la "1" logic, numaratorul Johnson face trecerea la Q1=1.


   Cand iesirea oscilatorului face tranzitia de la "1" logic la "0" logic, ceea ce face ca la iesirea portii logice SI-Nu sa fie tranzitie de la de la "0" logic la "1" logic, numaratorul Johnson face trecerea la Q2=1.


   Cand iesirea oscilatorului face tranzitia de la "1" logic la "0" logic, ceea ce face ca la iesirea portii logice SI-Nu sa fie tranzitie de la de la "0" logic la "1" logic, numaratorul Johnson face trecerea la Q3=1.


   Cand iesirea oscilatorului face tranzitia de la "1" logic la "0" logic, ceea ce face ca la iesirea portii logice SI-Nu sa fie tranzitie de la de la "0" logic la "1" logic, numaratorul Johnson face trecerea la Q4=1.


   Cand iesirea oscilatorului face tranzitia de la "1" logic la "0" logic, ceea ce face ca la iesirea portii logice SI-Nu sa fie tranzitie de la de la "0" logic la "1" logic, numaratorul Johnson face trecerea la Q5=1.


   Cand iesirea oscilatorului face tranzitia de la "1" logic la "0" logic, ceea ce face ca la iesirea portii logice SI-Nu sa fie tranzitie de la de la "0" logic la "1" logic, numaratorul Johnson face trecerea la Q6=1.


   Cand iesirea oscilatorului face tranzitia de la "1" logic la "0" logic, ceea ce face ca la iesirea portii logice SI-Nu sa fie tranzitie de la de la "0" logic la "1" logic, numaratorul Johnson face trecerea la Q7=1, respectiv pinul de reset trece in "1" logic si intrarile bistabilului RS vor fi R=1, S=1, care determina Q=1, care blocheaza poartea SI-NU care nu mai permite impulsuri la numaratorul Johnson...


   ....instantaneu se revine la starea normala:


  

Schema desfasurata:

desenat de niq_ro

completare articol: 24.11.2011, Craiova

     Am facut o corectura la partea de decodificare a starilor, dupa ce am realizat o simulare a functionarii schemei cu ajutorului programului Livewire, numita traffic_lights_ver2:


Intoarcere la pagina principala