Code kleiner maken
16 berichten
• Pagina 1 van 2 • 1, 2
- Jeroentjevrij
- Berichten: 82
- Geregistreerd: 27 Feb 2019, 11:19
Code kleiner maken
Ik wil graag weten of een arduino ook automatisch een led pin aan en uit kan zetten.
Ik heb een led kubus gemaakt.
En de pins als volgend gecodeerd.
void setup() {
pinMode(1, OUTPUT) ;
)
void Row1aan() {
digitalWrite(1, HIGH) ;
}
void Row1uit() {
digitalWrite(1, LOW);
}
Dus nu zet ik 1 rij aan en uit met.
Row1aan() ;
Row1uit() ;
Maar kan ik het ook zo instellen dat ik bijvoorbeeld ze aan en uit kan zetten door.
Row1() ; (rij 1 gaat aan)
Row1() ; (nu gaat hij weer uit)
Dat de arduino zeg maar zelf kijkt hij is low zet hij hem high bij Row1(); en andersom.
Ik heb een led kubus gemaakt.
En de pins als volgend gecodeerd.
void setup() {
pinMode(1, OUTPUT) ;
)
void Row1aan() {
digitalWrite(1, HIGH) ;
}
void Row1uit() {
digitalWrite(1, LOW);
}
Dus nu zet ik 1 rij aan en uit met.
Row1aan() ;
Row1uit() ;
Maar kan ik het ook zo instellen dat ik bijvoorbeeld ze aan en uit kan zetten door.
Row1() ; (rij 1 gaat aan)
Row1() ; (nu gaat hij weer uit)
Dat de arduino zeg maar zelf kijkt hij is low zet hij hem high bij Row1(); en andersom.
Advertisement
- Gij Kieken
- Berichten: 631
- Geregistreerd: 15 Nov 2015, 11:54
Re: Code kleiner maken
Wel ja dat kan met de nodige code.
- Jeroentjevrij
- Berichten: 82
- Geregistreerd: 27 Feb 2019, 11:19
Re: Code kleiner maken
Meer code is niet erg want daardoor vervalt er heel veel code.
Alleen al op de 12 pins scheelt dat al 36 regels.
Mits de code in de setup gezet word en niet in de loop.
Kan je mij er mee op weg helpen.
Alleen al op de 12 pins scheelt dat al 36 regels.
Mits de code in de setup gezet word en niet in de loop.
Kan je mij er mee op weg helpen.
- Jeroentjevrij
- Berichten: 82
- Geregistreerd: 27 Feb 2019, 11:19
Re: Code kleiner maken
Koepel schreef:We hebben het heus wel door als je dezelfde vraag ook ergens anders plaatst.
Ja en dat is een probleem?
Re: Code kleiner maken
Nee hoor, geen enkel probleem
Maar je kunt gerust noemen dat je ergens anders de vraag ook hebt gesteld. Misschien zitten we onze hersencellen voor niets te pijnigen terwijl iemand anders het antwoord al gegeven heeft.
Maar je kunt gerust noemen dat je ergens anders de vraag ook hebt gesteld. Misschien zitten we onze hersencellen voor niets te pijnigen terwijl iemand anders het antwoord al gegeven heeft.
- Jeroentjevrij
- Berichten: 82
- Geregistreerd: 27 Feb 2019, 11:19
Re: Code kleiner maken
Ok zal er op letten.
Ik heb op het andere forum gehoord de if functie te gebruiken.
En ben aan het puzzelen geweest en ik denk dat ik er sinds 10 minuten uit ben.
Dit heb ik gefabriceerd zodra mijn nieuwe arduino binnen is zal ik hem testen.
En laten weten of hij het doet.
Dan kunnen andere hem ook gebruiken.
Ik heb op het andere forum gehoord de if functie te gebruiken.
En ben aan het puzzelen geweest en ik denk dat ik er sinds 10 minuten uit ben.
- Code: Alles selecteren
int ledPin1 = 1;
int ledPin2 = 2;
int ledState = LOW;
void setup() {
pinMode(ledPin1, OUTPUT);
pinMode(ledPin2, OUTPUT);
}
void Row1() {
ledState = digitalRead(ledPin1);
if (ledState == HIGH) {
digitalWrite(ledPin1, LOW);
} else {
digitalWrite(ledPin1, HIGH);
}
}
void Row2() {
ledState = digitalRead(ledPin2);
if (ledState == HIGH) {
digitalWrite(ledPin2, LOW);
} else {
digitalWrite(ledPin2, HIGH);
}
}
void loop(){
Row1();
delay(500);
Row2();
delay(500);
Row1();
Row2();
}
Dit heb ik gefabriceerd zodra mijn nieuwe arduino binnen is zal ik hem testen.
En laten weten of hij het doet.
Dan kunnen andere hem ook gebruiken.
- Jeroentjevrij
- Berichten: 82
- Geregistreerd: 27 Feb 2019, 11:19
Re: Code kleiner maken
De code werkt.
Alleen mist deze nog een delay op het eind waar led 1 niet uit gaat.
Maar de functie doet het
Alleen mist deze nog een delay op het eind waar led 1 niet uit gaat.
Maar de functie doet het
Re: Code kleiner maken
je kunt ook een functie maken door row(1,HIGH)te maken, dat scheelt weer code.en dan zet je de pinnen ook in een array, pin[2,3] of zo
gebruik pin 1 liever niet want daar hangt de seriele poort aan.
en leer hoe je kunt blink without delay (les2)
gebruik pin 1 liever niet want daar hangt de seriele poort aan.
en leer hoe je kunt blink without delay (les2)
paul deelen
shooter@home.nl
shooter@home.nl
- Jeroentjevrij
- Berichten: 82
- Geregistreerd: 27 Feb 2019, 11:19
Re: Code kleiner maken
shooter schreef:je kunt ook een functie maken door row(1,HIGH)te maken, dat scheelt weer code.en dan zet je de pinnen ook in een array, pin[2,3] of zo
gebruik pin 1 liever niet want daar hangt de seriele poort aan.
en leer hoe je kunt blink without delay (les2)
Had pin 1 hier alleen als voorbeeld.
Dit is hoe hij er nu uitziet.
Nog lang niet klaar.
- Code: Alles selecteren
int ledPin1 = 13;
int ledPin2 = 12;
int ledPin3 = 11;
int ledPin4 = 10;
int ledPin5 = 9;
int ledPin6 = 8;
int ledPin7 = 7;
int ledPin8 = 6;
int ledPin9 = 5;
int ledPin10 = 4;
int ledPin11 = 3;
int ledPin12 = 2;
int ledState = LOW;
void setup() {
pinMode(ledPin1, OUTPUT);
pinMode(ledPin2, OUTPUT);
pinMode(ledPin3, OUTPUT);
pinMode(ledPin4, OUTPUT);
pinMode(ledPin5, OUTPUT);
pinMode(ledPin6, OUTPUT);
pinMode(ledPin7, OUTPUT);
pinMode(ledPin8, OUTPUT);
pinMode(ledPin9, OUTPUT);
pinMode(ledPin10, OUTPUT);
pinMode(ledPin11, OUTPUT);
pinMode(ledPin12, OUTPUT);
}
void Z1() {
ledState = digitalRead(ledPin1);
if (ledState == HIGH) { digitalWrite(ledPin1, LOW); }
else { digitalWrite(ledPin1, HIGH);
}
}
void Z2() {
ledState = digitalRead(ledPin2);
if (ledState == HIGH) { digitalWrite(ledPin2, LOW); }
else { digitalWrite(ledPin2, HIGH);
}
}
void Z3() {
ledState = digitalRead(ledPin3);
if (ledState == HIGH) { digitalWrite(ledPin3, LOW); }
else { digitalWrite(ledPin3, HIGH);
}
}
void Z4() {
ledState = digitalRead(ledPin4);
if (ledState == HIGH) { digitalWrite(ledPin4, LOW); }
else { digitalWrite(ledPin4, HIGH);
}
}
void Z5() {
ledState = digitalRead(ledPin5);
if (ledState == HIGH) { digitalWrite(ledPin5, LOW); }
else { digitalWrite(ledPin5, HIGH);
}
}
void Z6() {
ledState = digitalRead(ledPin6);
if (ledState == HIGH) { digitalWrite(ledPin6, LOW); }
else { digitalWrite(ledPin6, HIGH);
}
}
void Z7() {
ledState = digitalRead(ledPin7);
if (ledState == HIGH) { digitalWrite(ledPin8, LOW); }
else { digitalWrite(ledPin8, HIGH);
}
}
void Z8() {
ledState = digitalRead(ledPin8);
if (ledState == HIGH) { digitalWrite(ledPin8, LOW); }
else { digitalWrite(ledPin8, HIGH);
}
}
void Z9() {
ledState = digitalRead(ledPin9);
if (ledState == HIGH) { digitalWrite(ledPin9, LOW); }
else { digitalWrite(ledPin9, HIGH);
}
}
void L1() {
ledState = digitalRead(ledPin10);
if (ledState == HIGH) { digitalWrite(ledPin10, LOW); }
else { digitalWrite(ledPin10, HIGH);
}
}
void L2() {
ledState = digitalRead(ledPin11);
if (ledState == HIGH) { digitalWrite(ledPin11, LOW); }
else { digitalWrite(ledPin11, HIGH);
}
}
void L3() {
ledState = digitalRead(ledPin12);
if (ledState == HIGH) { digitalWrite(ledPin12, LOW); }
else { digitalWrite(ledPin12, HIGH);
}
}
void Lall(){
L1();
L2();
L3();
}
void Zall(){
Z1();
Z2();
Z3();
Z4();
Z5();
Z6();
Z7();
Z8();
Z9();
}
void X1(){
Z1();
Z2();
Z3();
}
void X2(){
Z3();
Z4();
Z5();
}
void X3(){
Z7();
Z8();
Z9();
}
void Y1(){
Z1();
Z4();
Z7();
}
void Y2(){
Z2();
Z5();
Z8();
}
void Y3(){
Z3();
Z6();
Z9();
}
void loop(){
for (int i = 0; i < 8; i++){
Lall();
Zall();
delay(500);
}
for (int i = 0; i < 4; i++){
Lall();
X1();
delay(500);
X1();
X2();
delay(500);
X2();
X3();
delay(500);
X3();
delay(500);
}
for (int i = 0; i < 16; i++){
L1();
Y1();
delay(10);
L1();
Y1();
L2();
Y2();
delay(10);
L2();
Y2();
L3();
Y3();
delay(10);
L3();
Y3;
}
for (int i = 0; i < 16; i++){
L2();
Y1();
Y2();
Y3();
delay(10);
L2();
Y1();
Y2();
Y3();
}
for (int i = 0; i < 16; i++){
L1();
Y3();
delay(10);
L1();
Y3();
L2();
Y2();
delay(10);
L2();
Y2();
L3();
Y1();
delay(10);
L3();
Y1();
}
for (int i = 0; i < 16; i++){
L1();
L2();
L3();
Y2();
delay(10);
L1();
L2();
L3();
Y2();
}
for (int i = 0; i < 16; i++){
L1();
Y1();
delay(10);
L1();
Y1();
L2();
Y2();
delay(10);
L2();
Y2();
L3();
Y3();
delay(10);
L3();
Y3;
}
for (int i = 0; i < 16; i++){
L2();
Y1();
Y2();
Y3();
delay(10);
L2();
Y1();
Y2();
Y3();
}
for (int i = 0; i < 16; i++){
L1();
Y3();
delay(10);
L1();
Y3();
L2();
Y2();
delay(10);
L2();
Y2();
L3();
Y1();
delay(10);
L3();
Y1();
}
for (int i = 0; i < 16; i++){
L1();
L2();
L3();
Y2();
delay(10);
L1();
L2();
L3();
Y2();
}
}
en wat bedoel je precies met de pinnen in array zetten.
Zoiets?
pinMode(13,12,11,10,9,8,7,6,5,4,3,2)
16 berichten
• Pagina 1 van 2 • 1, 2
Wie is er online?
Gebruikers in dit forum: Geen geregistreerde gebruikers en 2 gasten