Need some help for my project

hello guys,

I am pretty new to arduino, but i am currently working on a little project, and i could use some help with the program.

i habe a board with 10 leds on it, and each of them is connected witch a microswitch, when the microswitch gets touched by a ball the led should turn on. This part is easy to program and doesn't causes any trouble for me, but i would be pretty nice if when there is no ball detected via a microswitch that is mounted by the entrance, the leds blink according to a certain program, but when a ball is detected the program should stop instantly and run the program with the microswitches for the ball.

thanks

if no ball at entrance {
 ledBlink();
}
else {
 microswitchProgram();
}

void ledBlink() {
 led blinking code
}

void microswitchProgram() {
 microswitch code
}

that was fast, thanks
i am going to try this now

the problem is that the microswitch is placed in the entrance of the board, but the ball will touch it once very short, so my program wont run

this is my program for the blinking

int microswitch = 13;
int led1 = 12; // blue led
int led2 = 11; // blue led
int led3 = 10; // green led
int led4 = 9;  // green led
int led5 = 8;  // green led
int led6 = 7;  // yellow led
int led7 = 6;  // yellow led
int led8 = 5;  // white led
int led9 = 4;  // white led
int led10 = 3;  // white led
int Vaan = 150;
int Vuit = 200;
int Gloei = 150;
int delayuit = 600;
void setup ()

{
  pinMode(13,INPUT);
  pinMode(2, INPUT);
  pinMode(12,OUTPUT);
  pinMode(11,OUTPUT);
  pinMode(10,OUTPUT);
  pinMode(9,OUTPUT);
  pinMode(8,OUTPUT);
  pinMode(7,OUTPUT);
  pinMode(6,OUTPUT);
  pinMode(5,OUTPUT);
  pinMode(4,OUTPUT);
  pinMode(3,OUTPUT);
  
}
void loop()




