PchButik.se

Exempel kod för lysdioderna.

Nybörjare

ExempelKodLysdioderna1

Denna kod blinkar med alla lysdioderna, de Àr tÀnda i en halv sekund och slÀckta i en halv sekund.

AlltsÄ en blink i sekunden.

Om du byter ut första 'delay(500);' till 'delay(9500);'

SÄ kommer de att blinka en gÄng var 10:de sekund.

/*
 * ExempelKodLysdioderna1
 * DATE 2020-04-16
 * VERSION: 1.0
 * Per-Anders Hult
 * PchButik.se
 * Denna kod Àr skriven för att vara enkel att förstÄ för en nybörjare.
 * Kanske inte Àr den bÀsta eller snabbaste koden.
 */

void setup() {
  //SÀtter pinnarna för MultiShield utgÄngar.
  pinMode(2, OUTPUT);
  pinMode(3, OUTPUT);
  pinMode(4, OUTPUT);
  pinMode(5, OUTPUT);
  pinMode(6, OUTPUT);
  pinMode(7, OUTPUT);
  pinMode(8, OUTPUT);
  pinMode(9, OUTPUT);
}

void loop() {
  // TĂ€nd alla lysdioder
  digitalWrite(2, HIGH);
  digitalWrite(3, HIGH);
  digitalWrite(4, HIGH);
  digitalWrite(5, HIGH);
  digitalWrite(6, HIGH);
  digitalWrite(7, HIGH);
  digitalWrite(8, HIGH);
  digitalWrite(9, HIGH);
  
  // VĂ€nta en halv sekund
  delay(500);
  
  // SlÀck alla lysdioder
  digitalWrite(2, LOW);
  digitalWrite(3, LOW);
  digitalWrite(4, LOW);
  digitalWrite(5, LOW);
  digitalWrite(6, LOW);
  digitalWrite(7, LOW);
  digitalWrite(8, LOW);
  digitalWrite(9, LOW);
  
  // VĂ€nta en halv sekund
  delay(500);
}

ExempelKodLysdioderna2

Denna kod kanske ser lite roligare ut, liknar hjÀrtslags mÀtare. Kanske kan vi kalla det hjÀrtslags simulator.

Summan av alla delay() Àr 1000, alltsÄ ett slag per sekund.

/*
 * ExempelKodLysdioderna2
 * HjÀrtslags simulator
 * DATE 2020-04-16
 * VERSION: 1.0
 * Per-Anders Hult
 * PchButik.se
 */

void setup() {
  // SÀtter pinnarna för MultiShield utgÄngar.
  pinMode(2, OUTPUT);
  pinMode(3, OUTPUT);
  pinMode(4, OUTPUT);
  pinMode(5, OUTPUT);
  pinMode(6, OUTPUT);
  pinMode(7, OUTPUT);
  pinMode(8, OUTPUT);
  pinMode(9, OUTPUT);
}

void loop() {
  // Först slag - snabb tÀnd och slÀck
  digitalWrite(2, HIGH);
  digitalWrite(3, HIGH);
  digitalWrite(4, HIGH);
  digitalWrite(5, HIGH);
  digitalWrite(6, HIGH);
  digitalWrite(7, HIGH);
  digitalWrite(8, HIGH);
  digitalWrite(9, HIGH);
  delay(150);
  
  digitalWrite(2, LOW);
  digitalWrite(3, LOW);
  digitalWrite(4, LOW);
  digitalWrite(5, LOW);
  digitalWrite(6, LOW);
  digitalWrite(7, LOW);
  digitalWrite(8, LOW);
  digitalWrite(9, LOW);
  delay(100);
  
  // Andra slag - snabb tÀnd och slÀck
  digitalWrite(2, HIGH);
  digitalWrite(3, HIGH);
  digitalWrite(4, HIGH);
  digitalWrite(5, HIGH);
  digitalWrite(6, HIGH);
  digitalWrite(7, HIGH);
  digitalWrite(8, HIGH);
  digitalWrite(9, HIGH);
  delay(150);
  
  digitalWrite(2, LOW);
  digitalWrite(3, LOW);
  digitalWrite(4, LOW);
  digitalWrite(5, LOW);
  digitalWrite(6, LOW);
  digitalWrite(7, LOW);
  digitalWrite(8, LOW);
  digitalWrite(9, LOW);
  delay(500);
  // Summa: 150+100+150+500 = 900ms, avrundad till 1 slag per sekund
}

Displayen och 74HC595

Displayen ser inte sÄ kul, om det inte Àr nÄgon kod för den. Det lyser nÄgra slumpvis segment.

Det Àr ganska avancerat att koda för displayen, sÄ det fÄr bli senare.

LÀgg till denna kod för att slÀcka displayen. Hur koden funkar fÄr vi ocksÄ ta senare.

Koden bestÄr av tvÄ delar.

Denna del ska vara ovanför setup, dÀr andra define Àr:

//Namnet pÄ pinnarna pÄ IC-kretsana som driver displayen.
#define LATCH_DIO 4
#define CLK_DIO 7
#define DATA_DIO 8

Denna del ska vara i setup, den behöver bara köras en gÄng:

 //Denna kod, sÀtter pinnarna till displayen till utgÄngar.
 pinMode(LATCH_DIO, OUTPUT);
 pinMode(CLK_DIO, OUTPUT);
 pinMode(DATA_DIO, OUTPUT);
 
 //SlÀck displayen
 digitalWrite(LATCH_DIO, LOW);
 shiftOut(DATA_DIO, CLK_DIO, MSBFIRST, 0xFF);
 digitalWrite(LATCH_DIO, HIGH);

Denna sida Àr konverterad med hjÀlp av AI. En sida för dig som bygger elektronik sjÀlv, experimenterar och laborerar.
Skapad av Per-Anders Hult för PchButik.se.