Islom Karimov nomidagi Toshkent davlat texnika universiteti Elektronika va avtomatika fakulteti Axborotlarga ishlov berish va boshqarish tizimlari”kafedrasi. “_________________________________” fanidan Kurs ishi Mavzu: ____________________________________________________ Bajardi : _________________ Guruh: _________ Qabul qildi : _________________ Toshkent 2023 Led lampa Mikrokontroller tugmalar Manba bloki 1-rasm. Mikrokontroller asosida 8 kanalli musobaqa zummeri qurilmasining blok sxemasi; Ishlatilgan materiallar 1. 2. 3. 4. 5. Arduino UNO 8ta tugma 5V li pitaniya; Led lampa Plata; Arduino haqida Arduino - bu unchalik katta bo'lmagan plata bo'lib o'zining protsessori (mikrokontrolleri) va xotirasiga ega bo'lgan qurilma hisoblanadi. Arduino ning ko'plab turlari mavjud bo'lib bularga misol qilib: Arduino Yun, Arduino Uno, Arduino Duemilanove, Arduino Diecimila, Arduino Nano, Arduino Mega, Mega 2560, Mega ADK, Arduino Leonardo, Arduino Micro va h.k larni olishimiz mumkin. Arduino robototexnika va elektronikiga qiziquvchi va izlanuvchi yoshlarga juda qo'l keladi chunki bu qurilmada kichik va katta bo'lgan dastur, algoritmlar yaratgan holda xar hil qurilmalar, robotlar va boshqa qiziq amaliyotlarni bajarsa bo'ladi. Boshqacha qilib aytganda, Arduino dasturiy va texnik qismlarni birlashtirib beruvchi qurilmadir. Yuqorida keltirib o'tganimizdek Arduino ning juda ko'p turlari mavjud bo'lib, Arduinoni o'rganishni boshlovchilar asosan Arduinoning Uno yoki Nano turidan foydalanishni boshlashadi. Arduinoning Uno va Nano turini yaxshilab o'rganib bo'lgan yoshlar endi Arduinoning bu turiga qoniqmay Arduinoning Mega yoki Mega 2560 turini sotib olishga oshiqishadi. Chunki, endi Arduino Uno, Nano turining xarakteristikasi (texnik ko'rsatkichlari) bizning robototexnik uchun pastlik qiladi! Ayrim robototexniklar esa Arduino Uno bilan tanishib chiqib uni imkoniyatlaridan foydalanib bo'lgandan so'ng, Arduinoning Mega turini sotib olib o'tirmay o'zlari yasab tayyorlab ko'rishga harakat qilishadi. To'g'rida chunki endi ular dasturchi,robototexnik bemalol mikrokontrollerga dastur yozib uni mikrokontrollerga yuklay oladi. Arduino Uno ning boshqa turlaridan farqi protsessori,mikrokontrolleri,raqamli va analog chiqishlarning ko'p yoki kamligi bilan farqlanadi. Arduinodan foydalanayotgan kishi unga har xil elektr komponentalar va modullarni ulash imkoniyatiga ega bo'ladi,masalan:led chiroqlar,datchiklar,rele modullari tarmoq (Wi-fi,Bluetooth,Ethernet) modullari, sensorlar, motorlar, magnit eshik qulflari va elektr energiyasi bilan ishlaydigan barcha narsalar. Yuqorida aytilgandek Arduino texnik va dasturiy qismni birlashtirib beruvchi qurilma.Demak dastur tuzish kerak ! Qanday dastur tuzamiz? Qaysi dasturlash tili orqali? Arduino uchun dasturlar odatiy C ++ da yoziladi, kontaktlarda I / O (Input-kirish,Output-chiqish) ni boshqarish uchun oddiy va tushunarli algoritmlar va dasturlar tuziladi. Agar siz allaqachon C ++ ni bilsangiz - Arduino va dunyo eshiklari siz uchun ochiq. Agar siz dasturlash uchun yangi bo'lsangiz bu muammo emas osonlikcha o'rganishingiz mumkin, bu oson.Bundan tashqari Arduino ni o'rganish va dasturlar yozish uchun Windows, Mac OS va Linux operatsion tizimlarida ishlovchi Arduino IDE (Arduino dasturi,kompilyatori) mavjud va siz undan mutlaqo bepul foydalanishingiz mumkin. Arduino IDE dasturida algoritmlar va dasturlar yaratish juda oson va ishlash qulay. Arduino IDE da tayyor amaliyotlar (loyihalar) ham mavjud siz o'rganishingiz uchun. Arduino ning Uno turi texnik ko'rsatkichlari: Mikrokontroller: ATmega328; Ishlash kuchlanishi: 5 V; Kirish kuchlanishi(tavsiya etilgani): 7-12 V; Kirish kuchlanishi(eng yuqori): 6-20 V; Raqamli kirish/chiqish: 14 ta(ulardan 6tasi KIM(Широтно-Импульсная модуляция) sifatida foydalanish mumkin); Analog kirish: 6 ta; Kirish/chiqish orqali o'zgarmas tok: 40 mA; 3.3 V kiritish uchun o'zgarmas tok: 50 mA; Flesh xotira: 32 KB(ATmega328) undan 0.5 KB yuklovchi sifatida foydalaniladi; Tezkor xotira: 2 KB(ATmega328); EEPROM: 1 KB(ATmega328); Chastota: 16 MGs; Xullas, Arduino bu dasturchilar va robototexniklar o'yinchog'i emas dasyori, yordamchisi! Mikrokontroller asosida 8 kanalli musobaqa zummeri qurilmasining qisqacha ko’rinishi Quyida : Mikrokontroller asosida 8 kanalli musobaqa zummeri qurilmasining dastur kodi keltirilgan; int p1 = 0, p2 = 1, p3 = 2, p4 = 4, p5 = 5, p6 = 6, p7 = 7, p8 = 8; int pp1 = 0, pp2 = 0, pp3 = 0, pp4 = 0, pp5 = 0, pp6 = 0, pp7 = 0, pp8 = 0; int A = A3, B = A2, C = 11, D = 10, E = 9, F = A4, G = A5; pinMode(D, OUTPUT); bir(); pinMode(E, OUTPUT); tone(3, 500); pinMode(F, OUTPUT); delay(500); pinMode(G, OUTPUT); noTone(3); while(1); pinMode(3, OUTPUT); } } if(pp2 == 0){ ikki(); int i = 0; void loop() { tone(3, 500); noInterrupts(); delay(500); noTone(3); void setup() { pinMode(p1, INPUT_PULLUP); pp1 = digitalRead(p1); while(1); pp2 = digitalRead(p2); } pinMode(p2, INPUT_PULLUP); pp3 = digitalRead(p3); pp4 = digitalRead(p4); if(pp3 == 0){ pp5 = digitalRead(p5); uch(); pinMode(p4, INPUT_PULLUP); pp6 = digitalRead(p6); tone(3, 500); pp7 = digitalRead(p7); delay(500); pinMode(p5, INPUT_PULLUP); pp8 = digitalRead(p8); noTone(3); pinMode(p3, INPUT_PULLUP); pinMode(p6, INPUT_PULLUP); pinMode(p7, INPUT_PULLUP); pinMode(p8, INPUT_PULLUP); pinMode(A, OUTPUT); while(1); interrupts(); } if(i == 0){ if(pp4 == 0){ by(); tort(); i++; tone(3, 500); } delay(500); noTone(3); pinMode(B, OUTPUT); pinMode(C, OUTPUT); if(pp1 == 0){ while(1); } if(pp5 == 0){ } } /////////////////////////////// /////////////////////////////// ///////////////////// besh(); tone(3, 500); void by() delay(500); { noTone(3); turn(); while(1); besh(); } delay(1000); turn(); if(pp6 == 0){ tort(); olti(); delay(1000); tone(3, 500); turn(); delay(500); uch(); noTone(3); delay(1000); while(1); turn(); } ikki(); delay(1000); if(pp7 == 0){ turn(); yetti(); bir(); tone(3, 500); delay(1000); delay(500); turn(); noTone(3); nol(); while(1); delay(500); } void turn() { digitalWrite(A, 0); digitalWrite(B, 0); digitalWrite(C, 0); digitalWrite(D, 0); digitalWrite(E, 0); digitalWrite(F, 0); digitalWrite(G, 0); } void nol() { digitalWrite(A, 1); digitalWrite(B, 1); digitalWrite(C, 1); digitalWrite(D, 1); digitalWrite(E, 1); digitalWrite(F, 1); } tone(3, 150); if(pp8 == 0){ delay(100); sakkiz(); noTone(3); tone(3, 500); turn(); delay(500); { digitalWrite(B, 1); digitalWrite(C, 1); noTone(3); while(1); void bir() } } void ikki() } { digitalWrite(B, 1); digitalWrite(C, 1); digitalWrite(A, 1); void besh() digitalWrite(B, 1); { digitalWrite(D, 1); digitalWrite(A, 1); void sakkiz() digitalWrite(E, 1); digitalWrite(F, 1); { digitalWrite(G, 1); digitalWrite(D, 1); digitalWrite(A, 1); } digitalWrite(C, 1); digitalWrite(B, 1); digitalWrite(G, 1); digitalWrite(C, 1); } digitalWrite(D, 1); void uch() { } digitalWrite(E, 1); digitalWrite(A, 1); void olti() digitalWrite(F, 1); digitalWrite(B, 1); { digitalWrite(G, 1); digitalWrite(D, 1); digitalWrite(A, 1); } digitalWrite(C, 1); digitalWrite(C, 1); digitalWrite(G, 1); digitalWrite(D, 1); void toqqiz() } digitalWrite(E, 1); { digitalWrite(F, 1); digitalWrite(A, 1); void tort() digitalWrite(G, 1); digitalWrite(B, 1); { } digitalWrite(D, 1); digitalWrite(F, 1); digitalWrite(C, 1); digitalWrite(B, 1); void yetti() digitalWrite(F, 1); digitalWrite(C, 1); { digitalWrite(G, 1); digitalWrite(G, 1); digitalWrite(A, 1); } Xulosa Ushbu Mikrokontroller asosida 8 kanalli musobaqa zummeri qurilmasining hozirgi kunda dunyoning barcha mamlakatlarida foydalanilmoqda. Ushbu Mikrokontroller asosida musobaqa qurilmaning ishlashi tugmalarga asoslangan. Qurilmani boshqarish va tugmachadan signalni aniqlagach led lampaga yonish buyruq beradi. ARDUINO mikrokontrollerlari oilasiga mansub bo’lgan UNO mikrokontrolleridan foydalanilgan bu esa o’z navbatida dastur yozish va turli xil qurilmalar yaratishni soddalashtiradi. Dasturiy ta’minoti C++ asosida yaratilgan Arduino dasturlash muhitida yozilgan Mikrokontroller asosida musobaqa qurilmasi asosida turli xil qo’shimcha qulayliklarni keltiruvchi ya’ni g’oliblarni aniqlagan holda ishlaydigan qurilma yasadim. Foydalanilgan adabiyotlar ПетинВ. А. Проекты сиспользованием контроллера Arduino WWW.arduino.cc https://www.electronicshub.org/8-channel-quiz-buzzer-circuit-usingmicrocontroller/ https://sampawno.ru/viewtopic.php?f=115&t=13109 https://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-2486-8-bit-AVRmicrocontroller-ATmega8_L_datasheet.pdf https://arduinomaster.ru/datchiki-arduino/lcd-i2c-arduino-displey-ekran/ www.google.com