Uskuna Majburiy ArduinoUno
Download 1.68 Mb.
|
Olimov Davlatjon 20.11
- Bu sahifa navigatsiya:
- Ultrasonik Sensor HC-SR04
- SG90 Micro s ervo motor
- Ishlash Kontseptsiya
- Sxema Diagramma
Uskuna Majburiy ArduinoUno Ultrasoniksensori HC-SR04 SG-90 mikroservomotor Axlat qutisi Toʻliqto'plam Dasturiy ta'minot Majburiy Arduino IDE Arduino Uno Arduino Uno - bu ATmega328P protsessoriga asoslangan ochiq manbali mikrokontroller platasi. Unda 14 ta raqamli kirish/chiqish pinlari (shundan 6 tasi PWM chiqishi sifatida ishlatilishi mumkin), 6 ta analog kirish, USB ulanishi, quvvat ulagichi, ICSP sarlavhasi va tiklash tugmasi mavjud. U mikrokontrollerni qo'llab-quvvatlash uchun zarur bo'lgan hamma narsani o'z ichiga oladi. Boshlash uchun uni USB kabeli bilan kompyuterga ulang yoki adapter bilan quvvatlang. Siz Arduino bilan ortiqcha tashvishlanmasdan tajriba qilishingiz mumkin. Eng yomon stsenariy bo'lsa, siz yangisini sotib olishingiz mumkin, chunki Uno juda tejamkor. Ultrasonik Sensor HC-SR04 HC-SR04 - bu ob'ekt joylashgan masofa ni o'lchash uchun ishlatiladigan ultratovushli masofa sensori. Ushbu sensor tomonidan qo'llaniladigan printsip SONAR deb ataladi. U to'siqlardan qochish roboti, masofani o'lchash moslamasi va boshqalar kabi kichik robototexnika loyihalari uchun juda mos keladi. U ikkita qismdan iborat bo'lib, biri ob'ektgacha bo'lgan masofani o'lchash uchun ultratovush sonarini chiqaradi. Boshqa qismi esa aks-sadoni tinglaydigan qabul qiluvchidir. Ultratovush ob'ektga tegishi bilanoq u orqaga qaytadi va qabul qiluvchi tomonidan aniqlanadi. To'lqinning qaytib kelishi uchun vaqt o'lchanadigan ob'ektning masofasini belgilaydi. SG90 Micro s ervo motor Micro servo 9G engil, sifatli va juda tez servo motordir. Ushbu servo ko'pgina radio boshqaruv tizimlari bilan ishlash uchun mo'ljallangan. Bu kichik robototexnika loyihalari uchun juda mos keladi. Aksessuarlar bilan jihozlangan SG90 mini servo masofadan boshqariladigan vertolyotlar, samolyotlar, avtomobillar, qayiqlar va yuk mashinalari uchun juda mos keladi. Ishlash Kontseptsiya Chiqindilarni to'g'ri yo'q qilish muhimdir. Bu har kim bajarishi kerak bo'lgan mas'uliyatdir. Covid-19 davrida odamlar kundalik hayotda yangi narsalarni yaratishga va narsalarni iloji boricha kontaktsiz qilishga harakat qilmoqdalar. Aqlli axlat qutisi hisoblanadi bitta ning bular innovatsion g'oyalar . Aqlli axlat qutisi olddagi narsalarni aniqlash uchun HC-SR04 ultratovush sensoridan foydalanadi. Keyin u signallarni Arduino Uno-ga yuboradi. Arduino signalni tushunadi va axlat qutisi ustidagi qopqoqni ochadigan Servomotorga signal yuboradi. Bu erda biz uni poygani faqat 3 soniya davomida ochish uchun dasturlashtirdik, 3 soniyadan so'ng qopqoq avtomatik ravishda yopiladi. Arduino IDE-da kodga kichik o'zgarishlar kiritish orqali bu vaqtni o'zgartirishingiz mumkin. Ish quyida ko'rsatilgan. Sxema Diagramma Aqlli axlat qutisi sxemasi uchta asosiy komponentni o'z ichiga oladi: Arduino Uno, quvvat manbai va ultratovush sensori. Ultrasonik sensor HC-SR04 pinlari aks sado va trig mos ravishda Arduino Uno 5 va 6 pinlariga ulangan . VCC pin Arduino Uno-da 5V ga ulangan va ikkala tuproq ham bir-biriga ulangan. Vin piniga 9v batareya ulangan va yerlar bir-biriga ulangan. Dastur kodi Arduino kodi uchun dasturni yuklab olish mumkin bu yerda . Arduino Uno-ga kodni yuklang. Arduino va batareyani ikki tomonlama lenta yordamida axlat qutisi devoriga yopishtiring. #include Servo servo; int trigPin = 5; int echoPin = 6; int servoPin = 7; int led= 10; long duration, dist, average; long aver[3]; //array for average void setup() { Serial.begin(9600); servo.attach(servoPin); pinMode(trigPin, OUTPUT); pinMode(echoPin, INPUT); servo.write(0); //close cap on power on delay(100); servo.detach(); } void measure() { digitalWrite(10,HIGH); digitalWrite(trigPin, LOW); delayMicroseconds(5); digitalWrite(trigPin, HIGH); delayMicroseconds(15); digitalWrite(trigPin, LOW); pinMode(echoPin, INPUT); duration = pulseIn(echoPin, HIGH); dist = (duration/2) / 29.1; //obtain distance } void loop() { for (int i=0;i<=2;i++) { //average distance measure(); aver[i]=dist; delay(10); //delay between measurements } dist=(aver[0]+aver[1]+aver[2])/3; if ( dist<50 ) { //Change distance as per your need servo.attach(servoPin); delay(1); servo.write(0); delay(3000); servo.write(150); delay(1000); servo.detach(); } Serial.print(dist); }50> Download 1.68 Mb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling