- 20 adet RGB LED.
- 1 adet step motor ve sürücü kartı.
- Arduino kartı (örneğin Arduino Uno veya Arduino Mega).
- Bir güç kaynağı (LED'ler için ve step motor için uygun voltajda).
- Breadboard ve bağlantı telleri.
İşte bu projeyi gerçekleştirmek için kullanabileceğiniz basit bir Arduino kodu ve bağlantıları:
#include <Adafruit_NeoPixel.h>
#include <AccelStepper.h>
#define LED_PIN 6 // RGB LED'leri bağladığınız pin
#define LED_COUNT 20 // RGB LED sayısı
#define MOTOR_PIN1 8 // Step motorun bağlı olduğu pin
#define MOTOR_PIN2 9
#define MOTOR_PIN3 10
#define MOTOR_PIN4 11
Adafruit_NeoPixel strip(LED_COUNT, LED_PIN, NEO_GRB + NEO_KHZ800);
AccelStepper stepper(AccelStepper::FULL4WIRE, MOTOR_PIN1, MOTOR_PIN2, MOTOR_PIN3, MOTOR_PIN4);
void setup() {
strip.begin();
strip.show(); // LED'leri sıfırla
stepper.setMaxSpeed(360); // Step motorun hızı (derece/saniye)
stepper.setSpeed(1); // Step motorun hızı (derece/saniye)
}
void loop() {
// RGB LED renk değişimi
for(int color = 0; color < 256; color++) {
for(int i = 0; i < LED_COUNT; i++) {
strip.setPixelColor(i, Wheel(color));
}
strip.show();
delay(1000); // 1 saniye bekle
}
// Step motor hareketi
stepper.runToNewPosition(360); // 360 dereceye dön
}
// RGB renk dönüşümü fonksiyonu
uint32_t Wheel(byte WheelPos) {
WheelPos = 255 - WheelPos;
if(WheelPos < 85) {
return strip.Color(255 - WheelPos * 3, 0, WheelPos * 3);
}
if(WheelPos < 170) {
WheelPos -= 85;
return strip.Color(0, WheelPos * 3, 255 - WheelPos * 3);
}
WheelPos -= 170;
return strip.Color(WheelPos * 3, 255 - WheelPos * 3, 0);
}Bu kod, RGB LED'leri yavaş yavaş renk değiştirecek ve 1 dakika içinde tüm renk geçişini tamamlayacak. Step motor, 1 dakika içinde bir tur yapacak. Bağlantılarınızı doğru bir şekilde yaparak ve kodu Arduino'ya yükleyerek projenizi başlatabilirsiniz. Bağlantıların doğru olduğundan ve güç kaynaklarının uygun olduğundan emin olun.