Term project: Demo

Term - project Demo video


Below is open source that will be used.

#include <LCD5110_Graph.h>
LCD5110 myGLCD(A0,A1,A2,A3,A4);
extern uint8_t SmallFont[];
const int ServoA = 11;
const int ServoB = 10;
const int ServoC = 9;
const int ServoD = 6;
const int clockwise = 1700;
const int counterclockwise = 1300;
const int ButtonA = 8;
const int ButtonB = 7;
const int ButtonC = 5;
const int ButtonD = 4;
const int LEDready = 13;
const int coinInsert = 12;
long previousMillis = 0;
long intervalIdle = 500;
int LEDreadyState = LOW;
int y1= 0; int y2= 10; //position shifters for LCD txt
void setup() {    
     myGLCD.InitLCD(); 
     myGLCD.setFont(SmallFont); 
     myGLCD.setContrast(70); 
     pinMode(ButtonA, INPUT_PULLUP);
     pinMode(ButtonB, INPUT_PULLUP);
     pinMode(ButtonC, INPUT_PULLUP); 
     pinMode(ButtonD, INPUT_PULLUP); 
     
     pinMode(LEDready, OUTPUT); 
     pinMode(coinInsert, INPUT_PULLUP); 
     myGLCD.invert(true); 
     myGLCD.print("VenDuino", CENTER, 1); 
     myGLCD.print("by Ryan", CENTER, 10); 
     myGLCD.print("(c) 2017", CENTER, 30);
     myGLCD.drawRoundRect(13, 0, 70, 8);
     myGLCD.drawRect(0, 20, 83, 47); 
     myGLCD.update(); delay(1000); 
     myGLCD.clrScr();
     myGLCD.update();          } 
 void loop()
 //--Blink Ready LED---------------------------------------------------
       unsigned long currentMillis = millis(); 
          if(currentMillis - previousMillis >= intervalIdle) { // save the last time you blinked the LED             previousMillis = currentMillis; 
            if (LEDreadyState == LOW){     // if the LED is off turn it on and vice-versa: 
                   LEDreadyState = HIGH; 
                   myGLCD.clrScr(); 
                 myGLCD.print("Please insert", CENTER, y1); 
                 myGLCD.print(" $0.25. ", CENTER, y2);    
                 myGLCD.invert(false); 
                 myGLCD.update();               }
         else
              LEDreadyState = LOW;
              digitalWrite(LEDready, LEDreadyState);// set the LED with the ledState of the variable:
              y1=y1 +5; y2=y2+5; //shift the text position down 
              if ((y1==35) && (y2== 45)) //when the text almost goes off-screen, move it back up 
                     {y1=0; y2=10; } 
      }
 //---Wait for Coin/Credit---------------------------------------------------------------
