Stap 2: Hier is Arduino schets...
#include Wire.h
#include SoftwareSerial.h
Zet haakjes rond bibliotheek namen
#include Suli.h
#include Four_Digit_Display_Arduino.h
#include Wire.h
#include "RTClib.h"
#include Servo.h
#include SoftwareSerial.h
Servo servo1 servo2, servo3;
Const int buttonPin4 = 13, buttonPin3 = 11, buttonPin2 = 12; int val1, val2, val3, val4; int but1, but2, but3, but4, curMin, oldMin, ToetsIndrukken (KeyPress); Four_Digit_Display_Arduino disp;
VOID myServo (int curAngle, int newAngle, int angleInc, int incDelay, int servoNum) {als (curAngle < newAngle) {voor (int hoek = curAngle; hoek < newAngle; hoek += angleInc) {als (servoNum == 1) servo1.write(angle); als (servoNum == 2) servo2.write(angle); als (servoNum == 3) servo3.write(angle); delay(incDelay);}} anders als (curAngle > newAngle) {voor (int hoek = curAngle; hoek > newAngle; hoek-= angleInc) {als (servoNum == 1) servo1.write(angle); als (servoNum == 2) servo2.write(angle), als (servoNum == 3) servo3.write(angle); delay(incDelay);}}} / *---(objecten declareren)---* / RTC_DS1307 de rtc; Maken van een RealTimeClock object ongeldig keyDown() {servo1.write(43); delay(250);} keyUp() {servo1.write(120); delay(100);} ongeldig ongeldig slideFinger(int pos) {servo3.write(pos); delay(1000);} int getKeyPress (int switchNo) {while(1) {int = digitalRead(switchNo); vertraging(20); als (maar lage ==) {Serial.print("but=low"); Serial.println(but); maar = hoog; return 1; void setup}}} {Serial.begin(9600); / / ingesteld voor seriële Monitor voor zitten kundig voor zien van dit werk servo1.attach(7); / / vinger servo delay(10);delay(1000); servo1.write(90); servo3.attach(9); //slider servo delay(10); servo3.write(90); delay(5000);
Wire.begin(); DISP.begin(2,3); DISP.Clear(); disp.pointOn(); pinMode(buttonPin4,INPUT_PULLUP); pinMode(buttonPin3,INPUT_PULLUP); RTC.begin(); Start de RTC bibliotheek code
/ *---(Stel de datum en tijd. Commentaar uit deze lijnen na instelling)---* / / / deze "/ /" voor de regel die u niet wilt gebruiken / / regel na de RTC sets naar de datum & tijd deze schets gecompileerde rtc.adjust(DateTime(F(__DATE__), F(__TIME__))) was; Met deze regel wordt de RTC met een expliciete datum & tijd, bijvoorbeeld om in te stellen / / mei 21, 2015 at 6 pm je zou noemen: (gebruik 24 uurs tijd) / / rtc.adjust (DateTime (2015, 5, 21, 18, 0, 0));
} //--(end setup)---
void loop {///String testString = "4"; //val4 = testString.toInt(); //val4= testString.charAt(1); //val4=9; / / disp.pointOn(); / / disp.begin(2,3); / / disp.clear(); DateTime nu = rtc.now(); Gegevens lezen van de RTC Chip curMin = now.minute() % 10; ToetsIndrukken (KeyPress) = getKeyPress(); Als (curMin! = oldMin) {disp.clear(); val1 = now.hour() / 10; val2 = now.hour() % 10; val3 = now.minute() / 10; val4 = now.minute() % 10; slideFinger(36); //move schuifregelaar voor (int ik = 0; ik < = val4; i ++) {keyDown(); / / vinger naar beneden Serial.print("keypress="); Serial.println(i); Als (getKeyPress(13) == 1) {disp.display(3,i); delay(10); keyUp(); //finger up delay(100);} / / disp min} slideFinger(72); schuifregelaar voor (int i = 0; ik < = val3; i ++) {keyDown(); / / vinger naar beneden Serial.print("keypress=3."); Serial.println(i); Als (getKeyPress(11) == 1) {disp.display(2,i); delay(10); keyUp(); //finger up delay(100);} / / disp min} slideFinger(101); schuifregelaar voor (int i = 0; ik < = val2; i ++) {keyDown(); / / vinger naar beneden Serial.print("keypress="); Serial.println(i); Als (getKeyPress(12) == 1) {disp.display(1,i); delay(10); keyUp(); //finger up delay(100);} / / disp min} slideFinger(139); schuifregelaar voor (int i = 0; ik < = val1; i ++) {keyDown(); / / vinger naar beneden Serial.print("keypress="); Serial.println(i); Als (getKeyPress(10) == 1) {disp.display(0,i); delay(10); keyUp(); //finger up delay(100);} / / disp min} //disp.display (0, now.hour()/10); DISP.display (1, now.hour() % 10); DISP.display (2, now.minute()/10); DISP.display (3, now.minute() % 10); servo3.write(90); delay(3000); DISP.Clear(); DISP.display(0,1); delay(3000); disp.pointOff(); disp.pointOn();
Serial.Print(Now.Year(), DEC); Serial.Print('/'); Serial.Print(Now.month(), DEC); Serial.Print('/'); Serial.Print(Now.Day(), DEC); Serial.Print(' '); Serial.Print(Now.Hour() 10%, DEC); Serial.Print(':'); Serial.Print(Now.Minute(), DEC); Serial.Print(':'); Serial.Print(Now.Second(), DEC); Serial.println(); oldMin = curMin; } / / oldMin}