{
  if(digitalRead(microswitch) == 1)
  {
    digitalWrite(led1, HIGH);
    digitalWrite(led2, HIGH);
    delay(Vaan);
    digitalWrite(led1, LOW);
    digitalWrite(led2, LOW);
    delay(Vuit);
    digitalWrite(led3, HIGH);
    digitalWrite(led4, HIGH);
    digitalWrite(led5, HIGH);
    delay(Vaan);
    digitalWrite(led3, LOW);
    digitalWrite(led4, LOW);
    digitalWrite(led5, LOW);
    delay(Vuit);
    digitalWrite(led6, HIGH);
    digitalWrite(led7, HIGH);
    delay(Vaan);
    digitalWrite(led6, LOW);
    digitalWrite(led7, LOW);
    delay(Vuit);
    digitalWrite(led8, HIGH);
    digitalWrite(led9, HIGH);
    digitalWrite(led10, HIGH);
    delay(Vaan);
    digitalWrite(led8, LOW);
    digitalWrite(led9, LOW);
    digitalWrite(led10, LOW);
    delay(Vuit);
    
   
  
/////////////////////////////////////////////
    digitalWrite(led2, HIGH);
    delay(Vaan);
    digitalWrite(led1, HIGH);
    delay(Gloei);
    digitalWrite(led2, LOW);
    delay(Vaan);
    digitalWrite(led3, HIGH);
    delay(Gloei);
    digitalWrite(led1, LOW);
    delay(Vaan);
    digitalWrite(led4, HIGH);
    delay(Gloei);
    digitalWrite(led3,LOW);
    delay(Vaan);
    digitalWrite(led5, HIGH);
    delay(Gloei);
    digitalWrite(led4, LOW);
    delay(Vaan);
    digitalWrite(led7, HIGH);
    delay(Gloei);
    digitalWrite(led5,LOW);
    delay(Vaan);
    digitalWrite(led6,HIGH);
    delay(Gloei);
    digitalWrite(led7,LOW);
    delay(Vaan);
    digitalWrite(led8,HIGH);
    delay(Gloei);
    digitalWrite(led6,LOW);
    delay(Vaan);
    digitalWrite(led9,HIGH);
    delay(Gloei);
    digitalWrite(led8, LOW);
    delay(Vaan);
    digitalWrite(led10,HIGH);
    delay(Gloei);
    digitalWrite(led9,LOW);
    delay(Vaan);
    digitalWrite(led10, LOW);

 
    
    
  
    /////////////////////////////

    digitalWrite(led1, HIGH);
    delay(Vaan);
    digitalWrite(led2, HIGH);
    delay(Vaan);
    digitalWrite(led5, HIGH);
    delay(Vaan);
    digitalWrite(led4, HIGH);
    delay(Vaan);
    digitalWrite(led3, HIGH);
    delay(Vaan);
    digitalWrite(led6, HIGH);
    delay(Vaan);
    digitalWrite(led7, HIGH);
    delay(Vaan);
    digitalWrite(led10, HIGH);
    delay(Vaan);
    digitalWrite(led9, HIGH);
    delay(Vaan);
    digitalWrite(led8, HIGH);
    delay(Vaan);
    digitalWrite(led1, LOW);
    digitalWrite(led2, LOW);
    digitalWrite(led3, LOW);
    digitalWrite(led4, LOW);
    digitalWrite(led5, LOW);
    digitalWrite(led6, LOW);
    digitalWrite(led7, LOW);
    digitalWrite(led8, LOW);
    digitalWrite(led9, LOW);
    digitalWrite(led10, LOW);

   }

Not sure I understand.
What part of the program won't run?

void loop() {
    entranceBall = digitalRead(entranceSwitch);

    if not entranceBall {
    ledBlink();
    }
   else {
     microswitchProgram();
    }
}

void ledBlink() {
 led blinking code
}

void microswitchProgram() {
 microswitch code
}

this is my program


int microswitch = 13;
int led1 = 12; // blue led
int led2 = 11; // blue led
int led3 = 10; // green led
int led4 = 9;  // green led
int led5 = 8;  // green led
int led6 = 7;  // yellow led
int led7 = 6;  // yellow led
int led8 = 5;  // white led
int led9 = 4;  // white led
int led10 = 3;  // white led
int Vaan = 150;
int Vuit = 200;
int Gloei = 150;
int delayuit = 600;
void setup ()

{
  pinMode(13,INPUT);
  pinMode(2, INPUT);
  pinMode(12,OUTPUT);
  pinMode(11,OUTPUT);
  pinMode(10,OUTPUT);
  pinMode(9,OUTPUT);
  pinMode(8,OUTPUT);
  pinMode(7,OUTPUT);
  pinMode(6,OUTPUT);
  pinMode(5,OUTPUT);
  pinMode(4,OUTPUT);
  pinMode(3,OUTPUT);
  
}
void loop()




{
  if(digitalRead(microswitch) == 1)
  {
    digitalWrite(led1, HIGH);
    digitalWrite(led2, HIGH);
    delay(Vaan);
    digitalWrite(led1, LOW);
    digitalWrite(led2, LOW);
    delay(Vuit);
    digitalWrite(led3, HIGH);
    digitalWrite(led4, HIGH);
    digitalWrite(led5, HIGH);
    delay(Vaan);
    digitalWrite(led3, LOW);
    digitalWrite(led4, LOW);
    digitalWrite(led5, LOW);
    delay(Vuit);
    digitalWrite(led6, HIGH);
    digitalWrite(led7, HIGH);
    delay(Vaan);
    digitalWrite(led6, LOW);
    digitalWrite(led7, LOW);
    delay(Vuit);
    digitalWrite(led8, HIGH);
    digitalWrite(led9, HIGH);
    digitalWrite(led10, HIGH);
    delay(Vaan);
    digitalWrite(led8, LOW);
    digitalWrite(led9, LOW);
    digitalWrite(led10, LOW);
    delay(Vuit);
    
   
  
/////////////////////////////////////////////
    digitalWrite(led2, HIGH);
    delay(Vaan);
    digitalWrite(led1, HIGH);
    delay(Gloei);
    digitalWrite(led2, LOW);
    delay(Vaan);
    digitalWrite(led3, HIGH);
    delay(Gloei);
    digitalWrite(led1, LOW);
    delay(Vaan);
    digitalWrite(led4, HIGH);
    delay(Gloei);
    digitalWrite(led3,LOW);
    delay(Vaan);
    digitalWrite(led5, HIGH);
    delay(Gloei);
    digitalWrite(led4, LOW);
    delay(Vaan);
    digitalWrite(led7, HIGH);
    delay(Gloei);
    digitalWrite(led5,LOW);
    delay(Vaan);
    digitalWrite(led6,HIGH);
    delay(Gloei);
    digitalWrite(led7,LOW);
    delay(Vaan);
    digitalWrite(led8,HIGH);
    delay(Gloei);
    digitalWrite(led6,LOW);
    delay(Vaan);
    digitalWrite(led9,HIGH);
    delay(Gloei);
    digitalWrite(led8, LOW);
    delay(Vaan);
    digitalWrite(led10,HIGH);
    delay(Gloei);
    digitalWrite(led9,LOW);
    delay(Vaan);
    digitalWrite(led10, LOW);

 
    
    
  
    /////////////////////////////

    digitalWrite(led1, HIGH);
    delay(Vaan);
    digitalWrite(led2, HIGH);
    delay(Vaan);
    digitalWrite(led5, HIGH);
    delay(Vaan);
    digitalWrite(led4, HIGH);
    delay(Vaan);
    digitalWrite(led3, HIGH);
    delay(Vaan);
    digitalWrite(led6, HIGH);
    delay(Vaan);
    digitalWrite(led7, HIGH);
    delay(Vaan);
    digitalWrite(led10, HIGH);
    delay(Vaan);
    digitalWrite(led9, HIGH);
    delay(Vaan);
    digitalWrite(led8, HIGH);
    delay(Vaan);
    digitalWrite(led1, LOW);
    digitalWrite(led2, LOW);
    digitalWrite(led3, LOW);
    digitalWrite(led4, LOW);
    digitalWrite(led5, LOW);
    digitalWrite(led6, LOW);
    digitalWrite(led7, LOW);
    digitalWrite(led8, LOW);
    digitalWrite(led9, LOW);
    digitalWrite(led10, LOW);

   }

}

prblem is im an almost absolute beginner in arduino

Since your code is doing nothing until it sees the switch pressed, it's checking it constantly. I'm surprised that it doesn't get picked up and start your led sequence.

While your pattern of lights is playing the sketch can't do anything else, like check the microswitch. Did you need both to happen at the same time? What did you want to do if a ball arrives while the blinking is happening?

my microswitch is connected via the nc-port, that is why

the blinking should stop as soon as a ball is detected, from that moment the other program should start running until an other microswitch at the exit detects the ball leaving the board

For that you have to give up 'delay()' completely and use millis() to schedule changes in the blink pattern.

You can write your patterns as arrays:

// PinIndex, State, Delay
const int pattern1[][3] = {
{
    {led1, HIGH, 0},
    {led2, HIGH, Vaan),
    {led1, LOW, 0},
    {led2, LOW, Vuit},
    {led3, HIGH, 0},
    {led4, HIGH, 0},
    {led5, HIGH, Vaan},
    {led3, LOW, 0);
    {led4, LOW, 0);
    {led5, LOW, Vuit},
...

That 'program' (pattern of lights?) will also have to be done without 'delay()'.

thanks a lot for the help, but im afraid i dont understand the code, i think i will just try i without for now since i just cant get it to work

Is there an other way possible? Ik only know the basics of Arduino and simply don't have enough experience of knowledge to do this

Not without learning a lot more than you know now. It is like asking how do I run when you haven't even mastered how to crawl, let alone stand up.

It is a common failing of beginners that the try to do too much too soon. Take some time to learn first.

I know, but this project is on a deadline so that is kind of thé problem

So either start learning fast or cut down your ambition to mach your skills.

Trying to do both

But you are failing at what you are trying to do. The first thing to find out is why you are failing. You have been told why in this thread can you spot it?

Hello rclover1
Take some time, study the IPO model and take a piece of paper plus a pencil and design a program structure. Identify modules could to be coded and tested separetly. Merge after sucessfull testing all modules together to the needed project.
It is highly recommented to take a view into some powerful C++ instructions like STRUCT, ENUM, ARRAY, CASE/SWITCH,UDT, RANGE-BASED-FOR-LOOP, etc, too.
Have a nice day and enjoy coding in C++.