Sunuyu indir
Sunum yükleniyor. Lütfen bekleyiniz
1
Sensorler Ders4 Aslı Ergün
2
FOTO DİYOTLAR Foto diyotlar da bir tip optik sensördür.
Diyot tek yönlü akım geçiren elemandır. Foto diyot ise ışığın etkisi ile tek yönlü akım geçişini sağlar. Işığın girebilmesi için katot bölgesine açılan şeffaf bir pencere bulunmaktadır.
3
FOTO DİYOTLAR Fotodiyotlar, ışık kontrollü devrelerde, alarm devrelerinde ,elektronik flaşlarda ışık ölçüm cihazlarında ve sayıcı devrelerinde kullanılırlar.
4
FOTO DİYOTLAR Fotodiyotlar, devreye ters bağlanır. Üzerine gelen ışık arttıkça, anot katot arası akım iletimi artar.
5
Foto Diyot Sağlamlık Kontrolü
Avometreyi ohm kademesine getiririz. Foto diyotu avometre uçlarına ters olarak bağladıktan sonra fotodiyotun karanlıkta direncinin yüksek aydınlıkta ise direncinin düşük olduğunu görmemiz gerekir. Aksi durumda fotodiyot bozuktur.
6
FOTO TRANSİSTÖR Foto transistörler de elektrik akımını ışık ile kontrol eden elemanlardır. Foto diyotlara göre daha yüksek akımları iletebilirler. Foto transistörlerde merceğe gelen ışık arttıkça, Emiter-Kollektör arası geçebilecek akım da artar. Foto transistörlerde mercek beyz ucunun görevini görür.
7
FOTO TRANSİSTÖRÜN SAĞLAMLIK KONTROLÜ
Ölçü aleti direnç konumuna alınır. Foto transistörün ışık alan kısmı kapatılır. Bu anda ölçü aletinde sonsuz direnç gözükür. Foto transistörün üzeri açıldığında yani ışık aldığında ölçü aletinde küçük bir değer okunur. ( 15 – 20 ). Bunların dışındaki durumlarda foto transistör bozuktur.
8
LDR ve Fotodiyot arasındaki farklar:
LDR=Işığa göre değişen dirençtir genellikle aydınlık sensörlerinde,sokak lambalarında kullanılır, ışığa göre elektrik üretmez. FOTODİYOT= Fotodiyot, üzerine düşen ışıkla orantılı voltaj üretir. Genellikle uygulamada ters polarite de beslenir ve sızıntı akımının ışıkla orantılı değişmesi sağlanır. Hırsız alarm sistemlerinde, tv, müzik seti gibi uzaktan kumanda aletlerinde, otomatik açılır kapanır kapı sistemlerinde, otomatik çalışan gece lambalarında ışık algılayıcısı olarak kullanılır.
9
Infrared Sensörler (IR)
10
IR Sensör Bir cismin uzaklığını ölçmek için kızılötesi dalga boyunu kullanan sensörlere infrared (IR) sensör denir. Lens aracılığı ile IR LED tarafından ışık yayılır. Cisimden yansıyan ışık, ikinci bir lens aracılığıyla konuma duyarlı foto algılayıcı tarafından alınır. Foto algılayıcının iletkenliği ışığın geldiği konuma göre değişir. İletkenliğe bağlı olarak bir gerilim üretilir. Bu gerilim değerine göre uzaklık hesaplanır
11
Sharp IR Sensör
15
// the loop routine runs over and over again forever: void loop() {
Arduino /* AnalogReadSerial Reads an analog input on pin 0, prints the result to the serial monitor. Attach the center pin of a potentiometer to pin A0, and the outside pins to +5V and ground. This example code is in the public domain. */ // the setup routine runs once when you press reset: void setup() { // initialize serial communication at 9600 bits per second: Serial.begin(9600); } // the loop routine runs over and over again forever: void loop() { // read the input on analog pin 0: int sensorValue = analogRead(A0); // print out the value you read: Serial.println(sensorValue); delay(1); // delay in between reads for stability }
16
IR Sensör ile Ses Sensörü Kontrolü
17
Alev sensörü Alev sensörü yangın algılamalarında sıkça kullanılan sensörlerdir.Ayrıca yangın söndüren robotlarda da kullanılmaktadır. Alev sensörü 760 nm ~ 1100 nm ışık IR dalga boyuna duyarlıdır. Analog çıkış (A0): Isı direnci Gerçek zamanlı çıkış voltajı sinyalidir
18
const int sensorMin = 0; // sensor minimum const int sensorMax = 1024; // sensor maximum void setup() { // initialize serial 9600 baud: Serial.begin(9600); } void loop() { // read the sensor on analog A0: int sensorReading = analogRead(A0); // map the sensor range (four options): int range = map(sensorReading, sensorMin, sensorMax, 0, 3); // range value: switch (range) { case 0: // A fire closer than 1.5 feet away. Serial.println("** Close Fire **"); break; case 1: // A fire between 1-3 feet away. Serial.println("** Distant Fire **"); case 2: // No fire detected. Serial.println("No Fire"); } delay(1); // delay between reads
19
PIR (Passive Infrared sensor) Sensör
PIR sensörler görüş alanlarındaki insanların ve sıcak kanlı canlıların yaydıkları IR ışıkları algılayabilen sensörlerdir. Genellikle hareket sensörü olarak kullanılırlar. ( hırsız alarmları, otomatik aydınlatma üniteleri gibi yerlerde ). Algılayıcı ısı veya kızılötesi ışına maruz kaldığında elektrik yüklü yüzey oluşturan kristalimsi bir maddeden yapılmıştır. Kızılötesi ışınların çarpma miktarı değiştikçe oluşan elektriksel yük miktarı da değişir ve bu yük algılayıcının içinde ölçülebilir.
20
PIR 3.3 ile 5 V arası çalışmaktadır. Sensör yaklaşık 3-5 metre arası aktif haldedir. Hareket algıladığı an DATA çıkışını HIGH yapmaktadır. Yaklaşık 15sn HIGH’ta bulunmaktadır. Daha sonra sabit değere yani LOW’a geri dönmektedir.
21
PIR Sensörü Kullanımı int pirPin = 3; // PIR pin int ledPin = 4; // LED pin int deger = 0; void setup() { pinMode(pirPin, INPUT); // PIR Pin'i giriş yapılıyor pinMode(ledPin, OUTPUT); // LED Pin'i çıkış yapılıyor Serial.begin(9600); //Serial Porttan veri göndermek için baundrate ayarlanıyor. } void loop(){ deger = digitalRead(pirPin); // Dijital pin okunuyor Serial.println(deger); // Okunan değer seri porttan okunuyor. if (deger == HIGH) { digitalWrite(ledPin, HIGH); // Eğer okunan değer 1 ise LED yakılıyor. else{ digitalWrite(ledPin,LOW); // Eğer okunan değer 0 ise LED söndürülüyor.
22
Renk Sensor TCS230
23
https://github.com/AlexeyKrasikov/Main/tree/master/TCS3200
r_(SKU:SEN0101)
24
/. Sketch Christmas Lamp
/* Sketch Christmas Lamp */ int S0 = 2; // output frequency control pin int S1 = 3; // input frequency control pin int S2 = 6; // pin color filter control int S3 = 5; // pin color filter control int taosOutPin = 4; // pin output for PWM int LED = 13; // pinD int R = 9; // PWM red int G = 10; // PWM green int B = 11; // PWM blue double Coeff = 0; int Ro = 0; // pin E int Go = 0; // pin E int Bo = 0; // pin E void setup() { TCS230setup(); Serial.begin(115200); Serial.print("\n\n\nready\n\n\n"); pinMode(R,OUTPUT); //S2 pinE pinMode(G,OUTPUT); //S2 pinE pinMode(B,OUTPUT); //S2 pinE delay(100); } void loop() { Serial.print(detectColor(taosOutPin)); // serial debug Serial.print("\n\n\n"); delay(1000);
25
int detectColor(int taosOutPin){ // surface detection double isPresentTolerance = 5; double isPresent = colorRead(taosOutPin,0,0)/colorRead(taosOutPin,0,1); Serial.print("isPresent:"); Serial.println(isPresent,2); Serial.print("valore isPresentTolerance:"); Serial.println(isPresentTolerance,2); if(isPresent < isPresentTolerance){ Serial.println("nessuna superficie rilevata"); return 0; } double red,blue,green; // light intensity detection no filters double white = colorRead(taosOutPin,0,1); // red red = white/colorRead(taosOutPin,1,1); // blue blue = white/colorRead(taosOutPin,2,1); // green green = white/colorRead(taosOutPin,3,1); Serial.print("red"); Serial.println(red); Serial.print("blue"); Serial.println(blue); Serial.print("green"); Serial.println(green);
26
if(green > blue && green > red){
Coeff = 255 / green; Go = 255; Ro = red * Coeff; Bo = blue * Coeff; LED_RGB(Ro, Go, Bo); return 3; } double colorRead(int taosOutPin, int color, boolean LEDstate){ //make sure that the pin is set to input pinMode(taosOutPin, INPUT); taosMode(1); int sensorDelay = 3; if(red > blue && red > green){ Coeff = 255 / red; Ro = 255; Go = green * Coeff; Bo = blue * Coeff; LED_RGB(Ro, Go, Bo); return 1; } if(blue > green && blue > red){ Coeff = 255 / blue; Bo = 255; Ro = red * Coeff; return 2;
27
double readPulse; if(LEDstate == 0){ taosMode(0); // digitalWrite(LED, LOW); } if(LEDstate == 1){ taosMode(1); // digitalWrite(LED, HIGH); delay(sensorDelay); readPulse = pulseIn(taosOutPin, LOW, 80000); // pulse timeout read setting if(readPulse < .1){ readPulse = 80000; // turn off sensor led return readPulse; // manages the frequency output mode TaosMode(0); // sero, sensor quiet //set pins to trigger filters if(color == 0){// bianco (no filtri) digitalWrite(S3, LOW); //S3 digitalWrite(S2, HIGH); //S2 // Serial.print(" w"); }else if(color == 1){// red filter digitalWrite(S2, LOW); //S2 // Serial.print(" r"); }else if(color == 2){// blue filter digitalWrite(S3, HIGH); //S3 // Serial.print(" b"); }else if(color == 3){// green filter // Serial.print(" g"); }
28
digitalWrite(S0, LOW); //S0 digitalWrite(S1, HIGH); //S1
}else if(mode == 3){ // frequenza 1:50 digitalWrite(S0, LOW); //S0 digitalWrite(S1, HIGH); //S1 //Serial.println("m1:50m"); } return; void LED_RGB(int Rx, int Gx, int Bx){ analogWrite(R, Rx); analogWrite(G, Gx); analogWrite(B, Bx); void taosMode(int mode){ if(mode == 0){ //power OFF digitalWrite(LED, LOW); digitalWrite(S0, LOW); //S0 digitalWrite(S1, LOW); //S1 // Serial.println("mOFFm"); }else if(mode == 1){ // frequenza 1:1 digitalWrite(S0, HIGH); //S0 digitalWrite(S1, HIGH); //S1 // Serial.println("m1:1m"); }else if(mode == 2){ // frequenza 1:5 //Serial.println("m1:5m");
29
void TCS230setup(){ // init pin frequency management pinMode(LED,OUTPUT); // color filter management pin pinMode(S2,OUTPUT); //S2 pinMode(S3,OUTPUT); //s3 // output pin light-frequency conversion pinMode(taosOutPin, INPUT); // pin to select ouput mode pinMode(S0,OUTPUT); //S0 pinB pinMode(S1,OUTPUT); //S1 pinA return; }
Benzer bir sunumlar
© 2024 SlidePlayer.biz.tr Inc.
All rights reserved.