Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <Servo.h>
- Servo kasi; // luodaan servo objekti servon käyttämiseksi
- Servo kansi;// toinen servo
- const int buttonPin = 2;
- int pos = 0; // servon asennon muuttuja
- int poskansi = 0;
- int buttonState = 0;
- int jees;
- void setup() {
- kansi.attach(5); // kansi-servo viitospinniin
- kasi.attach(3); // käsi-servo kolmoseen
- pinMode(buttonPin, INPUT);
- }
- void loop() {
- jees = random(1, 11);
- buttonState = digitalRead(buttonPin);
- if (buttonState == HIGH) {
- if (jees == 1){
- delay(500);
- for (poskansi = 45; poskansi >= 0; poskansi -= 1) { // kansi menee 45 asteesta 0:aan
- kansi.write(poskansi); // servo menee uuteen positioon
- delay(25); // viive asentojen välillä
- }
- for (pos = 180; pos >= 5; pos -= 1) { //kädelle samat jutut
- kasi.write(pos);
- delay(15);
- }
- delay(1000);
- for (pos = 5; pos <= 180; pos += 1) {
- kasi.write(pos);
- delay(15);
- }
- for (poskansi = 0; poskansi <= 45; poskansi += 1) {
- // in steps of 1 degree
- kansi.write(poskansi);
- delay(15);
- }
- }
- if (jees == 2){
- delay(500);
- for (poskansi = 45; poskansi >= 0; poskansi -= 1) {
- kansi.write(poskansi);
- delay(25);
- }
- delay(2000);
- for (pos = 180; pos >= 5; pos -= 1) { //
- kasi.write(pos); //
- delay(20);
- }
- delay(1000);
- for (pos = 5; pos <= 180; pos += 1) {
- // in steps of 1 degree
- kasi.write(pos); //
- delay(15);
- }
- for (poskansi = 0; poskansi <= 45; poskansi += 1) {
- kansi.write(poskansi);
- delay(5);
- }
- }
- if (jees == 3){
- delay(100);
- for (poskansi = 45; poskansi >= 0; poskansi -= 1) {
- kansi.write(poskansi);
- delay(10);
- }
- for (pos = 180; pos >= 5; pos -= 1) {
- kasi.write(pos);
- delay(10);
- }
- delay(1000);
- for (pos = 5; pos <= 180; pos += 1) {
- kasi.write(pos);
- delay(10);
- }
- for (poskansi = 0; poskansi <= 45; poskansi += 1) {
- // in steps of 1 degree
- kansi.write(poskansi);
- delay(10);
- }
- }
- if (jees == 4){
- delay(500);
- for (poskansi = 45; poskansi >= 0; poskansi -= 1) {
- kansi.write(poskansi);
- delay(25);
- }
- delay(1000);
- for (poskansi = 0; poskansi <= 45; poskansi += 1) {
- // in steps of 1 degree
- kansi.write(poskansi);
- delay(25);
- }
- delay(1000);
- for (poskansi = 45; poskansi >= 0; poskansi -= 1) {
- kansi.write(poskansi);
- delay(25);
- }
- for (pos = 180; pos >= 5; pos -= 1) {
- kasi.write(pos);
- delay(15);
- }
- delay(1000);
- for (pos = 5; pos <= 180; pos += 1) {
- kasi.write(pos);
- delay(15);
- }
- for (poskansi = 0; poskansi <= 45; poskansi += 1) {
- kansi.write(poskansi);
- delay(15);
- }
- }
- if (jees == 5){
- delay(500);
- for (poskansi = 45; poskansi >= 0; poskansi -= 1) {
- kansi.write(poskansi);
- delay(25);
- }
- for (pos = 180; pos >= 40; pos -= 1) {
- kasi.write(pos);
- delay(15); // waits 15ms for the servo to reach the position
- }
- delay(2000);
- for (pos = 40; pos <= 180; pos += 1) { // goes from 40 degrees to 180 degrees
- // in steps of 1 degree
- kasi.write(pos);
- delay(15);
- }
- for (pos = 180; pos >= 5; pos -= 1) {
- kasi.write(pos);
- delay(10);
- }
- delay(3000);
- for (pos = 5; pos <= 180; pos += 1) { // goes from 05degrees to 180 degrees
- // in steps of 1 degree
- kasi.write(pos); // tell servo to go to position in variable 'pos'
- delay(10); // waits 10ms for the servo to reach the position
- }
- for (poskansi = 0; poskansi <= 45; poskansi += 1) {
- kansi.write(poskansi);
- delay(15);
- }
- }
- if (jees == 6){
- delay(100);
- for (poskansi = 45; poskansi >= 0; poskansi -= 1) {
- kansi.write(poskansi);
- delay(5);
- }
- for (poskansi = 0; poskansi <= 45; poskansi += 1) { // goes from 0 degrees to 45 degrees
- // in steps of 1 degree
- kansi.write(poskansi);
- delay(5);
- }
- for (poskansi = 45; poskansi >= 0; poskansi -= 1) {
- kansi.write(poskansi);
- delay(5);
- }
- for (poskansi = 0; poskansi <= 45; poskansi += 1) { // goes from 0 degrees to 45 degrees
- // in steps of 1 degree
- kansi.write(poskansi);
- delay(5);
- }
- for (poskansi = 45; poskansi >= 0; poskansi -= 1) {
- kansi.write(poskansi);
- delay(5);
- }
- for (poskansi = 0; poskansi <= 45; poskansi += 1) { // goes from 0 degrees to 45 degrees
- // in steps of 1 degree
- kansi.write(poskansi); //
- delay(5); // waits 5ms for the servo to reach the position
- }
- for (poskansi = 45; poskansi >= 0; poskansi -= 1) { // goes from 45 degrees to 0 degrees
- kansi.write(poskansi);
- delay(5);
- }
- for (poskansi = 0; poskansi <= 45; poskansi += 1) { // goes from 0 degrees to 45 degrees
- // in steps of 1 degree
- kansi.write(poskansi);
- delay(5);
- }
- for (poskansi = 45; poskansi >= 0; poskansi -= 1) {
- kansi.write(poskansi);
- delay(5);
- }
- for (poskansi = 0; poskansi <= 45; poskansi += 1) { // goes from 0 degrees to 45 degrees in steps of 1 degree
- kansi.write(poskansi);
- delay(5); // waits 5ms for the servo to reach the position
- }
- for (poskansi = 45; poskansi >= 0; poskansi -= 1) { // goes from 45 degrees to 0 degrees
- kansi.write(poskansi);
- delay(15);
- }
- for (pos = 180; pos >= 5; pos -= 1) { // goes from 180 degrees to 5 degrees
- kasi.write(pos); // tell servo to go to position in variable 'pos'
- delay(5); // waits 5ms for the servo to reach the position
- }
- delay(100);
- for (pos = 5; pos <= 180; pos += 1) {
- kasi.write(pos);
- delay(5);
- }
- for (poskansi = 0; poskansi <= 45; poskansi += 1) {
- kansi.write(poskansi);
- delay(5); // waits 5ms for the servo to reach the position
- }
- }
- if (jees == 7){
- delay(random(50,500));
- for (poskansi = 45; poskansi >= 0; poskansi -= 1) { // goes from 45 degrees to 0 degrees
- kansi.write(poskansi); // tell servo to go to position in variable 'poskansi'
- delay(random(3,20));
- }
- for (pos = 180; pos >= 5; pos -= 1) {
- kasi.write(pos);
- delay(random(3,20));
- }
- delay(1000);
- for (pos = 5; pos <= 180; pos += 1) {
- kasi.write(pos);
- delay(random(3,20));
- }
- for (poskansi = 0; poskansi <= 45; poskansi += 1) {
- kansi.write(poskansi);
- delay(random(3,20));
- }
- }
- if (jees == 8){
- delay(200);
- for (poskansi = 45; poskansi >= 0; poskansi -= 1) { // goes from 45 degrees to 0 degrees
- kansi.write(poskansi); // tell servo to go to position in variable 'poskansi'
- delay(10);
- }
- for (pos = 180; pos >= 60; pos -= 1) {
- kasi.write(pos);
- delay(20);
- }
- for (pos = 60; pos >= 5; pos -= 1) {
- kasi.write(pos); // tell servo to go to position in variable 'pos'
- delay(5); // waits 5ms for the servo to reach the position
- }
- delay(50);
- for (pos = 5; pos <= 180; pos += 1) { // goes from 5 degrees to 180 degrees
- // in steps of 1 degree
- kasi.write(pos); // tell servo to go to position in variable 'pos'
- delay(5); // waits 5ms for the servo to reach the position
- }
- for (poskansi = 0; poskansi <= 45; poskansi += 1) {
- kansi.write(poskansi);
- delay(10);
- }
- }
- if (jees == 9){
- delay(400);
- for (poskansi = 45; poskansi >= 0; poskansi -= 1) {
- kansi.write(poskansi);
- delay(15);
- }
- for (pos = 180; pos >= 60; pos -= 1) {
- kasi.write(pos);
- delay(15);
- }
- for (pos = 60; pos <= 90; pos += 1) {
- kasi.write(pos);
- delay(5);}
- for (pos = 90; pos >= 60; pos -= 1) {
- kasi.write(pos);
- delay(5);
- }
- for (pos = 60; pos <= 90; pos += 1) {
- kasi.write(pos);
- delay(5);}
- for (pos = 90; pos >= 5; pos -= 1) {
- kasi.write(pos);
- delay(5);
- }
- delay(50);
- for (pos = 5; pos <= 180; pos += 1) {
- kasi.write(pos);
- delay(5);
- }
- for (poskansi = 0; poskansi <= 45; poskansi += 1) {
- // in steps of 1 degree
- kansi.write(poskansi);
- delay(10);
- }
- }
- if (jees == 10){
- delay(500);
- for (poskansi = 45; poskansi >= 0; poskansi -= 1) {
- kansi.write(poskansi);
- delay(25);
- }
- for (pos = 180; pos >= 5; pos -= 1) {
- kasi.write(pos);
- delay(10);
- }
- delay(500);
- for (pos = 5; pos <= 180; pos += 1) {
- kasi.write(pos);
- delay(10);
- }
- for (poskansi = 0; poskansi <= 45; poskansi += 1) {
- kansi.write(poskansi);
- delay(15);
- }
- for (poskansi = 45; poskansi >= 0; poskansi -= 1) {
- kansi.write(poskansi);
- delay(10);
- }
- delay(500);
- for (poskansi = 0; poskansi <= 45; poskansi += 1) {
- kansi.write(poskansi);
- delay(10);
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement