PchButik.se

Exempel kod för lysdioderna.

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.