Ushbu mashg’ulot uchun sizga kerak bo'ladi:
Arduino Uno / Arduino Nano / Arduino Mega;
plata;
LED va 220 Om qarshilik;
servo;
"ota-ota" va "ota-ona" simlari.
15.2-rasm. Kompyuterdan Arduino UNO da LEDni boshqarish
Arduino UNO uchun qolgan aktuatorlarni o'zingizning xohishingizga ko'ra olishingiz va USB kabelidan foydalangan holda kompyuter orqali o'zingiz boshqarishga harakat qilishingiz mumkin. Birinchi mashg’ulotdan boshlab paneldagi bitta LED bilan sxemani Arduino nima va undan qanday foydalanishni quring va LED bilan sxemani yig'gandan so'ng, mikrokontrollerga quyidagi eskizni yuklang.
Eskiz. Arduino va kompyuter o'rtasidagi o'zaro ta'sir
int val; // o'zgaruvchi uchun kontrollerdagi bo'sh xotira
void setup() {
Serial.begin(9600); // ketma-ket portni ulash
pinMode (13, OUTPUT ); // 13-pinni chiqish sifatida e'lon qilish
}
void loop() {
// biron-bir buyruq kelishini tekshiring
if ( Seriya . mavjud ()) {
val = Serial.read (); // val o'zgaruvchisi qabul qilingan buyruqqa teng
if (val == '1') { digitalWrite (13, HIGH );} // LEDni 1 marta yoqing
if (val == '0') { digitalWrite (13, LOW );} // 0 da LEDni o'chiring
}
}
Kod uchun tushuntirishlar:
Serial.available() funksiyasi kompyuterdan buyruqlarni tekshiradi;
Serial.read() funksiyasi Serial monitor tomonidan qabul qilingan ma'lumotlarni o'qiydi.
if (val == '1') shartli bayonotida "moslik" qo'sh tenglik belgisi mavjud va qavs ichida bitta tirnoq ishlatilishi kerak.
15.3-rasm. Arduino UNO-da kompyuterdan servo boshqaruv
Sxemani yig'gandan so'ng, quyidagi eskizni taxtaga yuklang
Eskiz. Kompyuterdan servo boshqaruv
#include < Servo .h> // servo uchun kutubxonani qo'shing
Servo servo // "servo" tipidagi servo o'zgaruvchini e'lon qilish
int val; // o'zgaruvchi uchun kontrollerdagi bo'sh xotira
void setup() {
Serial.begin(9600); // ketma-ket portni ulash
servo.attach(11); // servoni 11-pinga ulang
}
void loop() {
// biron-bir buyruq kelishini tekshiring
if (Serial.available()) {
val = Serial.read(); // val o'zgaruvchisi qabul qilingan buyruqqa teng
if (val == '1') { servo.write(10); } // 1da servoni 10 ga aylantiring
if (val == '2') {servo. write (45); } // 2 da servoni 45 ga aylantiring
if (val == '3') {servo. write (90); } // 3 da servoni 90 ga aylantiring
}
}
|