int a=17; long x=1323; char g=7;
Xo’sh, massivda bu qanday amalga oshiriladi??? Ko’rib chiqamiz:
int a[5]={ 53, 48, 145, 31, 7 };
bu shuni anglatadiki, a[0]= 53, a[1]= 48, a[2]= 145, a[3]=31, a[4]= 7.
Demak, quyidagicha xulosa chiqarish mumkin:
Massivni e’lon qilish:
[elementlar soni]={boshlang’ich qiymatlar};
Massivning elementlariga murojat qilish quyidagicha bo’ladi:
a[2]=11; — a massivning 2- elementi 11 ni o’zlashtirsin.
Serial.println(a[4]); — a massivning 4-elementining qiymati ekranga chiqarilsin.
a[0]=digitalRead(A4); — a[0] ( ya’ni massivning 0- elementi ) datchikdan kelayotgan signal qiymatini o’zlashtirsin.
Endi birorta masalani ko’rib chiqsak, masala quyidagicha:
Yil nomli massiv berilgan bo’lsin:
int Yil[12]={1441,1501,1336,1405,1997,2017,2018,638,577,789,986,847};
ushbu 12 ta elementga ega massivdagi barcha elementlarni ketma-ket port monitoriga chiqarish dasturi tuzilsin. Hamma mustaqil urinib ko’radi. Agar kimdir bunday yozgan bo’lsa,
Serial.println(Yil[0]); Serial.println(Yil[1]); Serial.println(Yil[2]); …
Serial.println(Yil[10]); Serial.println(Yil[11]); Serial.end();
3-rasm. Arduino muhida dastur yozilgan holati.
4-rasm. Proteus muhutida bizga kerakli bo’lgan barcha elemtlarni yig’ib olamiz
Proteusda barcha elementlarni yi’g’ib bir biriga ulaganimizdan so’ng arduinoda yozgan dastur kodimizning hex. fileni ko’rsatishimiz kerak bo’ladi.
5-rasm. Arduinoda yozgan dastur kodimizning he. Fileni ko’rsatish
6-rasm. Protes muhitida dasturimizni ishga tusgan holati.
Dastur kodi:
const int echoPin = 2; // Ultrasonik sensorning echo pinasi
const int pingPin = 3; // Ultrasonik sensorning trigger pinasi
void setup()
{
Serial.begin(9600); // Serial aloqani boshlash
pinMode(pingPin, OUTPUT); // chiqish pimi 3 ni ishga tushirish
pinMode(echoPin, INPUT); // kirish pimi 2 ni boshlash
}
void loop()
{
long duration, inches, cm;
digitalWrite(pingPin, LOW);
delayMicroseconds(2);
digitalWrite(pingPin, HIGH);
delayMicroseconds(10);
digitalWrite(pingPin, LOW);
duration = pulseIn(echoPin, HIGH); // pulsin funktsiyasi yordamida umumiy vaqtni aniqlash
inches = microsecondsToInches(duration); // bog'lanish usuli
cm = microsecondsToCentimeters(duration); // bog'lanish usuli
Serial.print(inches);
Serial.print("in, ");
Serial.print(cm);
Serial.print("cm");
Serial.println();
delay(100);
}
long microsecondsToInches(long microseconds) // mikrosektsiyani dyuymgacha yashirish usuli
{
return microseconds / 74 / 2;
}
long microsecondsToCentimeters(long microseconds) // mikrosektsiyani santimetrgacha yashirish usuli
{
return microseconds / 29 / 2;
}
Topshiriq
Mavzu bo’yicha berilgan va qo’shimcha adabiyotlar bilan tanishib chiqib, bilim va ko’nikmalaringizni mustahkamlang.
Berilgan variantlar asosida o’z vazifangizni bajaring va fan o’qituvchisiga topshiring.
Do'stlaringiz bilan baham: |