Τετάρτη 25 Ιανουαρίου 2017

Lesson No2 Controlling a circuit from a pushbutton

Άσκηση 2 Έλεγχος κυκλώματος από μπουτόν




1ο Θέμα : Πατώντας ένα μπουτόν να παραμένει συνεχώς ΟΝ ένα LED
int ledPin = 13;
int button = 2;
int buttonState = LOW;
void setup() {
  pinMode(ledPin, OUTPUT);
  pinMode(button, INPUT);
}

void loop() {
buttonState = digitalRead(button);
if (buttonState == HIGH) {
  digitalWrite (ledPin, HIGH);
  }
}

Με βάση το Θέμα 1 να τροποποιηθεί και πατώντας το μπουτόν να ανάβει για να έχει χρονοκαθυστέρηση 4sec (να ανάβει 4 sec και μετά να σβήνει)











Θέμα 2: Να γραφεί πρόγραμμα που όσο πατάς το μπουτόν να ανάβει.

int ledPin = 13;
int button = 2;
int buttonState;

void setup() {
  pinMode(ledPin, OUTPUT);
  pinMode(button, INPUT);
}

void loop() {
buttonState = digitalRead(button);
if (buttonState == HIGH) {
digitalWrite(led,HIGH);
}
else {
digitalWrite(led,LOW);
}
}

Με βάση το προηγούμενο θέμα, να τροποποιηθεί έτσι ώστε να κάνει το αντίθετο αποτέλεσμα: να σβήνουμε το LED όσο πατάμε το μπουτόν













Θέμα 3ο : Να γραφεί πρόγραμμα που να λειτουργεί ως μια πύλη NOT χρησιμοποιώντας την εντολή Not [!]

int buttonPin = 2; // ο αριθμός του pin που θα συνδεθεί το μπουτόν
int ledPin = 13; // ο αριθμός του pin που θα συνδεθεί το κόκκινο LED
int buttonStatus; // η μεταβλητή για την ανάγνωση της αρχικής κατάστασης του μπουτόν

void setup() {
pinMode(ledPin, OUTPUT); // όρισε το pin του LED σαν έξοδο:
pinMode(buttonPin, INPUT); // όρισε το pin του μπουτόν σαν είσοδο:
}

void loop(){
// Διάβασε τη κατάσταση της τιμής του (buttonStatus)
buttonStatus = digitalRead(buttonPin);
// έλεγξε αν η κατάσταση του μπουτόν δεν είναι πατημένο
if (buttonStatus != HIGH) {  // Το LED να ανάψει
digitalWrite(ledPin, HIGH);
}
else { // αλλιώς
digitalWrite(ledPin, LOW); // Το LED να σβήσει
}
}



Κυριακή 15 Ιανουαρίου 2017

Τι χρειάζεται για να ξεκινήσω με το Arduino

  1. Θα χρειαστεί να πάρετε την πλακέτα του Arduino

  2. Καλώδιο σύνδεσης του Arduino με τον υπολογιστή σας 
  3. Να κατεβάσετε το πρόγραμμα του Arduino



    https://www.arduino.cc/en/main/software

    Να επιλέξετε την έκδοση με Windows Installer
  4.  Να πάρετε μια πλακέτα breadboard για να τοποθετείτε και να κάνετε τις συνδέσεις των εξαρτημάτων.


  5. Καλωδιάκια σύνδεσης διαφόρων χρωμάτων


  6. Led κόκκινα, πράσινα, και κίτρινα
  7. Αντιστάσεις, 330Ω, 10kΩ
  8. Μικρά μπουτόν

  9. Το πρόγραμμα Fritzing για να κάνετε σχέδια σε breadboard


    Θα το βρείτε στη διεύθυνση: http://fritzing.org/home/
  10. Η συνολική λίστα των εξαρτημάτων είναι:
    1) πλακέτα Arduino
    2) καλώδιο USB
    3) πρόγραμμα Arduino
    4) breadboard
    5) καλωδιάκια
    6) Led 7 κόκκινα, 3πράσινα, 3 κίτρινα
    7) αντιστάσεις 10 των 330Ω, 5 των 10kΩ
    8) μπουτόν μικρά για breadboard
    9) κουτάκι για να βάζετε τα εξαρτήματα


Σάββατο 14 Ιανουαρίου 2017

Lesson No1 with Arduino



Άσκηση 1η
Θέμα 1ο. Αναβόσβημα του LED στη πλακέτα του Arduino
void setup() { // τρέξε μια φορά
 //όρισε το ψηφιακό pin (στη πλακέτα του arduino) LED_BUILTIN σαν έξοδο
  pinMode(LED_BUILTIN, OUTPUT);
}

// τρέξε το βρόγχο άπειρες φορές // άναψε το LED (το HIGH είναι τάση 5V)
void loop() {
  digitalWrite(LED_BUILTIN, HIGH);   // (το HIGH είναι τάση 5V)
  delay(1000);                      // καθυστέρησε ένα sec (1000msec)
  digitalWrite(LED_BUILTIN, LOW);    // σβήσε το LED (το LOW είναι τάση 0V)
  delay(1000);                      // καθυστέρησε ένα sec (1000msec)
}












Θέμα 2ο.  Το ίδιο με το παραπάνω αλλά ορίζω το LED_BUILTIN ως pin 13

void setup() { // τρέξε μια φορά
 //όρισε το ψηφιακό pin (στη πλακέτα του arduino) 13 σαν έξοδο
  pinMode(13, OUTPUT);
}

// τρέξε το βρόγχο άπειρες φορές
void loop() {
  digitalWrite(13, HIGH);  // άναψε το LED (το HIGH είναι τάση 5V)
  delay(1000);             // καθυστέρησε ένα sec (1000msec)
  digitalWrite(13, LOW);    // σβήσε το LED (το LOW είναι τάση 0V)
  delay(1000);              // καθυστέρησε ένα sec (1000msec)
}

Θέμα 3ο. Το ίδιο με το παραπάνω αλλά ορίζουμε το 13 σαν μια ακέραια μεταβλητή
να συνδέσετε LED με αντίσταση στα pin 13 και GND

int redLed = 13;

void setup() { // τρέξε μια φορά
 //όρισε το ψηφιακό pin (στη πλακέτα του arduino) 13 σαν έξοδο
  pinMode(redLed, OUTPUT);
}

// τρέξε το βρόγχο άπειρες φορές
void loop() {
  digitalWrite(redLed, HIGH); // άναψε το LED (το HIGH είναι τάση 5V)
  delay(1000);                // καθυστέρησε ένα sec (1000msec)
  digitalWrite(redLed, LOW);   // σβήσε το LED (το LOW είναι τάση 0V)
  delay(1000);                 // καθυστέρησε ένα sec (1000msec)
}

Εργασία:
4) Να γράψετε ένα πρόγραμμα για δύο LED1 και LED2 τα οποία θα ανάβουν εναλλάξ 1sec το πρώτο και μετά 1sec to άλλο.
[Οδηγίες: να ορίσετε δύο Led, να ορίσετε τα pinMode για το καθένα. Και να δώσετε τιμές αντίστοιχες στην εντολή digitalWrite]


Θέμα 4ο . Δοκιμάστε το παρακάτω και σχολιάστε πως λειτουργεί

Int ledPin = 13;
int ledState = LOW;

void setup
() 
{               
   pinMode(ledPin, OUTPUT);   
}

void loop() {              
  ledState = !ledState; // εναλλαγή τιμής της κατάστασης LOW/HIGH
  digitalWrite(ledPin, ledState);
  delay(1000);
}