Arduino-cheatsheet/Schakelingen

Uit basis
Naar navigatie springen Naar zoeken springen
De printervriendelijke versie wordt niet langer ondersteund en kan weergavefouten bevatten. Werk uw browserbladwijzers bij en gebruik de gewone afdrukfunctie van de browser.

Schakelingen

Digitale input

naam schema programma
Digitale output LED aan Arduino pin 13 (brandt als pin HIGH is)
void setup() {
  pinMode(13, OUTPUT);
}

void loop() {
  digitalWrite(12, HIGH);
  delay(1000);
  digitalWrite(12, LOW);
  delay(1000);
}
Digitale input
(met externe pulldown)

Button aan Arduino pin 2 (HIGH als actief)

void setup() {
  pinMode(2, INPUT);
  pinMode(13, OUTPUT);
}

void loop() {
  int button = digitalRead(2);
  digitalWrite(12, button);
}
Digitale input

(met interne pullup)

Button met interne pullup-weerstand
void setup() {
  pinMode(2, INPUT_PULLUP);
  pinMode(13, OUTPUT);
}

void loop() {
  int button = digitalRead(2);
  digitalWrite(12, ! button);
}
Analoge output (PWM) LED aan Arduino pin 9 (PWM)
int led = 9;        // PWM pin
int ledState = 0;

void setup() {
}

void loop() {
  analogWrite(led, ledState);
  if (ledState < 256) {
    ledState = ledState + 15; 
  } else {
    ledState = 0;
  }
  delay(100);
}
Analoge input Dimmer met potmeter
int led = 9; // PWM pin
int potmeter = A0;

int ledState = 0;

void setup() {
  pinMode(led, OUTPUT);
}

void loop() {
  ledState = analogRead(potmeter) / 4;
  analogWrite(led, ledState);
}
Seriële output

USB-verbinding met host
Gebruik seriële monitor in Arduino IDE

int count = 0;

void setup() {
  Serial.begin(9600);
}

void loop() {
  count = (count + 1) % 256;
  Serial.print("count=");
  Serial.println(count); 
}
Seriële input

USB-verbinding met host
Gebruik seriële monitor in Arduino IDE

LED aan Arduino pin 9 (PWM)

int led = 9; // PWM pin

void setup() {
  Serial.begin(9600);
  while (! Serial()) {};
  Serial.println("LED level (0..255)");
}

void loop() {
  if (Serial.avaliable()) {
    int ledState = Serial.parseInt();
    if (ledState >=0 && ledState <= 255) {
      analogWrite(led, ledState);
    }
  }
}
Motor

Motoraansturing via transistor

int motor = 9;  // PWM pin
 
void setup() { 
  pinMode(motor, OUTPUT);
  Serial.begin(9600);
  while (! Serial);
  Serial.println("Speed 0 to 255");
}
 
 
void loop() { 
  if (Serial.available()) {
    int speed = Serial.parseInt();
    if (speed >= 0 && speed <= 255) {
      analogWrite(motor, speed);
    }
  }
}