while (digitalRead(coinInsert)==LOW) { //if coin inserted stay in servo enable loop 
     digitalWrite(LEDready, HIGH); 
     myGLCD.clrScr();     myGLCD.update(); 
     myGLCD.print("Please make", CENTER, 0); 
     myGLCD.print(" a selection. ", CENTER, 10);
     myGLCD.drawRect(20, 20, 63, 47); 
     myGLCD.drawRect(20, 20, 41, 47); 
     myGLCD.drawRect(20, 20, 63, 34); 
     myGLCD.update(); 
     servoEnable();                                         }
}
void servoEnable(){ 
while (digitalRead(ButtonA) == HIGH || digitalRead(ButtonB) == HIGH ||
digitalRead(ButtonC) == HIGH || digitalRead(ButtonD) == HIGH) {
   //---------Servo A---------------------------------------------------- 
     if ((digitalRead(ButtonA) == LOW) ) { 
            for(int i=0; i<2; i++)
         {digitalWrite(LEDready, HIGH); delay(50); digitalWrite(LEDready, LOW); delay(50); }
myGLCD.clrScr(); myGLCD.print("Vending", CENTER, 0);
myGLCD.drawRect(20, 20, 63, 47); myGLCD.drawRect(20, 20, 41, 47);
myGLCD.drawRect(20, 20, 63, 34); myGLCD.print("A1", 25, 24); 
 myGLCD.update();
     for(int i=0; i<57; i++) // change this to adjust +- full revolution 
        { 
         digitalWrite(ServoA,HIGH); 
         delayMicroseconds(clockwise); 
         digitalWrite(ServoA,LOW); 
         delay(18.5); // 18.5ms
          //delay(50); enable this line to slow servo rotation
          } 
          break;                                                  } // when item is dispensed exit loop and return to wait for
  coin 
        //---------Servo B---------------------------------------------------- 
         if ((digitalRead(ButtonB) == LOW) ) { 
              for(int i=0; i<2; i++) 
              {digitalWrite(LEDready, HIGH); delay(50); digitalWrite(LEDready, LOW); delay(50); }    
        myGLCD.clrScr(); myGLCD.print("Vending", CENTER, 0);
        myGLCD.drawRect(20, 20, 63, 47); myGLCD.drawRect(20, 20, 41, 47);
        myGLCD.drawRect(20, 20, 63, 34); myGLCD.print("B1", 46, 24); 
        myGLCD.update();
            for(int i=0; i<57; i++) 
              { 
              digitalWrite(ServoB,HIGH);
              delayMicroseconds(clockwise); 
              digitalWrite(ServoB,LOW); 
              delay(18.5); // 18.5ms 
               //delay(50); 
               } 
             break;                                                             }
           //---------Servo C----------------------------------------------------
           if ((digitalRead(ButtonC) == LOW) ) {
               for(int i=0; i<2; i++) 
               {digitalWrite(LEDready, HIGH); delay(50); digitalWrite(LEDready, LOW); delay(50); } 
         myGLCD.clrScr(); myGLCD.print("Vending", CENTER, 0);
         myGLCD.drawRect(20, 20, 63, 47); myGLCD.drawRect(20, 20, 41, 47);
         myGLCD.drawRect(20, 20, 63, 34); myGLCD.print("C2", 25, 37); 
         myGLCD.update(); 
             for(int i=0; i<57; i++)
            {
             digitalWrite(ServoC,HIGH); 
             delayMicroseconds(clockwise); 
             digitalWrite(ServoC,LOW); 
             delay(18.5); // 18.5ms 
              //delay(50);
              } break;                                                               }
  //---------Servo D---------------------------------------------------- 
 if ((digitalRead(ButtonD) == LOW) ) { 
      for(int i=0; i<2; i++) 
    {digitalWrite(LEDready, HIGH); delay(50); digitalWrite(LEDready, LOW); delay(50); } 
   myGLCD.clrScr(); myGLCD.print("Vending", CENTER, 0);
   myGLCD.drawRect(20, 20,63,7); myGLCD.drawRect(20, 20, 41, 47);
   myGLCD.drawRect(20, 20, 63, 34); myGLCD.print("D2", 46, 37); 
   myGLCD.update(); 
        for(int i=0; i<57; i++) 
          { 
          digitalWrite(ServoD,HIGH); 
          delayMicroseconds(clockwise); 
           digitalWrite(ServoD,LOW); 
           delay(18.5); // 18.5ms 
            //delay(50);
            } 
            break;                                         }                                                                                                        
                                                                                                  }
   }


How to install M.2 SSD 512GB in laptop

* Details The old one: M.2 SATA3 128GB 2280 The new one: M.2 SATA3 512GB 2280

2017년 11월 11일 토요일

Term project: Demo

Term - project Demo video


Below is open source that will be used.

#include <LCD5110_Graph.h>
LCD5110 myGLCD(A0,A1,A2,A3,A4);
extern uint8_t SmallFont[];
const int ServoA = 11;
const int ServoB = 10;
const int ServoC = 9;
const int ServoD = 6;
const int clockwise = 1700;
const int counterclockwise = 1300;
const int ButtonA = 8;
const int ButtonB = 7;
const int ButtonC = 5;
const int ButtonD = 4;
const int LEDready = 13;
const int coinInsert = 12;
long previousMillis = 0;
long intervalIdle = 500;
int LEDreadyState = LOW;
int y1= 0; int y2= 10; //position shifters for LCD txt
void setup() {    
     myGLCD.InitLCD(); 
     myGLCD.setFont(SmallFont); 
     myGLCD.setContrast(70); 
     pinMode(ButtonA, INPUT_PULLUP);
     pinMode(ButtonB, INPUT_PULLUP);
     pinMode(ButtonC, INPUT_PULLUP); 
     pinMode(ButtonD, INPUT_PULLUP); 
     
     pinMode(LEDready, OUTPUT); 
     pinMode(coinInsert, INPUT_PULLUP); 
     myGLCD.invert(true); 
     myGLCD.print("VenDuino", CENTER, 1); 
     myGLCD.print("by Ryan", CENTER, 10); 
     myGLCD.print("(c) 2017", CENTER, 30);
     myGLCD.drawRoundRect(13, 0, 70, 8);
     myGLCD.drawRect(0, 20, 83, 47); 
     myGLCD.update(); delay(1000); 
     myGLCD.clrScr();
     myGLCD.update();          } 
 void loop()
 //--Blink Ready LED---------------------------------------------------
       unsigned long currentMillis = millis(); 
          if(currentMillis - previousMillis >= intervalIdle) { // save the last time you blinked the LED             previousMillis = currentMillis; 
            if (LEDreadyState == LOW){     // if the LED is off turn it on and vice-versa: 
                   LEDreadyState = HIGH; 
                   myGLCD.clrScr(); 
                 myGLCD.print("Please insert", CENTER, y1); 
                 myGLCD.print(" $0.25. ", CENTER, y2);    
                 myGLCD.invert(false); 
                 myGLCD.update();               }
         else
              LEDreadyState = LOW;
              digitalWrite(LEDready, LEDreadyState);// set the LED with the ledState of the variable:
              y1=y1 +5; y2=y2+5; //shift the text position down 
              if ((y1==35) && (y2== 45)) //when the text almost goes off-screen, move it back up 
                     {y1=0; y2=10; } 
      }
 //---Wait for Coin/Credit---------------------------------------------------------------
