kk logo

 Der Code gehört zu der Schaltung in diesem Youtube Video: https://youtu.be/JmsHbYGa2oQ

Schaltplan für die Arduino Formel 1 Rennstrecke:

Arduino formel 1 Zeitmessung für eine Rennstrecke

Die Ardublock Datei Version "duinoEDU, experimentell, 0. 70.04" gibt es hier zum Download . ZIP Datei. 

 Arduino Code:

--------------------------------------------------------------------------------------------------------------

 

#include <Servo.h>
#include <codeCache.h>
#include <Duinoedu_Time.h>

boolean __ardublockDigitalRead(int pinNumber)
{
pinMode(pinNumber, INPUT);
return digitalRead(pinNumber);
}

int a1;
Servo servo_pin_7;
char Char = ' ' ;
bool spieler1= false ;
bool spieler2= false ;
Duinoedu_Time monTemps;
float zeit1 = 0.0 ;
float zeit2 = 0.0 ;
void start();
#include <Wire.h>;

#include <LiquidCrystal_I2C.h>;

LiquidCrystal_I2C lcd(0x27,20,4);
;

void setup()
{
pinMode( 11 , OUTPUT);
pinMode( 6 , OUTPUT);
pinMode( 8 , OUTPUT);
pinMode( 9 , OUTPUT);
pinMode( 10 , OUTPUT);
servo_pin_7.attach(7);
lcd.init();
;

lcd.backlight();
;

start();

}

void loop()
{
if (!( __ardublockDigitalRead(D4) ))
{
digitalWrite(8 , LOW);
digitalWrite(10 , LOW);
for ( a1=1; a1<= ( 3 ); ++a1 )
{
delay( 500 );
digitalWrite(8 , HIGH);
digitalWrite(10 , HIGH);
delay( 500 );
digitalWrite(8 , LOW);
digitalWrite(10 , LOW);
}
digitalWrite(9 , HIGH);
digitalWrite(11 , HIGH);
servo_pin_7.write( 120 );
digitalWrite(6 , HIGH);
Char = 'A';
lcd.clear();
spieler1 = LOW ;
spieler2 = LOW ;
monTemps.resetDeltat();
lcd.setCursor(0,0);
;
lcd.print("CAR right");
;
lcd.setCursor(0,1);
;
lcd.print("CAR left");
;
while ( ( ( String(Char) ) == ( String("A") ) ) )
{
lcd.setCursor(11,0);
;
lcd.print(zeit1);
;
lcd.setCursor(11,1);
;
lcd.print(zeit2);
;
if (!( __ardublockDigitalRead(D2) ))
{
if (( ( ( spieler1 ) == ( LOW ) ) && !( ( ( spieler2 ) == ( HIGH ) ) ) ))
{
lcd.setCursor(0,2);
;
lcd.print("WINNER right");
;
lcd.setCursor(0,3);
;
lcd.print("LOSER left");
;
digitalWrite(8 , HIGH);
digitalWrite(9 , LOW);
digitalWrite(10 , LOW);
digitalWrite(11 , HIGH);
digitalWrite(6 , LOW);
}
spieler1 = HIGH ;
}
if (!( __ardublockDigitalRead(D3) ))
{
if (( ( ( spieler2 ) == ( LOW ) ) && !( ( ( spieler1 ) == ( HIGH ) ) ) ))
{
lcd.setCursor(0,2);
;
lcd.print("WINNER left");
;
lcd.setCursor(0,3);
;
lcd.print("LOSER right");
;
digitalWrite(8 , LOW);
digitalWrite(9 , HIGH);
digitalWrite(10 , HIGH);
digitalWrite(11 , LOW);
digitalWrite(6 , LOW);
}
spieler2 = HIGH ;
}
if (( ( spieler1 ) == ( LOW ) ))
{
zeit1 = ( monTemps.Deltat() * 0.001 ) ;
}
if (( ( spieler2 ) == ( LOW ) ))
{
zeit2 = ( monTemps.Deltat() * 0.001 ) ;
}
if (( ( ( spieler1 ) == ( HIGH ) ) && ( ( spieler2 ) == ( HIGH ) ) ))
{
Char = 'B';
}
}

}
while ( ( ( String(Char) ) == ( String("B") ) ) )
{
if (!( __ardublockDigitalRead(D4) ))
{
lcd.clear();
Char = 'A';
start();
}
}

}

void start()
{
lcd.setCursor(0,0);
;
lcd.print("CAR right");
;
lcd.setCursor(0,1);
;
lcd.print("CAR left");
;
digitalWrite(6 , LOW);
digitalWrite(8 , HIGH);
digitalWrite(10 , HIGH);
digitalWrite(9 , LOW);
digitalWrite(11 , LOW);
Char = 'A';
servo_pin_7.write( 0 );
monTemps.resetDeltat();
zeit1 = 0.0 ;
zeit2 = 0.0 ;
lcd.setCursor(11,0);
;
lcd.print(zeit1);
;
lcd.setCursor(11,1);
;
lcd.print(zeit2);
;
delay( 700 );
}

Ronnie

schwäbischer tüftler und bastler, kraftsportler, ADHS power, 43 Jahre, 1 Frau, 5 Kinder und 1003 Ideen. 

ronnie berzins at mee

...

Denn du bist ein Unikat, einzig in deiner Art
Wir alle ecken an so wie in ein Quadrat
Du bist ein Unikat, du bist so wie du bist
Egal, was sie labern, wir geben kein'n Fick.

SDP, Unikat