programma

Arduino specifieke Software
Berichten: 3
Geregistreerd: 23 Okt 2015, 19:05

programma

Berichtdoor Djanssen1900 » 30 Okt 2015, 16:26

Hallo,

ik moet voor een opdracht een omschrijving bij een code neer zetten wat het doet en hoe het werkt en wat het is.
ik heb hierna gekeken naar de code alleen ik kom er totaal niet uit. Zouden jullie mij kunnen helpen?

Bij voorbaat dank.

Dit is de code,


int potPin = A3;
int potVal = 0;
int redPin = 2;
int greenPin = 3;
int bluePin = 4;
int Button_01 = 12;
int Button_02 = 13;



int readValue;
int counter_01 = 0;
int counter_02 = 0;

int value_01 = 0;
int value_02 = 0;
int value_03 = 0;

int last_button_01_state = LOW;
int last_button_02_state = LOW;

int mode = 0;

int rood = 0;
int groen = 0;
int blauw = 0;

void setColor(int red, int green, int blue)
{

analogWrite(redPin, red);
analogWrite(greenPin, green);
analogWrite(bluePin, blue);
}




void setup()
{
// put your setup code here, to run once:
pinMode(redPin, OUTPUT);
pinMode(greenPin, OUTPUT);
pinMode(bluePin, OUTPUT);
pinMode(potPin, INPUT);
pinMode(Button_01, INPUT);
pinMode(Button_02, INPUT);
Serial.begin(9600);

}

void loop()


{

if (mode == 0)
{
showSpectrum();
}

if (mode == 1)
{
if (1 == isButton1Pressed())
{


counter_01++;

if (counter_01 == 1)
{
setColor(252, 239, 3); // yellow
}
if (counter_01 == 2)
{
setColor(255, 0, 255); // purple
}
if (counter_01 == 3)
{
setColor(0, 255, 255); // aqua

// reset
counter_01 = 0;
}

}

if (2 == isButton2Pressed())
{
mode = 2;
}

}

if (2 == mode)
{

potVal = analogRead(potPin);
potVal = (potVal/1023.0) * 255;

if (2 == isButton2Pressed())
{

counter_02++;

}

if (counter_02 == 1)
{
rood = potVal;
setColor(rood, 0, 0); // rood
}
if (counter_02 == 2)
{
groen = potVal;
setColor(0, groen, 0); // groen
}
if (counter_02 == 3)
{
blauw = potVal;
setColor(0, 0, blauw); // blauw

// reset
counter_02 = 0;

}

if (counter_02 == 4)
{

setColor(rood, groen, blauw); // blauw

// reset
counter_02 = 0;

}

if(1 == isButton1Pressed())
{
mode = 1;
}

}


}

Advertisement

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

Re: programma

Berichtdoor shooter » 30 Okt 2015, 18:49

zet het programma in de IDE (ofwel start arduino op de PC en copy het programma erin.
doe dan CTRL T, dan staan alle haakjes goed en de indents zijn ook goed.

dan is het dus een kwestie van lezen en zien wat er in een programma gebeurt.
de pinnen zijn pinnen van een UNO bijvoorbeeld, daarmee bepaal je welke uitgang er gestuurd wordt.
dan allerlei variabelen die gedeclareert worden.

dan staat er het woordje void (leeg) met een naam daarachter
dat is een functie die door het programma aangeroepen kan worden een soort subroutine.
dan een setup die aan het begin een keer gedaan wordt, hier staan bijvoorbeeld de mode van de pinnen in.

dan een loop die telkens doorlopen wordt.
dan volgen een stel if statements, die kun je mooi zien na een CTRL T.
mij wat teveel, maar ach is ook maar een voorbeeld.

als je dat allemaal gedaan hebt, het hele programma weer op het forum zetten met
[ code2 = cpp ][ /cpp ]
ofwel cpp code
maar dat zie je dan niet meer(staat bovenaan rechts als je volledige reactiepagina gebruikt.
paul deelen
shooter@home.nl

Berichten: 3
Geregistreerd: 23 Okt 2015, 19:05

Re: programma

Berichtdoor Djanssen1900 » 31 Okt 2015, 00:38

ik heb in me arduino programma crt t gedaan

Code: Alles selecteren
int potPin = A3;
int potVal = 0;
int redPin = 2;
int greenPin = 3;
int bluePin = 4;
int Button_01  = 12;
int Button_02  = 13;



int readValue;
int counter_01            = 0;
int counter_02            = 0;

int value_01           = 0;
int value_02           = 0;
int value_03           = 0;

int last_button_01_state = LOW;
int last_button_02_state = LOW;

int mode = 0;

int rood = 0;
int groen = 0;
int blauw = 0;

void setColor(int red, int green, int blue)
{

  analogWrite(redPin, red);
  analogWrite(greenPin, green);
  analogWrite(bluePin, blue);
}




void setup()
{
  // put your setup code here, to run once:
  pinMode(redPin, OUTPUT);
  pinMode(greenPin, OUTPUT);
  pinMode(bluePin, OUTPUT);
  pinMode(potPin, INPUT);
  pinMode(Button_01, INPUT);
  pinMode(Button_02, INPUT);
  Serial.begin(9600);

}

void loop()


{

  if (mode == 0)
  {
    showSpectrum();
  }

  if (mode == 1)
  {
    if (1 == isButton1Pressed())
    {


      counter_01++;

      if (counter_01 == 1)
      {
        setColor(252, 239, 3);  // yellow
      }
      if (counter_01 == 2)
      {
        setColor(255, 0, 255);  // purple
      }
      if (counter_01 == 3)
      {
        setColor(0, 255, 255);  // aqua

        // reset
        counter_01 = 0;
      }

    }

    if (2 == isButton2Pressed())
    {
      mode = 2;
    }

  }

  if (2 == mode)
  {

    potVal = analogRead(potPin);
    potVal = (potVal / 1023.0) * 255;

    if (2 == isButton2Pressed())
    {

      counter_02++;

    }

    if (counter_02 == 1)
    {
      rood = potVal;
      setColor(rood, 0, 0);  // rood
    }
    if (counter_02 == 2)
    {
      groen = potVal;
      setColor(0, groen, 0);  // groen
    }
    if (counter_02 == 3)
    {
      blauw = potVal;
      setColor(0, 0, blauw);  // blauw

      // reset
      counter_02 = 0;

    }

    if (counter_02 == 4)
    {

      setColor(rood, groen, blauw);  // blauw

      // reset
      counter_02 = 0;

    }

    if (1 == isButton1Pressed())
    {
      mode = 1;
    }

  }


}


Dit moest hem dan worden?

Terug naar Arduino software

Wie is er online?

Gebruikers in dit forum: Geen geregistreerde gebruikers en 19 gasten