1.22M
Категория: ЭлектроникаЭлектроника

Joystick bilan LEDni boshqaring

1.

Joystick bilan LEDni
boshqaring
This Photo by Unknown author is licensed under CC BY-SA-NC.
o'qituvchi: O'rishov S

2.

Joystick
nima?
“ Joystik ” so‘zini tinglaganimizda
xayolimizga keladigan birinchi narsa
bu shunchaki o‘yin boshqaruvchisi. Chunki
hamma buni video o'yinlarni o'ynab
ko'rgan. Ammo, o'yindan tashqari, u
elektronikada keng ko'lamli ilovalarni
qo'llashi mumkin. Aslida, joystik X va Y
tekisligi uchun ikkita potansiyometrning
birikmasidir. Potansiyometrdan
kuchlanishni o'qish orqali Arduino-ga
analog ma'lumotlarni beradi. Joystik mili
harakatlanayotganda bu analog qiymat
o'zgaradi.

3.

KOMPONENTLAR VA MATERIALLAR

4.

GND ni arduinoning GND siga ulaymiz​
Joystikni
Arduinoga
ulash
Vcc dan esa arduinoning 5v ga ulaymiz​
VRx A0 piniga​
VRy to PIN A1​
SW 2 ga mahkamlang

5.

•Ushbu loyihaning sxemasi

6.

Ledlarni ulash
Birinchi LED Anode uchun PIN 10Arduino raqamli tomonida.
Anod LED ikkinchi qilish PIN 9 Arduino raqamli tomonida.
Anod LED ikkinchi qilish PIN 5 Arduino raqamli tomonida.
Arduino-ning raqamli tomonidagi Pin 6 - ga to'rtinchi LED anod .

7.

Dastur manba kodi
• bizda bitta, ikkita, uchta va to'rtta LED bor va ular mos ravishda 5, 6, 9 va 10pinlarga ulangan .
• int led1 = 5;
• int led2 = 6;
• int led3 = 9;
• int led4 = 10;

8.

Shuningdek, biz VRX va VRY da
joystikni aniqlashimiz kerak . VRX
A0 ga ulangan. Shunday
qilib, joystick_ x unga A0 pinidagi
qiymatni bermaguncha
o'zgaruvchini yaratamiz. Xuddi
shunday, boshqa
o'zgaruvchi joystick_y bo'lib, unga
A1 qiymatini beradi
// define joystick
pins
int joystick_x = A0;
int joystick_y = A1;

9.

Keyinchalik, biz ikkita
o'zgaruvchini
joystick_
xvalue va joysticks_yval
ue e'lon qildik . Ushbu
ikkita o'zgaruvchi mos
ravishda joystikdan
kelgan X va Y o'qilishini
saqlaydi.
//read values from the
analog pin
int joystick_xvalue = 0;
int joystick_yvalue = 0;

10.

Biz pinMode funktsiyasidan foydal
anamiz . Va LEDlarni raqamli
chiqish pinlari sifatida
o'rnatganingizda,biz
joystick_x ni A0 kirish pinini va
joystick_y ni A1 kirish pinini
aniqlash uchun bir
xil funktsiyadan foydalanamiz .
void setup() {
// put your setup code here,
to run once:
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
pinMode(led4, OUTPUT);
pinMode(joystick_x, INPUT);
pinMode(joystick_y, INPUT);

11.

void loop() {
// put your main code here, to run repeatedly: joystick_xvalue =
0;
joystick_yvalue = 0;
//read values from joystick_x
joystick_xvalue = analogRead(joystick_x);
joystick_xvalue = map (joystick_xvalue, 0, 1023, -90, 90); //read
values from joystick_y
joystick_yvalue = analogRead(joystick_y);
joystick_yvalue = map (joystick_yvalue, 0, 1023, -90, 90);

12.

13.

Va nihoyat, biz
Joystick yordamida
LEDlarni boshqarish
uchun if
iboralarini qo'shdim
if(joystick_xvalue < -5){
digitalWrite(led1, HIGH);
digitalWrite(led2, LOW);
digitalWrite(led3, LOW);
digitalWrite(led4, LOW);
}
else if(joystick_xvalue > 5){
digitalWrite(led1, LOW);
digitalWrite(led2, HIGH);
digitalWrite(led3, LOW);
digitalWrite(led4, LOW);
}

14.

if(joystick_xvalue < -5){
digitalWrite(led1, HIGH);
digitalWrite(led2, LOW);
digitalWrite(led3, LOW);
digitalWrite(led4, LOW);
}
else if(joystick_xvalue > 5){
digitalWrite(led1, LOW);
digitalWrite(led2, HIGH);
digitalWrite(led3, LOW);
digitalWrite(led4, LOW);
}
else if(joystick_yvalue < -5){
digitalWrite(led1, LOW); digitalWrite(led2,
LOW); digitalWrite(led3, HIGH);
digitalWrite(led4, LOW);
}
else if(joystick_yvalue > 5){
digitalWrite(led1, LOW); digitalWrite(led2,
LOW); digitalWrite(led3, LOW);
digitalWrite(led4, HIGH);
}
Else{
digitalWrite(led1, LOW); digitalWrite(led2,
LOW); digitalWrite(led3, LOW);
digitalWrite(led4, LOW)}

15.

Xulosa
Biz Joystick yordamida LEDlarni
boshqarish bo'yicha Arduino
qo'llanmasini yakunladik. Endi siz
Arduino Board bilan Joystick moduli
yordamida to'rtta LEDni
boshqarishingiz mumkin . Umid
qilamizki, siz ushbu loyihani foydali deb
topdingiz! Agar sizda biron bir savol
bo'lsa, telegram orqali sorashingiz
mumkin

16.

E'TIBORINGIZ UCHUN RAXMAT
This Photo by Unknown author is licensed under CC BY-NC-ND.
English     Русский Правила