подскажите как написать код на ардуино

mouse
Offline
Зарегистрирован: 04.05.2014

здраствуйте  я еще новичек и не понимаю как написать код

есть freeduino v 1.16 чип 168 atm

Надо чтоб при нажатие на кнопку 

включилось  первое реле и не выключалось  и через секунду  включилось второе реле на 3 секунды и выключилось . и при этом первое реле включено  постояно .

Когда включиться второе реле  на 3 секунды  серво мотор  должен быть в положение 180 градусов .

код для сервы вроде есть. но как добавить код для реле ? и чтобы при нажатие второй раз на кнопку  все выключилось и серво занял положения 0 градусов 

буду благодарин если поможите .

спасибо.

#include <Servo.h>
 
int button = 5; //button pin, connect to ground to move servo
 
int press = 0;
 
Servo servo;
 
boolean toggle = true;
 
void setup()
 
{
 
  pinMode(button, OUTPUT); //arduino monitor pin state
 
  servo.attach(12); //pin for servo control signal
 
  digitalWrite(5, LOW); //enable pullups to make pin high
 
}
 
void loop()
 
{
 
  press = digitalRead(button);
 
  if (press == HIGH)
 
  {
 
    if(toggle)
 
    {
 
      servo.write(0);
      delay(1000);
      servo.write(180);
      delay(3000);
      servo.write(100);
      delay(60000);
       servo.write(60);
      delay(60000);
      
      servo.write(0);
      delay(1000);
 
 
      toggle = !toggle;
 
    }
 
    else
 
    {
      servo.write(0);
      toggle = !toggle;
    }
  }
  delay(500);  //delay for debounce
}
 
mouse
Offline
Зарегистрирован: 04.05.2014

с этим ардуино не может справится ?

vvadim
Offline
Зарегистрирован: 23.05.2012

Справится легко

mouse
Offline
Зарегистрирован: 04.05.2014
вроде написал как кнопку подключить  чтоб работоло все при нажатии кнопки 
 
 
 
 
#include <Servo.h>
 
 
int button = 5; //button pin, connect to ground to move servo
 
int press = 0;
 
Servo servo;
 
boolean toggle = true;
 
void setup()
 
{
delay(1000);
  pinMode(13, OUTPUT);
  digitalWrite(13, HIGH);   // set the LED on
  
  digitalWrite(12, HIGH); 
  pinMode(12, OUTPUT);
 delay(3000);    
  digitalWrite(12, LOW); 
  
 
  pinMode(button, OUTPUT); //arduino monitor pin state
 
  servo.attach(8); //pin for servo control signal
 
  digitalWrite(5, LOW); //enable pullups to make pin high
 
}
 
void loop()
 
{
 
  press = digitalRead(button);
 
  if (press == HIGH)
 
  {
 
    if(toggle)
 
    {
 
      servo.write(0);
      delay(1000);
      servo.write(180);
      delay(3000);
      servo.write(100);
      delay(60000);
      servo.write(0);
      servo.detach();
 
 
      toggle = !toggle;
 
    }
 
    else
 
    {
      servo.write(0);
      toggle = !toggle;
    }
  }
  delay(500);  //delay for debounce
}
 
mouse
Offline
Зарегистрирован: 04.05.2014

только при нажатие на кнопку второй  раз не чего не работает 

Araris
Offline
Зарегистрирован: 09.11.2012