This commit is contained in:
zloihach 2023-03-27 15:07:32 +03:00
parent 3a434295b2
commit 93f8816a21
7 changed files with 106 additions and 8 deletions

8
.idea/.gitignore generated vendored Normal file
View File

@ -0,0 +1,8 @@
# Default ignored files
/shelf/
/workspace.xml
# Editor-based HTTP Client requests
/httpRequests/
# Datasource local storage ignored files
/dataSources/
/dataSources.local.xml

8
.idea/modules.xml generated Normal file
View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/.idea/pmw.iml" filepath="$PROJECT_DIR$/.idea/pmw.iml" />
</modules>
</component>
</project>

2
.idea/pmw.iml generated Normal file
View File

@ -0,0 +1,2 @@
<?xml version="1.0" encoding="UTF-8"?>
<module classpath="CMake" type="CPP_MODULE" version="4" />

6
.idea/vcs.xml generated Normal file
View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="" vcs="Git" />
</component>
</project>

View File

@ -2,9 +2,9 @@
## Устройство представляет из себя I2C ведущее устройство. Управляет устройством из задания 7. Имеет 6 кнопок: ## Устройство представляет из себя I2C ведущее устройство. Управляет устройством из задания 7. Имеет 6 кнопок:
-Включить ШИМ. - **Включить ШИМ.
-Выключить ШИМ. - **Выключить ШИМ.
-Увеличить частоту на 25% от текущего. - **Увеличить частоту на 25% от текущего.
-Уменьшить частоту на 20% от текущего. - **Уменьшить частоту на 20% от текущего.
-Увеличить скважность. - **Увеличить скважность.
-Уменьшить скважность. - **Уменьшить скважность.

37
main.cpp Normal file
View File

@ -0,0 +1,37 @@
// определяем пины, к которым подключена кнопка и ШИМ
#define BUTTON_PIN 2
#define PWM_PIN 9
// определяем регистры ШИМ
#define TCCR1A_REG 0x80
#define TCCR1B_REG 0x81
#define OCR1A_REG 0x88
void setup() {
// настраиваем пин кнопки на вход с подтягивающим резистором
pinMode(BUTTON_PIN, INPUT_PULLUP);
// настраиваем пин ШИМ на выход
pinMode(PWM_PIN, OUTPUT);
// устанавливаем настройки ШИМа
TCCR1A = 0x82; // настройки регистра TCCR1A (включаем Fast PWM, устанавливаем режим non-inverting)
TCCR1B = 0x11; // настройки регистра TCCR1B (выбираем источник тактирования и устанавливаем prescaler)
OCR1A = 0x0000; // устанавливаем начальное значение ШИМа
}
void loop() {
// считываем состояние кнопки
bool buttonState = digitalRead(BUTTON_PIN);
// если кнопка нажата, включаем ШИМ
if (buttonState == LOW) {
// устанавливаем значение ШИМа
OCR1A = 0x0FFF;
}
// если кнопка не нажата, выключаем ШИМ
else {
// устанавливаем значение ШИМа в 0
OCR1A = 0x0000;
}
}

37
main.ino Normal file
View File

@ -0,0 +1,37 @@
//// определяем пины, к которым подключена кнопка и ШИМ
//#define BUTTON_PIN 2
//#define PWM_PIN 9
//
//// определяем регистры ШИМ
//#define TCCR1A_REG 0x80
//#define TCCR1B_REG 0x81
//#define OCR1A_REG 0x88
//
//void setup() {
// // настраиваем пин кнопки на вход с подтягивающим резистором
// pinMode(BUTTON_PIN, INPUT_PULLUP);
//
// // настраиваем пин ШИМ на выход
// pinMode(PWM_PIN, OUTPUT);
//
// // устанавливаем настройки ШИМа
// TCCR1A = 0x82; // настройки регистра TCCR1A (включаем Fast PWM, устанавливаем режим non-inverting)
// TCCR1B = 0x11; // настройки регистра TCCR1B (выбираем источник тактирования и устанавливаем prescaler)
// OCR1A = 0x0000; // устанавливаем начальное значение ШИМа
//}
//
//void loop() {
// // считываем состояние кнопки
// bool buttonState = digitalRead(BUTTON_PIN);
//
// // если кнопка нажата, включаем ШИМ
// if (buttonState == LOW) {
// // устанавливаем значение ШИМа
// OCR1A = 0x0FFF;
// }
// // если кнопка не нажата, выключаем ШИМ
// else {
// // устанавливаем значение ШИМа в 0
// OCR1A = 0x0000;
// }
//}