θελω βοηθεια να κανω time events στο arduino
πηρα ενα ds1307 RTC, ειπα στο arduino τι ωρα ειναι να την ξερει αλλα εχω κολλησει στο time event, δηλαδη θελω να του πω στις 10:00, 10:10, 10:20 να κινήσει το servo.
αυτη την αρχη δε μπορω να καταλαβω
Συντονιστής: konnn

lepidas έγραψε:θελω βοηθεια να κανω time events στο arduino
πηρα ενα ds1307 RTC, ειπα στο arduino τι ωρα ειναι να την ξερει αλλα εχω κολλησει στο time event, δηλαδη θελω να του πω στις 10:00, 10:10, 10:20 να κινήσει το servo.
αυτη την αρχη δε μπορω να καταλαβω

// Date and time functions using a DS1307 RTC connected via I2C and Wire lib
#include <Wire.h>
#include "RTClib.h"
#include <Servo.h>
Servo servoTilt; // Define our Tilt Servo
Servo servoPan; // Define our Pan Servo
RTC_DS1307 RTC;
void setup () {
Serial.begin(57600);
Wire.begin();
RTC.begin();
servoTilt.attach(9); // servo on digital pin 9
servoPan.attach(10); // servo on digital pin 10
if (! RTC.isrunning()) {
Serial.println("RTC is NOT running!");
// following line sets the RTC to the date & time this sketch was compiled
//RTC.adjust(DateTime(__DATE__, __TIME__));
}
}
void loop () {
DateTime now = RTC.now();
if(now.minute() == 32) {
servoTilt.write(180);
}
if(now.minute() == 31) {
servoTilt.write(100);
}
if(now.minute() == 33) {
servoTilt.write(110);
}
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(), DEC);
Serial.print(':');
Serial.print(now.minute(), DEC);
Serial.print(':');
Serial.print(now.second(), DEC);
Serial.println();
Serial.print(" since 1970 = ");
Serial.print(now.unixtime());
Serial.print("s = ");
Serial.print(now.unixtime() / 86400L);
Serial.println("d");
delay(3000);
}

lepidas έγραψε:αυτο ηθελα να φτιαξω, οι χρονοι και οι θεσεις του σερβο ειναι τυχαιες για το τεστ και ειναι οκ

ναι σίγουρα θα ήταν πολύ καλύτερα αλλά σε μια επόμενη έκδοση version του project αυτού.simosx έγραψε:lepidas έγραψε:αυτο ηθελα να φτιαξω, οι χρονοι και οι θεσεις του σερβο ειναι τυχαιες για το τεστ και ειναι οκ
Μια άλλη επιλογή είναι να χρησιμοποιήσεις το host computer (π.χ. RPi, Cubieboard, mk802) για τον έλεγχο του Arduino, οπότε από εκεί κανονίζεις να μπει όλη η λογική του λογισμικού.
Με το processing μπορείς να γράψεις τέτοιο πρόγραμμα ελέγχου, και υπάρχει ειδική επιλογή στο processing ώστε να μη χρειάζεται γραφικό περιβάλλον.
Ωστόσο για τη Java που θέλει το processing, ίσως είναι βαρύ για μικρό υπολογιστή (υπάρχει Java σε ARM;).
Έτσι, υπάρχει η επιλογή να γραφτεί πρόγραμμα σε π.χ.
http://todbot.com/blog/2013/04/29/ardui ... l-updated/
ή ακόμα καλύτερα με Python κατά τις οδηγίες στο http://playground.arduino.cc/interfacing/python
Προσωπικά θα επέλεγα να γραφτεί το λογισμικό ελέγχου σε Python, οπότε στο Arduino γράφεις μόνο ό,τι χρειάζεται ώστε να ελέγχεται από το πρόγραμμα σε Python.

servoTilt.write(170 );
servoPan.write(0);
servoTilt.write(170);
servoPan.write(70);
servoTilt.write(170);
servoPan.write(90);
servoTilt.write(180);
servoPan.write(110);
servoTilt.write(180);
servoPan.write(160);

ημουν ηδη μακρυα οταν εγραψες το ποστ,the_eye έγραψε:Ωραία, τώρα πάμε στο επόμενο βήμα. Το βράδυ υπάρχει κάποιο φωτεινό σημείο, ώστε να γυρίζει προς αυτό ;







