besturing burg werkt niet
3 berichten
• Pagina 1 van 1
- patrickwit
- Berichten: 21
- Geregistreerd: 23 Jan 2013, 10:59
besturing burg werkt niet
hallo mensen,
ik zit met een probleem, mijn programma werkt niet voldoende.
ik stuur hem naar een subroutine en dan moet hij daar blijven hangen maar dat doet hij niet.
dus dan zit ik ga naar routine brug open en dan moet hij daar blijven hangen maar hij gaat uit de routine heb ik het idee.
wil wil mij helpen:
ik zit met een probleem, mijn programma werkt niet voldoende.
ik stuur hem naar een subroutine en dan moet hij daar blijven hangen maar dat doet hij niet.
dus dan zit ik ga naar routine brug open en dan moet hij daar blijven hangen maar hij gaat uit de routine heb ik het idee.
wil wil mij helpen:
- Code: Alles selecteren
#include <Servo.h>
int Roodauto1 =13;
int Roodauto2 =12;
int Roodschepen =11;
int Groenschepen =10;
int brugopen = 3;
Servo slagboom1;
Servo slagboom2;
int pos = 0;
int eindschakelaar1 = 9;
int status1 = 0;
int eindschakelaar2 = 8;
int status2 = 0;
int eindschakelaar3 = 7;
int status3 = 0;
int eindschakelaar4 = 6;
int status4 = 0;
void setup(){
Serial.begin (9600);
pinMode(Roodauto1, OUTPUT);
pinMode(Roodauto2, OUTPUT);
pinMode(Roodschepen, OUTPUT);
pinMode(Groenschepen, OUTPUT);
slagboom1.attach(5);
slagboom2.attach(4);
pinMode (brugopen, OUTPUT);
pinMode(eindschakelaar1, INPUT);
pinMode(eindschakelaar2, INPUT);
pinMode(eindschakelaar3, INPUT);
pinMode(eindschakelaar4, INPUT);
for (int thisPin = 2; thisPin <= 13; thisPin++) {
pinMode(thisPin, OUTPUT);
}
digitalWrite(Roodauto1, LOW);
digitalWrite(Roodauto2, LOW);
digitalWrite (Roodschepen,HIGH);
for(pos = 140; pos<=140; pos+=1)
{
slagboom1.write(pos);
delay(80);
}
delay (2000);
}
void loop(){
if (Serial.available() > 0) {
int inByte = Serial.read();
Serial.write ("1");
status1 = digitalRead(eindschakelaar1);
status2 = digitalRead(eindschakelaar2);
status3 = digitalRead(eindschakelaar3);
status4 = digitalRead(eindschakelaar4);
switch (inByte) {
case 'a':
roodauto();
break;
case 'b':
if (status1 == HIGH);
{
roodauto();
roodauto();
roodauto();
roodauto();
slagbomen_omlaag();
}
break;
case 'c':
if(status3 == HIGH && status1 ==LOW){
brug_open();
}
break;
case 'd':
if (status4== HIGH && status3 ==LOW){
groenschepen();
}
break;
case 'e':
if(status4 == HIGH && status3 == LOW);
{
brug_dicht();
}
break;
case 'f':
if (status1 == LOW && status3 ==HIGH) {
slagbomen_omhoog();
}
break;
default:
// turn all the LEDs off:
for (int thisPin = 2; thisPin <= 13; thisPin++) {
digitalWrite(thisPin, LOW);
}
}
}
}
//---------------------------------------
void roodauto(){
//---------------------------------------
{
Serial.write("2");
tone(2, 2000, 100);
digitalWrite(Roodauto1, HIGH);
digitalWrite(Roodauto2, LOW);
delay(500);
tone(2, 2000, 100);
digitalWrite(Roodauto1, LOW);
digitalWrite(Roodauto2, HIGH);
delay(500);
}
}
//---------------------------------------
void slagbomen_omlaag(){
//---------------------------------------
Serial.write ("3");
for(pos = 140; pos >40; pos-=1)
{
slagboom1.write(pos);
delay(80);
}
}
//---------------------------------------
void brug_open(){
//---------------------------------------
Serial.write ("4");
digitalWrite (brugopen, HIGH);
if (status4 == HIGH){
digitalWrite (brugopen,LOW);
}
}
//---------------------------------------
void groenschepen(){
Serial.write ("5");
//---------------------------------------
digitalWrite (Groenschepen, HIGH);
digitalWrite (Roodschepen, LOW);
}
//---------------------------------------
void brug_dicht(){
Serial.write ("6");
//---------------------------------------
digitalWrite (brugopen, HIGH);
digitalWrite (Roodschepen, HIGH);
digitalWrite (Groenschepen, LOW);
if (status3 == HIGH){
digitalWrite (brugopen,LOW);
}
}
//---------------------------------------
void slagbomen_omhoog(){
Serial.write ("7");
//---------------------------------------
for(pos = 38; pos >140; pos+=1)
{
slagboom1.write(pos);
delay(40);
}
}
Advertisement
Re: besturing burg werkt niet
In void setup() gaat er al iets fout. Je definieert pinnen 6 t/m 9 als INPUT, daarna weer als OUTPUT
- Code: Alles selecteren
pinMode(eindschakelaar1, INPUT);
pinMode(eindschakelaar2, INPUT);
pinMode(eindschakelaar3, INPUT);
pinMode(eindschakelaar4, INPUT);
for (int thisPin = 2; thisPin <= 13; thisPin++) {
pinMode(thisPin, OUTPUT);
}
Arduinows!
Why do computer programmers confuse Halloween with Christmas? Because Oct 31 = Dec 25
I got 01100011 problems but a bit ain't 00000001
Why do computer programmers confuse Halloween with Christmas? Because Oct 31 = Dec 25
I got 01100011 problems but a bit ain't 00000001
- patrickwit
- Berichten: 21
- Geregistreerd: 23 Jan 2013, 10:59
Re: besturing burg werkt niet
o stom, ja dat was puur om via serial monitor de functies apart aan te sturen dus dat kan ik aanpassen, maar voordat ik dat erin geprogrammeerd had ging het al fout
3 berichten
• Pagina 1 van 1
Wie is er online?
Gebruikers in dit forum: Geen geregistreerde gebruikers en 47 gasten