Elektrisch schema en Arduino code

Elektrisch schema Arduino.


 

Het schema is opgebouwd uit een Arduino, relais, de LEDstrip, een weerstand van 470 Ω en een condensator van 100 µF. De condensator is om piek en dal spanningen op te vangen, dit om de LED’s te beschermen. De weerstand op de signaalkabel is voor het juist pushen van de data naar de LED’s.

electrisch schema

Aansluiten LED’s.


 

De LED’s die we gebruikt hebben zijn van een strip met 60 LED’s, we hebben elk LEDje van de strip afgeknipt. Zo konden wij de LED’s plaatsen waar we wilden. Op elke LED hebben wij twee stekkertjes gesoldeerd, zodat de LED vervangbaar is. Hoe de LEDjes aangesloten zitten, is in het plaatje hieronder te zien.

leds

De Arduino code.


 

Hieronder het programma wat is gebruikt voor ons project. Elke stap staat aan het eind van de regel beschreven.
#include <Adafruit_NeoPixel.h>                   // Voeg neopixel library toe

// Neopixels pin en relais pin toewijzen
#define PIN 6
#define relaypin 7

// Aantal LED’s toewijzen?
#define NUMPIXELS 45

Adafruit_NeoPixel pixels = Adafruit_NeoPixel(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);                                            //Neopixel library instellen voor de juiste LED’s

void setup() {
pixels.begin();                                               // Neopixel library initialiseren
pixels.show();                                               // Alle LED’s initialiseren op uit
pinMode(relaypin,OUTPUT);                       // De relais pin als OUTPUT initialiseren
digitalWrite(relaypin,LOW);                          // Zet het relais op open/uit
}

void loop() {
pixels.setPixelColor(0,255,255,255);           // Zet de eerste LED aan met de kleur wit
pixels.show();                                               // Push het signaal door de LED’s
delay(1000);                                                 // Wacht 1 seconde
digitalWrite(relaypin,HIGH);                         // Zet het relais gesloten/aan (maak een foto)
delay(200);                                                   // Wacht 200 milliseconde (ivm sluitertijd)
digitalWrite(relaypin,LOW);                          // Zet het relais open/uit
delay(500);                                                   // Wacht 500 milliseconde
for(int n=1; n<(NUMPIXELS-2); n++)         // for loop, zet de LED’s 1 voor 1 aan
{
pixels.setPixelColor(n-1,0,0,0);                   // zet de vorige LED uit
pixels.setPixelColor(n,255,255,255);          // zet huidige LED aan
pixels.show();                                              // Push het signaal door de LED’s
delay(1000);                                                // Wacht 1 seconde
digitalWrite(relaypin,HIGH);                        // Zet het relais gesloten/aan (maak een foto)
delay(200);                                                  // Wacht 200 milliseconde (ivm sluitertijd)
digitalWrite(relaypin,LOW);                         // Zet het relais open/uit
delay(500);                                                  // Wacht 500 milliseconde
}
pixels.setPixelColor(NUMPIXELS-1,0,0,0);  // Zet de laatste LED uit
pixels.show();                                                 // Push het signaal door de LED’s
int k=1;
while(k==1){}         // dit om het oneindig herhalen van het boven gaande te voorkomen
}

Be Sociable, Share!