School project voor gehandicapte kinderen.

Projecten die niet passen in bovenstaande onderwerpen
Berichten: 5
Geregistreerd: 23 Mrt 2017, 10:41

Re: School project voor gehandicapte kinderen.

Berichtdoor jeroenvdh » 13 Apr 2017, 09:48

ik heb hier een foto van de opstelling.

http://prntscr.com/evv3la

ik hoop dat die hem hier wel opent ! :D

en dit is het script wat ik er voor gebruik:

int INPUT1 = 13;
int INPUT2 = 12;
int LED1 = 11;
int LED2 = 10;
int SWITCH1_PIN = 7;
int SWITCH2_PIN = 6;

int INPUT3 = 2;
int INPUT4 = 3;
int LED3 = 9;
int LED4 = 8;
int SWITCH3_PIN = 4;
int SWITCH4_PIN = 5;

int DELAY_TIME = 4000;

void setup() {

Serial.begin(9600);
pinMode(INPUT1, OUTPUT);
pinMode(INPUT2, OUTPUT);
pinMode(INPUT3, OUTPUT);
pinMode(INPUT4, OUTPUT);
pinMode(LED1,OUTPUT);
pinMode(LED2,OUTPUT);
pinMode(LED3,OUTPUT);
pinMode(LED4,OUTPUT);
pinMode(SWITCH1_PIN, INPUT_PULLUP);
pinMode(SWITCH2_PIN, INPUT_PULLUP);
pinMode(SWITCH3_PIN, INPUT_PULLUP);
pinMode(SWITCH4_PIN, INPUT_PULLUP);

}


void loop() {
int SWITCH1;
int SWITCH2;
int SWITCH3;
int SWITCH4;
SWITCH1 = digitalRead(SWITCH1_PIN);
SWITCH2 = digitalRead(SWITCH2_PIN);
SWITCH3 = digitalRead(SWITCH3_PIN);
SWITCH4 = digitalRead(SWITCH4_PIN);


if(SWITCH1 == 0 && SWITCH2 == 1) // 스위치를 누르면 0이 됩니다.
{
Serial.print("Clockwise\n");
digitalWrite(LED1, HIGH);
digitalWrite(LED2, LOW);
digitalWrite(INPUT1, HIGH);
digitalWrite(INPUT2, LOW);

}
if(SWITCH1 == 1 & SWITCH2 == 0)
{
Serial.print("Counter Clockwise\n");
digitalWrite(LED1, LOW);
digitalWrite(LED2, HIGH);
digitalWrite(INPUT1, LOW);
digitalWrite(INPUT2, HIGH);

}


if(SWITCH3 == 0 && SWITCH4 == 1) // 스위치를 누르면 0이 됩니다.
{
Serial.print("Clockwise\n");
digitalWrite(LED4, HIGH);
digitalWrite(LED3, LOW);
digitalWrite(INPUT3, HIGH);
digitalWrite(INPUT4, LOW);
}
else if(SWITCH3 == 1 & SWITCH4 == 0)
{
Serial.print("Counter Clockwise\n");
digitalWrite(LED4, LOW);
digitalWrite(LED3, HIGH);
digitalWrite(INPUT3, LOW);
digitalWrite(INPUT4, HIGH);
}

else {
Serial.print("Stop\n");
digitalWrite(LED1, LOW);
digitalWrite(LED2, LOW);
digitalWrite(LED3, LOW);
digitalWrite(LED4, LOW);
digitalWrite(INPUT1, LOW);
digitalWrite(INPUT2, LOW);
digitalWrite(INPUT3, LOW);
digitalWrite(INPUT4, LOW);
}
}

Advertisement

Gebruikers-avatar
Berichten: 2655
Geregistreerd: 06 Aug 2016, 01:03

Re: School project voor gehandicapte kinderen.

Berichtdoor Koepel » 13 Apr 2017, 12:57

Dankjewel, dat kan ik wel zien :)

Het schema en de sketch heb ik bekeken, en het ziet er goed uit.

Een paar kleine opmerkingen:

In de sketch gebruik je de namen INPUT1 ... INPUT4. Het gaat dan om pinnen van het Arduino board die de L293D aansturen, die vervolgens de motors aansturen. Het doel van die pinnen is de motor aansturen. Wanneer iemand de sketch leest dan moet duidelijk zijn waar die variabele voor is. Dus ik zou ze een naam geven die met de motor te maken heeft:
bijvoorbeeld: pinMotor1A, pinMotor1B, pinMotor2A, pinMotor2B.
of: MOTORPIN1, MOTORPIN2, MOTORPIN3, MOTORPIN4.

Je gebruikt de interne pullup weerstand voor de schakelaars. Die is ongeveer 50k. Wanneer de schakelaar niet is ingedrukt, dan is de impedantie van de ingang alleen die weerstand van 50k. Daar kan gemakkelijk storing op komen van de motors. Dus ik zou dat laagohmiger maken door pin 4,5,6,7 elk een 4k7 pullup weerstand naar 5V te geven.

Zou je de '\n' willen vervangen door Serial.println() : https://www.arduino.cc/en/serial/println

Vorige

Terug naar Overige projecten

Wie is er online?

Gebruikers in dit forum: Geen geregistreerde gebruikers en 9 gasten