Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <Stepper.h>
- #include <Servo.h>
- #include <LiquidCrystal.h>
- #define stepsPerRevolution 48 // for stepper motor
- #define rs 7
- #define en 6
- #define d4 5
- #define d5 4
- #define d6 3
- #define d7 2
- int redCount = 0 , greenCount = 0 , blueCount = 0 ;
- // initialize the stepper library on pins 8 through 11:
- //Stepper myStepper(stepsPerRevolution, 8, 10 , 9 , 11);/
- LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
- Servo myservo;
- enum {NO_COLOR , RED , GREEN , BLUE};
- int getColor();
- void updateLCD();
- void setup() {
- // put your setup code here, to run once:
- // myStepper.setSpeed(150);/
- myservo.attach(12);
- lcd.begin(16, 2);
- lcd.print("Red:0 Blue:0");
- lcd.setCursor(0, 1); // set the cursor to column 0, line 1
- lcd.print("Green:0");
- }
- void loop() {
- // put your main code here, to run repeatedly:
- // myStepper.step(10 * stepsPerRevolution); // change later to start moving and stop at color sensor/
- int color = getColor();
- if (color == RED) {
- myservo.write(0);
- // myStepper.step(20 * stepsPerRevolution);/
- redCount++;
- updateLCD();
- } else if (color == GREEN) {
- myservo.write(180);
- // myStepper.step(20 * stepsPerRevolution);/
- greenCount++;
- updateLCD();
- } else if (color == BLUE) {
- // myStepper.step(-20 * stepsPerRevolution); // -ve means move in the opposite direction/
- blueCount++;
- updateLCD();
- }
- }
- int getColor() {
- // TODO: code for color sensor
- return 0;
- }
- void updateLCD() {
- lcd.setCursor(4, 0); // go to position of red number
- lcd.print(redCount);
- lcd.setCursor(13, 0); // go to position of blue number
- lcd.print(blueCount);
- lcd.setCursor(6, 1); // go to position of green number
- lcd.print(greenCount);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement