Показать сообщение отдельно
Старый 09.02.2017, 15:34   #828
plus88
Старший Пользователь
 
Регистрация: 05.05.2015
Город: Омск
Регион: 55
Машина: Prado 120
Сообщений: 133
plus88 is on a distinguished road
По умолчанию

Собираю новый БП. с ардуиной. и чет запутался... пока есть вот такая схема и вот такой скетч.

http://pccar.ru/attachment.php?attac...1&d=1486640003


//Кнопка для д.Холла и выключение блока питания хаба D12
int powerbutton = 12;
//
int sleepButton = 11;
int powerButtonHub = 7;
int sleepControl = 10;
int powerControl = 9;
int powerControlHub = 11;

boolean lastButton = LOW;
boolean currentButton = LOW;
boolean lastpowerButton = LOW;
boolean currentpowerButton = LOW;

boolean powerHubOn = false;
boolean powerOn = false;
void setup() {
// put your setup code here, to run once:

pinMode(powerbutton, INPUT);
pinMode(sleepButton, INPUT);
pinMode(powerButtonHub, INPUT);
pinMode(sleepControl, OUTPUT);
pinMode(powerControl, OUTPUT);
pinMode(powerControlHub, OUTPUT);
}
boolean debounce(boolean last)
{
boolean current = digitalRead(powerbutton);
if (last != current)
{
delay(5);
current = digitalRead(powerbutton);
}
return current;
}

boolean debouncepower(boolean lastpower)
{
boolean currentpower = digitalRead(powerbutton);
if (lastpower != currentpower)
{
delay(5);
currentpower = digitalRead(powerbutton);
}
return currentpower;
}


void loop() {
currentButton = debounce(lastButton);
if (lastButton == LOW && currentButton == HIGH)
{
powerHubOn = !powerHubOn;
}
lastButton = currentButton;
digitalWrite(powerControlHub, powerHubOn);
digitalWrite(sleepControl, powerHubOn);




//Упрвление питанием планшета
currentpowerButton = debounce(lastpowerButton);
if (lastpowerButton == LOW && currentpowerButton == HIGH)
{
powerOn = !powerOn;
}
lastpowerButton = currentpowerButton;
digitalWrite(powerControl, powerOn);
}


Прошу посмотреть и указать на ошибки. Спасибо
Миниатюры
Нажмите на изображение для увеличения
Название: 1.jpg
Просмотров: 596
Размер:	40.7 Кб
ID:	46686  
plus88 вне форума   Ответить с цитированием