Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <AFMotor.h>
- #include <Adafruit_NeoPixel.h>
- #ifdef __AVR__
- #include <avr/power.h>
- #endif
- // Connect a stepper motor with 48 steps per revolution (7.5 degree)
- // to motor port #2 (M3 and M4)
- AF_Stepper motor(48, 1);
- Adafruit_NeoPixel left = Adafruit_NeoPixel(12, 9, NEO_GRB + NEO_KHZ800);
- Adafruit_NeoPixel right = Adafruit_NeoPixel(12, 10, NEO_GRB + NEO_KHZ800);
- void setup() {
- motor.setSpeed(100); // 10 rpm
- left.begin();
- right.begin();
- }
- void loop() {
- flashEyes();
- motor.step(300, FORWARD, SINGLE);
- flashEyes();
- motor.step(300, BACKWARD, SINGLE);
- flashEyes();
- motor.step(300, FORWARD, DOUBLE);
- flashEyes();
- motor.step(300, BACKWARD, DOUBLE);
- flashEyes();
- motor.step(300, FORWARD, INTERLEAVE);
- flashEyes();
- motor.step(300, BACKWARD, INTERLEAVE);
- flashEyes();
- motor.step(300, FORWARD, MICROSTEP);
- flashEyes();
- motor.step(300, BACKWARD, MICROSTEP);
- flashEyes();
- }
- void flashEyes() {
- setRed();
- eyesOff();
- setRed();
- eyesOff();
- setRed();
- eyesOff();
- setRed();
- eyesOff();
- setRed();
- }
- void setRed() {
- for(int lightLevel=0;lightLevel<255;lightLevel++){
- for(int i=0;i<16;i++){
- left.setPixelColor(i, left.Color(lightLevel,0,0));
- right.setPixelColor(i, right.Color(lightLevel,0,0));
- left.show();
- right.show();
- }
- delay(10);
- }
- delay(200);
- }
- void eyesOff() {
- for(int lightLevel=255;lightLevel>0;lightLevel--){
- for(int i=0;i<16;i++){
- left.setPixelColor(i, left.Color(lightLevel,0,0));
- right.setPixelColor(i, right.Color(lightLevel,0,0));
- left.show();
- right.show();
- }
- delay(10);
- }
- delay(200);
- }
Add Comment
Please, Sign In to add comment