Відповісти

Введіть повідомлення і натисніть Надіслати
Параметри

Назад

Огляд теми (нові повідомленні вгорі)

Panzerfunker
2016-12-04 23:54:02

int switchPin1 = 11;
int ledPin1 = 12;
int switchPin2 = 8;
int ledPin2 = 9;

boolean lastButton1 = LOW;
boolean ledOn1 = false;
boolean currentButton1 = LOW;

boolean lastButton2 = LOW;
boolean ledOn2 = false;
boolean currentButton2 = LOW;

//----------------------------------------

void setup()
{
  pinMode(switchPin1, INPUT);
  pinMode(ledPin1, OUTPUT);
  pinMode(switchPin2, INPUT);
  pinMode(ledPin2, OUTPUT);
}

//----------------------------------------

boolean debounce(boolean last , int switchP)

{
boolean current = digitalRead(switchP);
  if (last != current)
  {
    delay(5);
    current = digitalRead(switchP);
  }
return current;
}

//--------------------------------------------

void loop()

{
currentButton1 = debounce(lastButton1, switchPin1);
currentButton2 = debounce(lastButton2, switchPin2);

  if (lastButton1 == LOW && currentButton1 == HIGH) ledOn1 = !ledOn1;
  if (lastButton2 == LOW && currentButton2 == HIGH) ledOn2 = !ledOn2;
 
lastButton1 = currentButton1;
lastButton2 = currentButton2;
digitalWrite(ledPin1, ledOn1);
digitalWrite(ledPin2, ledOn2);
}

Grey7604
2016-12-01 17:43:13

Здравствуйте у меня такой вопрос: как запрограмировать этот скетч на два канала,  то есть две кнопки два светодиода.

Stoyn11
2016-08-20 16:19:22

Вот только не могу понять чем вам реле поворотов не помогает - просто поменяли лампочку на ленту и делов то!

vvr
2016-06-25 16:11:45

какое удержание ?

Yury
2016-06-25 11:23:14
vvr пише:

#define LED  13 
#define BUTTON 2 
int val = 0;     
int old_val = 0; 
int state = 0;   

void setup()
{
  pinMode(LED, OUTPUT);   
  pinMode(BUTTON, INPUT);   
}
void loop()
{
  val = digitalRead(BUTTON);
  if ((val == HIGH) && (old_val == LOW))
  {
    state = 1 - state;
  }
  old_val = val; 
  if (state == 1)
  {
    digitalWrite(LED, millis()%2000 < 100);
  }
  else
  {
    digitalWrite(LED, LOW);
  }
}

тут при нажатии и удерживании мигает а при отпускании гаснет, а как сделать чтобы при одном нажатии мигало, а при повторном нажатии гасло? что-то не могу разобраться(

lkj
2016-06-24 21:36:49

Сделайте несколько независимых устройств, arduino  будет контролером.
К примеру,  для поворотов можно применить мультивибратор.

Yury
2016-06-24 20:37:21

спасибо, буду пробовать

vvr
2016-06-24 15:31:39

ну и прицепить ещё борьбу с дребезгом контактов

vvr
2016-06-24 15:30:01

#define LED  13 
#define BUTTON 2 
int val = 0;     
int old_val = 0; 
int state = 0;   

void setup()
{
  pinMode(LED, OUTPUT);   
  pinMode(BUTTON, INPUT);   
}
void loop()
{
  val = digitalRead(BUTTON);
  if ((val == HIGH) && (old_val == LOW))
  {
    state = 1 - state;
  }
  old_val = val; 
  if (state == 1)
  {
    digitalWrite(LED, millis()%2000 < 100);
  }
  else
  {
    digitalWrite(LED, LOW);
  }
}

Yury
2016-06-24 14:40:26

Хочу сделать электрику мотоцикла полностью управляемой ардуино, я новичок в этом деле, помогите с поворотами, нужно чтобы при нажатии кнопки мигал светодиод (к примеру) пока не будет нажата кнопка еще раз, сложность (для меня) в том что код большой, много функций, и нужно чтобы одно не мешало другому, то есть один большой скетч, из множества маленьких (независимых)
если кому не сложно, киньте пример как это можно сделать....

Підвал форуму