პროექტი № 9 – ღია ცეცხლის ეფექტი

October 17, 2012
დაგვჭირდება:
წითელი შუქდიოდი                       
2 ცალი ყვითელი შუქდიოდი       
3 ცალი რეზისტორი                         

სქემის აწყობა.

სქემა იგივე რაც მერვე პროექტში. ოღონდ მწვანე და ლურჯი შუქდიოდების ნაცვლად ვიყენებთ ორ ყვითელ შუქდიოდს. აქაც სამივე შუქდიოდს ჩამოაფარეთ თეთრი ქაღალდის ცილიდრი, ან პინგ-პონგის გახვრეტილი ბურთი, პატარა აბაჟურის მსგავსად. რომელიც საჭიროა სამი ფერის დიფუზიური გაბნევა-შერევისათვის.

სურ. 3-6.

პროგრამული კოდი .

აკრიფეთ ქვემოთ მოყვანილი კოდი, შეამოწმეთ და ჩატვირთეთ არდუინოში.

// პროექტი № 9 – ღია ცეცხლის ეფექტი

int ledPin1 = 9;
int ledPin2 = 10;
int ledPin3 = 11; 
void setup()
{
    pinMode(ledPin1, OUTPUT);
    pinMode(ledPin2, OUTPUT);
    pinMode(ledPin3, OUTPUT);
} 
void loop()
{
    analogWrite(ledPin1, random(120)+135);
    analogWrite(ledPin2, random(120)+135);
    analogWrite(ledPin3, random(120)+135);
    delay(random(100));
}

თუ ყველაფერი სწორად არის შესრულებული, უნდა მივიღოთ ცეცხლის ალის სიმულაცია..

კოდის განხილვა.

მოკლედ განვიხილოთ კოდი. პირველი რაც გავაკეთეთ, გამოვაცხადეთ integer ტიპის ცვლადები და მივანიჭეთ მათ იმ კონტაქტების ნომრები რომლებზეც მიერთებულია შუქდიოდები.

int ledPin1 = 9;
int ledPin2 = 10;
int ledPin3 = 11;

შემდეგ ეს კონტაქტები გამოვაცხადეთ როგორც გამომავალი.

pinMode(ledPin1, OUTPUT);
pinMode(ledPin2, OUTPUT);
pinMode(ledPin3, OUTPUT);

პროგრამის მთავარი ციკლი აგზავნის შემთხვევით მნიშვნელობებს [0;120]; და დამატებული 130(მაქსიმალური ნათების მისაღებად) PWM ტიპის კონტაქტებზე 9, 10, and 11:

analogWrite(ledPin1, random(120)+135);
analogWrite(ledPin2, random(120)+135);
analogWrite(ledPin3, random(120)+135);

და ბოლოს შემთხვევითი ხანგრძლივობის დაყოვნება.

delay(random(100));

რომლის შემდეგ ციკლი განმეორდება, და მივიღებთ ციმციმის ეფექტს.