while (digitalRead(coinInsert)==LOW) { //if coin inserted stay in servo enable loop 
     digitalWrite(LEDready, HIGH); 
     myGLCD.clrScr();     myGLCD.update(); 
     myGLCD.print("Please make", CENTER, 0); 
     myGLCD.print(" a selection. ", CENTER, 10);
     myGLCD.drawRect(20, 20, 63, 47); 
     myGLCD.drawRect(20, 20, 41, 47); 
     myGLCD.drawRect(20, 20, 63, 34); 
     myGLCD.update(); 
     servoEnable();                                         }
}
void servoEnable(){ 
while (digitalRead(ButtonA) == HIGH || digitalRead(ButtonB) == HIGH ||
digitalRead(ButtonC) == HIGH || digitalRead(ButtonD) == HIGH) {
   //---------Servo A---------------------------------------------------- 
     if ((digitalRead(ButtonA) == LOW) ) { 
            for(int i=0; i<2; i++)
         {digitalWrite(LEDready, HIGH); delay(50); digitalWrite(LEDready, LOW); delay(50); }
myGLCD.clrScr(); myGLCD.print("Vending", CENTER, 0);
myGLCD.drawRect(20, 20, 63, 47); myGLCD.drawRect(20, 20, 41, 47);
myGLCD.drawRect(20, 20, 63, 34); myGLCD.print("A1", 25, 24); 
 myGLCD.update();
     for(int i=0; i<57; i++) // change this to adjust +- full revolution 
        { 
         digitalWrite(ServoA,HIGH); 
         delayMicroseconds(clockwise); 
         digitalWrite(ServoA,LOW); 
         delay(18.5); // 18.5ms
          //delay(50); enable this line to slow servo rotation
          } 
          break;                                                  } // when item is dispensed exit loop and return to wait for
  coin 
        //---------Servo B---------------------------------------------------- 
         if ((digitalRead(ButtonB) == LOW) ) { 
              for(int i=0; i<2; i++) 
              {digitalWrite(LEDready, HIGH); delay(50); digitalWrite(LEDready, LOW); delay(50); }    
        myGLCD.clrScr(); myGLCD.print("Vending", CENTER, 0);
        myGLCD.drawRect(20, 20, 63, 47); myGLCD.drawRect(20, 20, 41, 47);
        myGLCD.drawRect(20, 20, 63, 34); myGLCD.print("B1", 46, 24); 
        myGLCD.update();
            for(int i=0; i<57; i++) 
              { 
              digitalWrite(ServoB,HIGH);
              delayMicroseconds(clockwise); 
              digitalWrite(ServoB,LOW); 
              delay(18.5); // 18.5ms 
               //delay(50); 
               } 
             break;                                                             }
           //---------Servo C----------------------------------------------------
           if ((digitalRead(ButtonC) == LOW) ) {
               for(int i=0; i<2; i++) 
               {digitalWrite(LEDready, HIGH); delay(50); digitalWrite(LEDready, LOW); delay(50); } 
         myGLCD.clrScr(); myGLCD.print("Vending", CENTER, 0);
         myGLCD.drawRect(20, 20, 63, 47); myGLCD.drawRect(20, 20, 41, 47);
         myGLCD.drawRect(20, 20, 63, 34); myGLCD.print("C2", 25, 37); 
         myGLCD.update(); 
             for(int i=0; i<57; i++)
            {
             digitalWrite(ServoC,HIGH); 
             delayMicroseconds(clockwise); 
             digitalWrite(ServoC,LOW); 
             delay(18.5); // 18.5ms 
              //delay(50);
              } break;                                                               }
  //---------Servo D---------------------------------------------------- 
 if ((digitalRead(ButtonD) == LOW) ) { 
      for(int i=0; i<2; i++) 
    {digitalWrite(LEDready, HIGH); delay(50); digitalWrite(LEDready, LOW); delay(50); } 
   myGLCD.clrScr(); myGLCD.print("Vending", CENTER, 0);
   myGLCD.drawRect(20, 20,63,7); myGLCD.drawRect(20, 20, 41, 47);
   myGLCD.drawRect(20, 20, 63, 34); myGLCD.print("D2", 46, 37); 
   myGLCD.update(); 
        for(int i=0; i<57; i++) 
          { 
          digitalWrite(ServoD,HIGH); 
          delayMicroseconds(clockwise); 
           digitalWrite(ServoD,LOW); 
           delay(18.5); // 18.5ms 
            //delay(50);
            } 
            break;                                         }                                                                                                        
                                                                                                  }
   }