Тема: Arduino HC-06 (подключение, управление реле)
Исходники - Данный контент доступен только зарегистрированным пользователям.
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
forum.rcl-radio.ru → Разное → Arduino HC-06 (подключение, управление реле)
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Исходники - Данный контент доступен только зарегистрированным пользователям.
Проверил с модулем HC-05 - работает стабильно. А как сделать на более каналов в программе верхнего уровня. Исходник есть, а в чем и как изменить ?
Я только начал изучать данную тему, поэтому сам мало что понимаю.
Вам надо больше переключателей цифровых выходов?
ШИМ + КНПОКИ
Исходники:
Данный контент доступен только зарегистрированным пользователям.
Приложение - Данный контент доступен только зарегистрированным пользователям.
int buff[2],i,dig,arr[2],w=1;
void setup(){ Serial.begin(9600);Serial.setTimeout(50);
pinMode(9, OUTPUT); // PWM1
pinMode(10, OUTPUT);// PWM2
pinMode(11, OUTPUT);// P3
pinMode(12, OUTPUT);// P2
pinMode(13, OUTPUT);// P1
pinMode(8, OUTPUT);// P4
pinMode(7, OUTPUT);// P5
}
void loop() {
/////// ПРИЕМ ДАННЫХ С SERIAL PORT /////////////////////////
while (Serial.available()>0){
for (i=0;i<1;i++) {
buff[0] = Serial.parseInt();
buff[1] = Serial.parseInt();}
Serial.println(buff[0],DEC);w=1;}
///////////// РАЗДЕЛЕНИЕ ЧИСЛА НА КОД КОМАНДЫ И ЗНАЧЕНИЕ ///////////////////
if(buff[0]>10&&w==1){ w=0;
if(buff[0]>=10000){dig=buff[0];arr[0]=dig/1000;arr[1]=dig%1000;}
if(buff[0]<10000&&buff[0]>=1000){dig=buff[0];arr[0]=dig/100;arr[1]=dig%100;}
if(buff[0]<1000){dig=buff[0];arr[0]=dig/10;arr[1]=dig%10;}
Serial.println(arr[0]);
Serial.println(arr[1]);
Serial.println(" ");
}
switch(arr[0]){
case 10: pin();break;
case 11: analogWrite(9,arr[1]);break;
case 12: analogWrite(10,arr[1]);break;
}
}
void pin(){
if(arr[1]==1){digitalWrite(13,HIGH);}
if(arr[1]==0){digitalWrite(13,LOW);}
if(arr[1]==3){digitalWrite(12,HIGH);}
if(arr[1]==2){digitalWrite(12,LOW);}
if(arr[1]==5){digitalWrite(11,HIGH);}
if(arr[1]==4){digitalWrite(11,LOW);}
if(arr[1]==7){digitalWrite(8,HIGH);}
if(arr[1]==6){digitalWrite(8,LOW);}
if(arr[1]==9){digitalWrite(7,HIGH);}
if(arr[1]==8){digitalWrite(7,LOW);}
}
Да, отлично.
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
forum.rcl-radio.ru → Разное → Arduino HC-06 (подключение, управление реле)
Форум работает на PunBB, при поддержке Informer Technologies, Inc
|