Συνεχίζω σήμερα την υλοποίηση ορισμένων απλών πρότζεκτ για Arduino. Με το συγκεκριμένο πρότζεκτ θα συνδέσουμε διάφορους αισθητήρες με το Arduino και μέσω του κατάλληλου προγραμματισμού θα λαμβάνουμε τις τιμές τους, οι οποίες θα μεταβάλλονται ανάλογα με τα ερεθίσματα που θα τους δίνουμε. Παράλληλα θα ενεργοποιείται και ένα LED συνδεδεμένο στο Arduino. Στο συγκεκριμένο πρότζεκτ χρησιμοποιούμε ως αισθητήρα μια φωτοαντίσταση.
Τα υλικά που θα χρειαστούμε για την υλοποίηση του συγκεκριμένου πρότζεκτ είναι τα εξής:
1. Arduino Dueminalove USB
2. USB καλώδιο για τον προγραμματισμό
3. Μία μεγάλη breadboard
4. Ένα LED κόκκινου ή πράσινου χρώματος
5. Μία αντίσταση 220Ω
6. Μία αντίσταση 10kΩ
7. Μία φωτοαντίσταση
8. Καλώδια διαφόρων χρωμάτων
9. Ένας φακός για τον ερεθισμό του αισθητήρα
Το κύκλωμα που θα χρειαστεί να υλοποιήσουμε είναι το παρακάτω:
Το πρόγραμμα:
* Τις πληροφορίες για την υλοποίηση του πρότζεκτ τις έχω αντλήσει από το www.arduino.cc
Τα υλικά που θα χρειαστούμε για την υλοποίηση του συγκεκριμένου πρότζεκτ είναι τα εξής:
1. Arduino Dueminalove USB
2. USB καλώδιο για τον προγραμματισμό
3. Μία μεγάλη breadboard
4. Ένα LED κόκκινου ή πράσινου χρώματος
5. Μία αντίσταση 220Ω
6. Μία αντίσταση 10kΩ
7. Μία φωτοαντίσταση
8. Καλώδια διαφόρων χρωμάτων
9. Ένας φακός για τον ερεθισμό του αισθητήρα
Το κύκλωμα που θα χρειαστεί να υλοποιήσουμε είναι το παρακάτω:
Το πρόγραμμα:
- Κώδικας:
*/
// These constants won't change:
const int sensorPin = 2; // pin that the sensor is attached to
const int ledPin = 9; // pin that the LED is attached to
// variables:
int sensorValue = 0; // the sensor value
int sensorMin = 1023; // minimum sensor value
int sensorMax = 0; // maximum sensor value
void setup() {
// turn on LED to signal the start of the calibration period:
pinMode(13, OUTPUT);
digitalWrite(13, HIGH);
// calibrate during the first five seconds
while (millis() < 5000) {
sensorValue = analogRead(sensorPin);
// record the maximum sensor value
if (sensorValue > sensorMax) {
sensorMax = sensorValue;
}
// record the minimum sensor value
if (sensorValue < sensorMin) {
sensorMin = sensorValue;
}
}
// signal the end of the calibration period
digitalWrite(13, LOW);
}
void loop() {
// read the sensor:
sensorValue = analogRead(sensorPin);
// apply the calibration to the sensor reading
sensorValue = map(sensorValue, sensorMin, sensorMax, 0, 255);
// in case the sensor value is outside the range seen during calibration
sensorValue = constrain(sensorValue, 0, 255);
// fade the LED using the calibrated value:
analogWrite(ledPin, sensorValue);
}
* Τις πληροφορίες για την υλοποίηση του πρότζεκτ τις έχω αντλήσει από το www.arduino.cc