Страница 1 из 1

Прошу накорябать пример работы со слайдером для Arduino

Добавлено: Пт апр 24, 2015 7:57 pm
DAP
Подскажите пример. Есть dimmer присоединенный к arduino в дуню зашит скетч:

Код: Выделить всё

#include <CyberLib.h> //Библиотека от Cyber-Place.ru
volatile uint8_t tic, Dimmer1=255;
uint8_t data;

void setup() 
{ 
  D4_Out; D3_Out;//Настраиваем порты на выход
  D4_Low; D3_High;//установить на выходах низкий уровень сигнала
  D2_In; //настраиваем порт на вход для отслеживания прохождения сигнала через ноль  
  attachInterrupt(0, detect_up, LOW);  // настроить срабатывание прерывания interrupt0 на pin 2 на низкий уровень
  StartTimer1(halfcycle, 40); //время для одного разряда ШИМ
  StopTimer1(); //остановить таймер
  UART_Init(9600); //инициализация порта
}
//********************обработчики прерываний*******************************
void halfcycle()  //прерывания таймера
{ 
  tic++;  //счетчик  
  if(Dimmer1 < tic ) D4_High; //управляем выходом
}

void  detect_up()  // обработка внешнего прерывания. Сработает по переднему фронту
{  
 tic=0;             //обнулить счетчик
 ResumeTimer1();   //запустить таймер
 attachInterrupt(0, detect_down, HIGH);  //перепрограммировать прерывание на другой обработчик
}  

void  detect_down()  // обработка внешнего прерывания. Сработает по заднему фронту
{   
 StopTimer1(); //остановить таймер
 D4_Low;       //логический ноль на выходы
 tic=0;       //обнулить счетчик
 attachInterrupt(0, detect_up, LOW); //перепрограммировать прерывание на другой обработчик
} 
//*************************************************************************
void loop() 
{Start
  if (UART_ReadByte(data))
 {
   if(data>47 && data<59)
    {
      data=225-(data-48)*25;
      Dimmer1=data;
    }
 } 
End}

создал слайдер от 0 до 9
что надо написать в поле "Код: "
чтоб в serial уходило значение со слайдера?

Re: Прошу накорябать пример работы со слайдером для Arduino

Добавлено: Сб апр 25, 2015 1:39 am
DAP
АААААААААААААААААА я это сделал! :D :D :D :D :D

Код: Выделить всё

$state = $params['VALUE']; // задаем переменной $state текущее значение ползунка - $params['VALUE']
exec("mode com4: BAUD=9600 PARITY=N data=8 stop=1 xon=off"); //настраиваем порт
$fp =fopen("COM4", "w"); //открываем порт на запись как файл
fwrite($fp, $state); //передаем в порт код значения ползунка
fclose($fp); // закрываем файл порта
say("$state",5); //произносим значение вслух