Hallo
Ich habe vor kurzem mit Arduino angefangen.
Hab am Anfang mal die meisten Tutorials durchgearbeitet um mich damit etwas vertraut zu machen.
Ich habe Grundkenntnisse in C und möchte mir gerne auch noch das micro Controller programmieren beibringen
als erstes eigenes Projekt hab ich eine kleine Ablaufsteuerung geplant, die folgendes machen/können sollte:
als erstes wird ein Ventil für eine gewisse Zeit aufgemacht dann wieder geschlossen.
Danach werden zwei weitere Ventile aufgemacht dann eines nach dem andere wieder geschlossen
gestartet sollte das ganze via einem Startknopf werden ebenso sollte am ende der Ablauf so lange stehen bleiben bis ein Stopknopf gedrückt wird.
Zum testen habe ich die Schaltung auf einem Prototyping Board zusammengesteckt und anstatt der Ventile einfach LED's mit einem Vorwiderstand verwendet.
Die Sensoren wurden einfach mit einem Widerstand simuliert.
Das ganze sieht jetzt in etwa so aus:
Mein Problem ist nun folgendes, es passiert einfach garnichts .
Ich habe auch schon versucht die LED's anders rum ein zu stecken hilft nichts dann hab ich auch noch versucht GND und + zu vertauschen
(am breed board)
Hat alles nix gebracht
Dann dachte ich das mein Arduino Board kaputt ist und hab den Hello World code rauf geladen und der geht einwandfrei
hier mal mein Code:
#include <Arduino.h>
int Start_button = 2; //Start Button
int CPS1 = 3; //CPS = Cover Plate Sensor
int CPS2 = 4;
int CPS3 = 5;
int Vacuum_valve = 6; //Vacuum Valve
int Helium_valve = 8; //Helium Valve
int Flushing_valve = 9; //Helium Flushing Valve
int test_result = 10; //End of the test (led shows when the test has finished)
int Stop_button = 11; //Stop test
int Savety_chain = 12; //Savety chain
int a, b, c;
int Start(void);
int get_vacuum(int);
int flushing(int);
void test_result_funktion(int);
void setup()
{
// put your setup code here, to run once:
pinMode(Start_button, INPUT);
pinMode(CPS1, INPUT);
pinMode(CPS2, INPUT);
pinMode(CPS3, INPUT);
pinMode(Vacuum_valve, OUTPUT);
pinMode(Helium_valve, OUTPUT);
pinMode(Flushing_valve, OUTPUT);
pinMode(test_result, OUTPUT);
pinMode(Savety_chain, OUTPUT);
pinMode(Stop_button, INPUT);
}
void loop()
{
// put your main code here, to run repeatedly:
a = 0;
b = 0;
c = 0;
a = Start();
b = get_vacuum(a);
c = flushing(b);
test_result_funktion(c);
}
int Start(void)
{
int i = 0;
//for(i = 1; i < 4; i++)
//{
digitalRead(CPS1); //Read the current status of the cover plate sensors
digitalRead(CPS2); //Read the current status of the cover plate sensors
digitalRead(CPS3); //Read the current status of the cover plate sensors
//}
digitalRead(Start_button); //Read the start button
if((CPS1 == HIGH) && (CPS2 == HIGH) && (CPS3 == HIGH) && (Start_button == HIGH))
{
return 0;
}else{digitalWrite(Savety_chain, HIGH);}
}
int get_vacuum(int a)
{
int i = 0;
if(a == 0)
{
digitalWrite(Vacuum_valve, HIGH); //Vacuum valve is opened
delay(15000); //Time where the vacuum valve is open
digitalWrite(Vacuum_valve, LOW); //Vacuum valve is closed
}else{i = 1;}
if(i == 1)
{
return 1;
}else{return 0;}
}
int flushing(int b)
{
int i = 1;
if(b == 0)
{
digitalWrite(Helium_valve, HIGH);
digitalWrite(Flushing_valve, HIGH);
delay(5000);
digitalWrite(Flushing_valve, LOW);
delay(1000);
digitalWrite(Helium_valve, LOW);
}else{i = 1;}
if(i == 1)
{
return 1;
}else{return 0;}
}
void test_result_funktion(int c)
{
if(c == 0)
{
do
{
digitalWrite(test_result, HIGH);
digitalRead(Stop_button);
}while(Stop_button != HIGH);
}
digitalWrite(test_result, LOW);
}
[code/]