Transistör NPN, PNP Tespiti

Merhaba arkadaşlar. Bu yazımızda onlarca transistörün NPN mi Yoksa PNP mi olduğunu arduino yardımıyla nasıl kontrol etmeyi nasıl yapacağınızdan bahsedeceğim.

Elektronik hobi projeleriyle  veya elektroniğe aşık kişilerin  büyük ihtimal transistörlerini koydukları bir çekmece yada kutuları vardır. Bu transistörleri NPN yada PNP olarak ayırmak isteyeceğinize eminim. Bunu arduino ile her bir transistöre 5 sn uğraşarak ayırabilirsiniz.

Bunun için Alttaki şekilde Devre Şemasına ihtiyacınız var.

Bağlantı şemasını yaptıktan sonraki kısımda ise Arduino IDE programımıza alttaki programı yüklemek . Bundan sonraki adımda ise Seri iletişim penceresini açarak T1, T2 ve T3 bağlantı uçlarına transistörü herhangi şekilde bağlayın.

Kısaca programın çalışması şu şekildedir. 7,8 ve 12 . pinlerden birisinin çıkışı HIGH olarak tanımlanır ve analog pinlerden çıkış değerleri okunur daha sonra diğer kombinasyonlar uygulanarak BASE tesbit edilir. Transistörün NPN mi yoksa PNP olduğunu tesbit ederek seri ekranda gösterir.

 

Programımız

int term1; 
int term2; 
int term3; 
int gtr50; 
int less5; 
int npn; 
int pnp; 
int col; 
int npnbas; 
int emi; 
int pnpbas; 

void setup () { 
pinMode (7, OUTPUT); 
pinMode (8, OUTPUT); 
pinMode (12, OUTPUT); 
Serial.begin (9600); 
} 

void loop () { 
digitalWrite (7, LOW); 
digitalWrite (8, LOW); 
digitalWrite (12, LOW); 
gtr50 = 0; 
less5 = 0; 

// examines the first combination by setting the first 
digitalWrite pin (12, HIGH) to High; 
term1 = analogRead (A1); 
term2 = analogRead (A2); 
term3 = analogRead (A3);
less5 = 0; // put for testing 
if (term1 == 0) {less5 = less5 + 1;} 
if (term2 == 0) {less5 = less5 + 1;} 
if (term3 == 0) {less5 = less5 + 1;} 
if (less5 == 2) {pnpbas = 1;} 
less5 = 0; // put for test 
if (term1> 50) {gtr50 = gtr50 + 1; } 
if (term2> 50) {gtr50 = gtr50 + 1; } 
if (term3> 50) {gtr50 = gtr50 + 1; } 
if (term1> 50 && term2> 50 && term3> 50) {npnbas = 1;} 
Serial.print (term1); 
Serial.print (""); 
Serial.print (term2); 
Serial.print (""); 
Serial.print (TERM3); 
Serial.print (""); 
Serial.println (less5); 
less5 = 0; 
delay (2000);


digitalWrite (12, LOW); 
digitalWrite (8, HIGH); 
term1 = analogRead (A1); 
term2 = analogRead (A2); 
term3 = analogRead (A3); 
if (term1 == 0) {less5 less5 = + 1;} 
if (term2 == 0) {less5 less5 = + 1;} 
if (TERM3 == 0) {less5 less5 = + 1;} 
if (less5 == 2) {pnpbas = 2;} 
if (term1> 50) {gtr50 = gtr50 + 1; } 
if (term2> 50) {gtr50 = gtr50 + 1; } 
if (term3> 50) {gtr50 = gtr50 + 1; } 
if (term1> 50 && term2> 50 && term3> 50) {npnbas = 2;} 
Serial.print (term1); 
Serial.print (""); 
Serial.print (term2); 
Serial.print (""); 
Serial.print (TERM3); 
Serial.print (""); 
Serial.println (less5);

delay (2000); 

// Examines the third combination by setting the third 
digitalWrite (8, LOW) pin to High ; 
digitalWrite (7, HIGH); 
term1 = analogRead (A1); 
term2 = analogRead (A2); 
term3 = analogRead (A3); 
if (term1 == 0) {less5 less5 = + 1;} 
if (term2 == 0) {less5 less5 = + 1;} 
if (TERM3 == 0) {less5 less5 = + 1;} 
if (less5 == 2) {pnpbas = 3;} 
if (term1> 50) {gtr50 = gtr50 + 1; } 
if (term2> 50) {gtr50 = gtr50 + 1; } 
if (term3> 50) {gtr50 = gtr50 + 1; } 
if (term1> 50 && term2> 50 && term3> 50) {npnbas = 3;} 
Serial.print (term1); 
Serial.print (""); 
Serial.print (term2); 
Serial.print (""); 
Serial.
Serial.print (""); 
Serial.print (less5); 
Serial.print (""); 
less5 = 0; 

if (gtr50 == 5) { 
npn = 1; 
Serial.print ("NPN transistor"); 
Serial.print ("- terminal base"); 
Serial.print (npnbas); } 
else 
if (gtr50 == 7) { 
pnp = 1; 
Serial.print ("PNP transistor"); 
Serial.print ("- terminal base"); 
Serial.print (pnpbas); 
} 

Serial.println (); 
Serial.println (); 
delay (2000); 

}

alıntıdır

Boş zamanlarda arduino ile uğraşan kendi halinde bir Öğretmen.

  

Bir Cevap Yazın

Time limit is exhausted. Please reload CAPTCHA.