Speciaal voor u als trouwe lezer van Linuxmagazine. De Listings vanuit het laatste nummer online 🙂 

Knipperlisting:

void setup() {                
  pinMode(0, OUTPUT); //LED on Model B
  pinMode(1, OUTPUT); //LED on Model A or Pro
}

void loop() {
  digitalWrite(0, HIGH);
  digitalWrite(1, HIGH);
  delay(1000);
  digitalWrite(0, LOW);
  digitalWrite(1, LOW);
  delay(1000);
}

LED inschakelen listing:

#include <DigiCDC.h>
void setup() {
  SerialUSB.begin();
  pinMode(1, OUTPUT);
}

void loop() {
  
  if (SerialUSB.available()) {
    char input = SerialUSB.read();
    if(input == '0')
      digitalWrite(1, LOW);
    else if(input == '1')
      digitalWrite(1, HIGH);
      
  }
  
  SerialUSB.delay(100);
}


AVR-code listing

/* Atml AVR native blink example for the Digispark
 *
 * Copyright (C) 2021 Koen Vervloesem (koen@vervloesem.eu)
 *
 * SPDX-License-Identifier: MIT
 */
#include <avr/io.h>
#include <util/delay.h>

// Digispark built-in LED
// Note: on model A the LED is connected to PB1, on model B to PB0
#define PIN_LED PB1
#define DELAY_MS 1000

int main(void) {
  // Initalize LED pin as output
  DDRB |= (1 << PIN_LED);

  while (1) {
    PORTB ^= (1 << PIN_LED);
    _delay_ms(DELAY_MS);
  }

  return 0;
}


Extra knop listing

#include "DigiKeyboard.h"

#define BUTTON 2

int previousButtonState = 1;

void setup() {
  pinMode(BUTTON, INPUT);
}

void loop() {
  int buttonState = digitalRead(BUTTON);
  if(buttonState!=previousButtonState) {
    if(!buttonState) {
      DigiKeyboard.print("ON");
    } else {
      DigiKeyboard.print("OFF");      
    }
    previousButtonState = buttonState;
  }
  DigiKeyboard.delay(10);
}