Sari la conținut

Postări Recomandate

senzor de nivel poti sa-i spui.

cum bine a spus RockDok

Quote

AU! totul se reduce la un bistabil SR

Nu e nevoie de MCU, nici ADC nici PWM.

AI nevoie de doua porti si-nu (NAND)  NOR figura de si mai jos.

 

Pentru porti NOR - la intrarea R legi senzorul sus (plin), la intrarea S legi senzorul jos (gol), si iesirea e Q (pompa) - daca tii neparat s-

 

image.png.543811ab1aa79ca4cd4533cf176e07cd.png

Se poate face si cu MCU  - daca vrei it scriu codul. (ai nevoie de doua intrari digitale si o iesire) 

RR

Editat de roadrunner
  • Thanks 1

Nu cred ca ma complic cu cod. Incerc ceva simplu, exemplul tau, cum gasesc niste piese la indemana si implementez dupa starea de urgenta ca nu am montajul la mine, e undeva la tara.

mersi tuturor :cheers2:

1 hour ago, dan_e said:

Nu cred ca ma complic cu cod. Incerc ceva simplu, exemplul tau, cum gasesc niste piese la indemana si implementez dupa starea de urgenta ca nu am montajul la mine, e undeva la tara.

mersi tuturor :cheers2:

Codul de mai jos pleaca de la ideea ca atunci cand rezervorul e plin se inchide contactul K1 si  pinul pe care leg la mcu  si devine low cu contactul inchis, adica are pull-up pinul respectiv, iar K2 este contactul de rezervor gol, care la fel cand e inchis aduce pinul respectiv in Low.

int main(void){
	DDRB &= ~(1 << PINB0);  //input PB0 pentru K0  rezervor gol - trebuie pull up
	DDRB &= ~(1 << PINB1); //input PB1 pentru K1 -rezervor plin- trebuie pull up
	DDRB |= (1 << PIN2); //output PB2 pentru pompa

	while(1){

		uint8_t K0 = (PINB & (1 << PINB0)) >> PINB0;  //citim K0  - cand rezervor gol K0=0
		uint8_t K1 = (PINB & (1 << PINB1)) >> PINB1; //citim K1 - cand rezervor plin K1=0


		switch ((K1 << 1)|(K0)){
			case 0:
				//situatie invalida nu poate fi si gol si plin in acelasi timp dar e posibil sa fie un switch defect asa ca orim pompa
				clrBit(PORTB, PB2);
				break;
			case 1:
				//rezevor plin 
            	clrBit(PORTB, PB2); //oprim pompa
				break;
			case 2:
				//rezervor gol 
				setBit(PORTB, PB2); //pornim pompa
				break;
			case 3:
				//nu facem nimic nivelul e intre plin si gol 
				break;
		} // switch
	} //bucla while
}//main

 

 

 

}

 

 

 

  • Thanks 1

Creează un cont sau autentifică-te pentru a adăuga comentariu

Trebuie să fi un membru pentru a putea lăsa un comentariu.

Creează un cont

Înregistrează-te pentru un nou cont în comunitatea nostră. Este simplu!

Înregistrează un nou cont

Autentificare

Ai deja un cont? Autentifică-te aici.

Autentifică-te acum
  • Navigare recentă   0 membri

    • Nici un utilizator înregistrat nu vede această pagină.
×
×
  • Creează nouă...

Informații Importante

Folosim cookie-uri și tehnologii asemănătoare pentru a-ți îmbunătăți experiența pe acest website, pentru a-ți oferi conținut și reclame personalizate și pentru a analiza traficul și audiența website-ului. Înainte de a continua navigarea pe www.tehnium-azi.ro te rugăm să fii de acord cu: Termeni de Utilizare.

ATENTIE !!! Functionarea Tehnium Azi depinde de afisarea de reclame.

Pentru a putea accesa in continuoare site-ul web www.tehnium-azi.ro, va rugam sa dezactivati extensia ad block din browser-ul web al vostru. Dupa ce ati dezactivat extensia ad block din browser dati clic pe butonul de mai jos.

Multumim.

Apasa acest buton dupa dezactivarea extensiei Adblock