====== Τι είναι το Arduino Starter Kit R4 ; ======
Το Arduino Starter Kit R4 είναι ένα πακέτο εκμάθησης βασικών γνώσεων προγραμματισμού μικροελεγκτών.
Περιλαμβάνει την πλακέτα [[https://docs.arduino.cc/hardware/uno-r4-wifi/|Arduino UNO R4 WiFi]]
καθώς και πλήθος βασικών ηλεκτρικών στοιχείων για δημιουργία απλών κυκλωμάτων .
{{:openhw:arduino:arduino-projects-book.png?200 }}
====== Άσκηση 1 ======
{{ :openhw:arduino:arduino-starter-kit-ex1.png?400 }}
\\
{{ :openhw:arduino:arduino-starter-kit-ex1-series.png?200 }}
\\
Η ταυτοποίηση των αντιστάσεων δεν ήταν ευκολη.
{{ :openhw:arduino:arduino-starter-kit-ex1-parallel.png?200 }}
\\
====== Άσκηση 2 ======
{{ :openhw:arduino:arduino-starter-kit-ex2.png?200 }}
int switchState = 0 ;
void setup() {
// put your setup code here, to run once:
pinMode(3,OUTPUT);
pinMode(4,OUTPUT);
pinMode(5,OUTPUT);
pinMode(2,INPUT);
}
void loop() {
// put your main code here, to run repeatedly:
switchState = digitalRead(2);
if (switchState == LOW) {
digitalWrite(3,HIGH); // green LED
digitalWrite(4,LOW); // red LED
digitalWrite(5,LOW); // red LED
}
else {
digitalWrite(3,LOW); // green LED
digitalWrite(4,LOW); // red LED
digitalWrite(5,HIGH); // red LED
delay(250);
digitalWrite(4,HIGH); // red LED
digitalWrite(5,LOW); // red LED
delay(250);
}
}
{{ :openhw:arduino:arduino-starter-kit-ex2-diagram.png?200 }}
====== Άσκηση 3 (αισθητήρας θερμότητας) ======
{{:openhw:arduino:arduino-starter-kit-ex3.png?200 |}}
const int sensorPin = A0;
const float baselineTemp = 27.0;
void setup() {
Serial.begin(9600); // open a serial port
for (int pinNumber = 2; pinNumber<5; pinNumber++) {
pinMode(pinNumber, OUTPUT);
digitalWrite(pinNumber, LOW);
}
}
void loop() {
int sensorVal = analogRead(sensorPin);
Serial.print("Sensor Value: ");
Serial.print(sensorVal);
// convert the ADC reading to voltage
float voltage = (sensorVal/1024.0) * 5.0;
Serial.print(", Volts: ");
Serial.print(voltage);
Serial.print(", degrees C: ");
// convert the voltage to temperature in degrees
float temperature = (voltage - 0.5) * 100;
Serial.println(temperature);
if(temperature < baselineTemp+2) {
digitalWrite(2, LOW);
digitalWrite(3, LOW);
digitalWrite(4, LOW);
}else if(temperature >= baselineTemp+2 && temperature < baselineTemp+4) {
digitalWrite(2, HIGH);
digitalWrite(3, LOW);
digitalWrite(4, LOW);
}else if(temperature >= baselineTemp+4 && temperature < baselineTemp+6) {
digitalWrite(2, HIGH);
digitalWrite(3, HIGH);
digitalWrite(4, LOW);
}else if(temperature >= baselineTemp+6) {
digitalWrite(2, HIGH);
digitalWrite(3, HIGH);
digitalWrite(4, HIGH);
}
delay(1);
}