kan je dit ook met ingangen doen ?

Arduino specifieke Software
Berichten: 63
Geregistreerd: 09 Jun 2017, 01:59
Woonplaats: Fiji

kan je dit ook met ingangen doen ?

Berichtdoor Dino » 28 Nov 2017, 13:25

ik weet dat men deze wel gebruikt voor uitgangen
int ledPins[] = {2,3,4,5,6,7,8,9};
is dit ook met dit bv te doen scheelt hoop script
Code: Alles selecteren
const int pirPin = 2;
const int pirPin1 = 3;
const int pirPin2 = 4;


const int pirPin [], {2, 3, 4}
ik kan er niets over vinden qua ingangen

Advertisement

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

Re: kan je dit ook met ingangen doen ?

Berichtdoor Koepel » 28 Nov 2017, 14:29

Ja, natuurlijk kan dat. Het is alleen maar een bepaalde manier om het op te schrijven volgens de 'c' en 'c++' taal.

Code: Alles selecteren
const int pirPin [], {2, 3, 4} // fout, komma achter [], geen '=' teken, geen ';' teken achteraan.
const int pirPin[] = { 2, 3, 4 }; // goed

Berichten: 63
Geregistreerd: 09 Jun 2017, 01:59
Woonplaats: Fiji

Re: kan je dit ook met ingangen doen ?

Berichtdoor Dino » 28 Nov 2017, 17:11

ik doe iets verkeerd ???
Code: Alles selecteren
int pirPin [] = {2, 3, 4};
int ledPin = 13;
int pirCounter = 0;
int pirPinState = 0;
int lastpirPinState = 0;

void setup() {
  Serial.begin (9600);
  pinMode (pirPin, INPUT);
  pinMode(ledPin, OUTPUT);
 
}

void loop() {
  pirPinState = digitalRead(pirPin[]); hier geeft die aan dat fout is
  if pirPinState != lastpirState)
{
    if (pirPinState == HIGH) {
      pirCounter++;
      delay(10) ;
    }
    lastpirPinState = pirPinState;
    if (pirCounter % 4 == 0)
    {
      Serial.println(pirPin);
      digitalWrite (ledPin, HIGH);
      digitalWrite (relay, HIGH);
      delay(5000);e, to run repeatedly:

}

Gebruikers-avatar
Berichten: 5043
Geregistreerd: 13 Mei 2013, 20:57
Woonplaats: Heemskerk

Re: kan je dit ook met ingangen doen ?

Berichtdoor nicoverduin » 28 Nov 2017, 17:28

Ik zou denk er nou eens GOED over na wat je met die pinmode doet en zoumoeten doen....
Docent HBO Technische Informatica, Embedded ontwikkelaar & elektronicus
http://www.verelec.nl

Berichten: 63
Geregistreerd: 09 Jun 2017, 01:59
Woonplaats: Fiji

Re: kan je dit ook met ingangen doen ?

Berichtdoor Dino » 28 Nov 2017, 17:49

Nico ik snap wat je bedoeld, fout ligt bij mij .
maar wat ik eigenlijk nog niet wist is dat als je dus [],{} gebruikt ook de input kan definiëren en uitlezen.
nu moet ik nog ff leren hoe je dit dus uitleest.
en dacht daarbij hem eerst maar index te noemen.
en deze dan terug te laten komen in digitalRead (ledPin[index]) als deze is hoog dus een van de drie pinnen meld mij dan welke is hoog.

Ben nu druk aan sleutelen om dit in de richting te krijgen.
elke hint is welkom
maar loop nog vast

Gebruikers-avatar
Berichten: 631
Geregistreerd: 15 Nov 2015, 11:54

Re: kan je dit ook met ingangen doen ?

Berichtdoor Gij Kieken » 28 Nov 2017, 19:26

Je zal nog bijvoorbeeld een For Next loop nodig hebben om de index op te hogen.

Berichten: 4064
Geregistreerd: 16 Okt 2013, 14:31
Woonplaats: s hertogenbosch

Re: kan je dit ook met ingangen doen ?

Berichtdoor shooter » 28 Nov 2017, 20:52

cpp code
/* Knight Rider 2
* --------------
*
* Reducing the amount of code using for(;;).
*
*
* (cleft) 2005 K3, Malmo University
* @author: David Cuartielles
* @hardware: David Cuartielles, Aaron Hallborg
*/

int pinArray[] = {2, 3, 4, 5, 6, 7};
int count = 0;
int timer = 100;

void setup(){
// we make all the declarations at once
for (count=0;count<6;count++) {
pinMode(pinArray[count], OUTPUT);
}
}

void loop() {
for (count=0;count<6;count++) {
digitalWrite(pinArray[count], HIGH);
delay(timer);
digitalWrite(pinArray[count], LOW);
delay(timer);
}
for (count=5;count>=0;count--) {
digitalWrite(pinArray[count], HIGH);
delay(timer);
digitalWrite(pinArray[count], LOW);
delay(timer);
}
}

Dit komt als voorbeeld van de arduino.cc
paul deelen
shooter@home.nl

Berichten: 63
Geregistreerd: 09 Jun 2017, 01:59
Woonplaats: Fiji

Re: kan je dit ook met ingangen doen ?

Berichtdoor Dino » 29 Nov 2017, 11:05

dank je wel maar dit is de verkeerde het gaat juist om INPUT
deze werk ik al wat jaren mee maar nog nooit als input gebruikt
maar toch dank voor meedenken

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

Re: kan je dit ook met ingangen doen ?

Berichtdoor Koepel » 29 Nov 2017, 11:30

shooter gaf aan hoe je een pin gebruikt uit een array als aanvulling op wat al door anderen geschreven was.

Kun je de naam in jouw sketch 'pirPin' wijzigen ?
Het is namelijk geen pin nummer meer, maar een array van pin nummer, dus een verzameling van pin nummers.
Wat dacht je van "pirPinArray[]" of "pirPins[]" (met een 's') of "verzameling_van_pir_pinnen[]".

De eerste uit het array is "pirPinArray[0]".

Gebruikers-avatar
Berichten: 5043
Geregistreerd: 13 Mei 2013, 20:57
Woonplaats: Heemskerk

Re: kan je dit ook met ingangen doen ?

Berichtdoor nicoverduin » 29 Nov 2017, 11:37

Of doe eens gek en lees dit eens door : https://www.arduino.cc/reference/en/lan ... pes/array/
Docent HBO Technische Informatica, Embedded ontwikkelaar & elektronicus
http://www.verelec.nl

Terug naar Arduino software

Wie is er online?

Gebruikers in dit forum: Geen geregistreerde gebruikers en 19 gasten