1-rasm. Marshrutni 1-yo’ldan jo’natish algoritmi
2-rasm. Marshrutni 6-yo’lga
qabul qilish algoritmi
12.Qabul qilish va jo’natish marshruti algoritmi bo’yicha dastur yozish.
Dastur fragmenti
(5P dan Ch5 svetoforidan ND sveteforigacha marshrut jo’natish algoritmi
asosida)
Arduino – turli xildagi elektron loyihalar yaratish
uchun moslashtirilgan ochiq
turdagi platformadir. U texnik va dasturiy qismdan iborat. Ushbu tizim yangi
o’rganuvchilar uchun ancha qulay va ommabobdir, sababi maqsadli yaratilgan loyiha,
ya’ni dastur to’g’ridan-to’g’ri plataga USB port orqali bog’lanish mumkin. Bu yerda
programmatorga zaruriyat yo’q. Bu esa, qo’shimcha bajariladigan vazifadan ozod
etadi. Bundan tashqari Arduino C dasturlash
tili asosida ishlaydi, bu ham uni
yutug’idir.
C tilida dastur yozish tuzilgan algoritm asosida amalga oshiriladi. Dastur
strukturasi asosan ikkita funksiyadan tashkil topadi:
1.Void setup()
{
Operatorlar
};
2. Void loop()
{
Operatorlar
};
Bu yerda, setup()-sozlash, loop()- bajaruvchi funksiyasini ifodalaydi.
Dastur bir nechta operator va buyruqlardan tashkil topgan:
Int - o’zgaruvchilarni kiritish operatori;
PinMode()- mikroprotsessor oyoqchlarini raqamli kiritishG’chiqarishga
sozlash funksiyasini bajaruvchi operator;
INPUTG’OUTPUT - MP oyoqchalarini kirishG’chiqishga sozlash buyrug’i;
If… else - shart opertori. Ya’ni ma’lum
bir shart bajarilishi yoki
bajarilmasligini tekshiradi;
digitalRead() - kirishga sozlangan MP oyoqchalaridagi qiymatni o’qish
operatori(HIGH yoki LOW);
digitalWrite()- chiqishga sozlangan MP oyoqchlariga ma’lum qiymatni yozish
operatori(HIGH yoki LOW);
HIGH, LOW - MP oyoqchalariga yozish yoki o’qishdagi kuchlanishning
yuqori va quyi chegarasi(“1” va “0” signallari);
TrueG’False- Mantiqiy qiymatlar(True q”1”, falseq”0” );
Goto - o’tish operatori.
Bulardan tashqari dasturda nishonlardan foydalanilgan.
Dasturda algoritmga mos ravishda o’zgaruvchilar kiritilgan va kerakli MP
oyoqchalari kirish va chiqishga sozlangan. Yuqorida ko’rsatilgan
operatorlar va
nishonlar yordamida berilgan marshrut dasturi ishlab chiqilgan.
pinMode(14, OUTPUT);
pinMode(15, OUTPUT);
pinMode(16, OUTPUT);
pinMode(17, OUTPUT);
pinMode(18, OUTPUT);
}
void loop()
{
5P:
if(digitalRead(1)==1) {goto 19SP;}
else {goto 5P;};
19SP:
if(digitalRead(2)==1) {goto 11SP;}
else {goto 5P;};
11SP:
if(digitalRead(3)==1) {goto 9-13SP;}
else {goto 5P;};
9-13SP:
if(digitalRead(4)==1) {goto 3-7SP;}
else {goto 5P;};
3-7SP:
if(digitalRead(5)==1) {goto 1SP;}
else {goto 5P;};
1SP:
if(digitalRead(6)==1) {goto NDP;}
else {goto 5P;};
NDP:
if(digitalRead(7)==1) {goto MK19;}
else {goto 5P;};
MK19:
if(digitalRead(8)==1) {goto MK9-11;}
else {
digitalWrite(12, HIGH)
if(digitalRead(8)==1) {goto MK9-11;}
else {
goto nosozlik;};};
MK9-11:
if(digitalRead(9)==1) {goto PK5-7;}
else {