Програмен код за приложения на Arduino
Light Detection – разпознаване на светлина
Публикувано от Ivelin Pavlov в Arduino Код, Код на 09 април 2012г.
Програма на Ардуино, за разпознаване на светлина -Когато се закрие светлината или стане тъмно – постепенно лампичката светва.
При светлина отново постепенно загасва лампичката.
По този начин може да направите вечна светлина за вашата стая, с минимални разходи за ток.
/* Ot Ivelin Svetlinen detektor Kogato stane tymno ili se zakrie svetlinata postepenno se svetla lampata ili zagasva Chasti: 1. 2 rezistor 220 2. rezistor 10k 2. senzor za razpoznavane na svetlina */ int ledPin = 10; int sensPin = 5; //nastoika za svetlinata int minimumLight = 860; int lastVal = 0; int lightVal = 0; void setup() { pinMode(sensPin,INPUT); pinMode(ledPin,OUTPUT); Serial.begin(9600); } void loop() { int lightMode = analogRead(sensPin); Serial.println(lightMode); if(lightMode>minimumLight) { lightVal -=1; } else { lightVal += 1; } if(lightVal<0) lightVal = 0; else if(lightVal>255) lightVal = 255; analogWrite(ledPin,lightVal); delay(50); }
Black & White (разпознавател)
Публикувано от Ivelin Pavlov в Arduino Код, Код на 09 април 2012г.
Програма на Ардуино, чрез която при показване на бяло свети една лампичка, а при черно – втора.
Може да се използва като основа за по-големи проекти, като например за Преследвач на линия (Line follower).
/* Ot Ivelin Prosta programa za razpoznavane na Cherno i Bqlo. Chasti: 1. 2 rezistora 220 2. 1 rezistor 10k 3. Switch (Buton) */ int ledPin1 = 10; int ledPin2 = 11; int sensPin = 5; //nastroikite sa na zatymnena staq int minimumBlackDetection = 300; int maximumBlackDetection = 500; int minimumWhiteDetection = 500; int maximumWhiteDetection = 1023; int lastVal = 0; int lightVal = 0; void setup() { pinMode(sensPin,INPUT); pinMode(ledPin1,OUTPUT); pinMode(ledPin2,OUTPUT); Serial.begin(9600); } void loop() { int lightMode = analogRead(sensPin); if(lightMode > minimumBlackDetection && lightMode < maximumBlackDetection) { digitalWrite(ledPin1,HIGH); } else { digitalWrite(ledPin1,LOW); } if(lightMode > minimumWhiteDetection && lightMode < maximumWhiteDetection) { digitalWrite(ledPin2,HIGH); } else { digitalWrite(ledPin2,LOW); } Serial.println(lightMode); delay(50); }
- Няма коментари.