Тәжірибелік жұмыс №6. Сервожетекті басқару
Arduino IDE –де серво-қозғалтқышпен жұмыс жасауға арналған арнайы
servo-кітапханасы бар.
Servo объектісін құруымыз керек. Бұл servoMain болсын. Келесі функция
setup() болады, онда біз сервожетек контроллердің 10 шығысқа қосылғанын
кӛрсетеміз. Loop() негізгі функциясында біз командалар арасында кідіріс жасап,
сервоқозғалтқыш үшін әртүрлі команда береміз.
Скетч:
#include "Servo.h"
Servo servoMain; // Servo нысаны
void setup()
{
servoMain.attach(10); // Servo 10 шығысқа қосылған
}
void loop()
{
servoMain.write(45); // Сервоны солға 45 градусқа бұру
delay(2000); // 2 сек. кідіріс
servoMain.write(0); // Сервоны солға 0 градусқа бұру
delay(1000); // 1 сек. кідіріс
servoMain.write(90); // Сервоны 90 градусқа бұру. Орталық позиция
delay(1500); // 1,5 сек. кідіріс
servoMain.write(135); // Сервоны оңға 135 градусқа бұру
delay(3000); // 3 сек. кідіріс
servoMain.write(180); // Сервоны оңға 180 градусқа бұру
delay(1000); // 1 сек. кідіріс
31
servoMain.write(90); // Сервоны 90 градусқа бұру. Орталық позиция
delay(5000); // 5 сек. кідіріс
}
Жобада пайдаланылатын сервожетектің 3 сымы бар: қара, қызыл және
қызғылт-сары немесе ақ.
Сур.10. Сервожетек
Arduino-ға қосылу сызбасы келесідей: қара сымды Arduino 0В шығысына,
қызылды Arduino 5В және қызғылт-сары/ақты Arduino UNO-ның 10-шығысына
қосамыз.
Өз бетінше орындауға арналған тапсырмалар:
1. Серво-қозғалтқышпен басқару.
Бағдарлама жүктелгеннен кейін қозғалтқыш білікті солға 90 градусқа, 2
секундтан кейін оңға 90 градусқа бұрады.
2. Серво-қозғалтқыш пен потенциометр.
Бағдарлама жүктелгеннен кейін күту режиміне ӛтеді. Потенциометрдің
тетігін бұрғанда серво-қозғалтқыш бұру бұрышын -90 нан +90 градусқа
ӛзгертеді.
3. Кӛрсеткіші бар спидометр.
Бағдарлама жүктелгеннен кейін серво-қозғалтқыш 0 градусқа бұрылады.
Спидометр орнатылған дӛңгелек айналғанда жылдамдық шамасы туралы
ақпарат серво-қозғалтқыш білігінің бұрылу бұрышына айналады.
LCD экраны.
Arduino IDE ортасы Hitachi HD44780 LCD-дисплейді қосу жӛнінде дайын
мысалы (скетч) бар. Біз ұқсас LCD пайдаланатын боламыз: Pololu 16x2 LCD
773 немесе 772.
Дисплейдегі бейнелеудің алуан түрлілігін басқаруда потенциометр
қолданылған IDE-дегі түпнұсқалық үлгіні қайталамас үшін біз жобаға кейбір
ӛзгерістерді енгіземіз. Конденсатормен жабдықталған ЕИМ шығыс ұяшығының
біреуін пайдалана отырып, біз бағдарламадан мәні "нақты" жазылып берілетін
бейнелеудің алуан түрлілігін басқаратын боламыз. ЕИМ ретінде қолданылатын
Arduino-ның 9 шығарғышы дисплейдегі бейнелеудің алуан түрлілігін
басқарудың Vo LCD бір кіріс ұяшығына жалғанған. 100 мкФ конденсаторы
ШИМ мен ортақ шығыс ұяшығы арасында байланысқан.
32
LCD дисплейдегі бейнелеудің алуан түрлілігі басқару кірісіндегі берілген
кернеу шамасына байланысты. Кернеу кӛп болған сайын кереғарлық мӛлшері
азаяды және керісінше. Кернеуі шамамен 0.5-1 В болуы тиіс, дегенмен,
бейнелеудің алуан түрлілігі мӛлшері қоршаған орта температурасына да
байланысты. Скетчте ЕИМ мәні 50-ге белгіленген, бұл 1В деңгейіндегі кернеу
шығысын қамтамасыз етеді. Сәйкесінше, кернеудің берілген мәнін арттыру
немесе кеміту арқылы бейнелеудің алуан түрлілігін басқаруыңызға болады.
Тӛменде LCD-Arduino пинауты кӛрсетілген.
LCD Pin
Таңба
Тағайындалуы
Arduino Pin
1
Vss Ортақ (0 V)
Ортақ (0 V)
2
Vdd Қуаттандыру (4.5 – 5.5 В)
+5V
3
Vo
Кереғарлықты басқару
9
4
RS
H/L register select signal
12
5
R/W H/L read/write signal
Ортақ (0 V)
6
E
H/L enable signal
11
11
DB4 H/L data bus for 4-bit mode
5
12
DB5 H/L data bus for 4--bit mode 4
13
DB6 H/L data bus for 4-bit mode
3
14
DB7 H/L data bus for 4-bit mode
2
Сур.11. LCD экранның қосылу сызбасы
Достарыңызбен бөлісу: |