Organizovao u direktorijume po predavanjima
This commit is contained in:
parent
077e592d18
commit
2f474ae901
19
prvo_predavanje/blink_without_delay/blink_without_delay.ino
Normal file
19
prvo_predavanje/blink_without_delay/blink_without_delay.ino
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
|
||||||
|
int led_pin = 13; // Pin na koji je povezana dioda
|
||||||
|
const long interval = 100; // Interval koji ce da pauzira blinkanje diode
|
||||||
|
unsigned long previous_millis = 0; // Referentno vreme
|
||||||
|
int led_state = LOW; // Stanje koje cemo pisati na izlazni pin
|
||||||
|
unsigned int current_millis; // Trenutno vreme
|
||||||
|
|
||||||
|
void setup() {
|
||||||
|
pinMode(led_pin, OUTPUT); // Postavlja diodu kao izlaz
|
||||||
|
}
|
||||||
|
|
||||||
|
void loop() {
|
||||||
|
current_millis = millis(); // Pogleda koliko je trenutno vreme (od ukljucivanja mikrokontrolera)
|
||||||
|
if (current_millis - previous_millis >= interval){ // Ako je od "pocetnog" do sadasnjeg trenutka proslo <interval> milisekundi
|
||||||
|
previous_millis = current_millis; // "Pocetno" vreme postaje trenutno vreme
|
||||||
|
led_state = !led_state; // promeni vrednost stanja diode
|
||||||
|
digitalWrite(led_pin, led_state); // i "upisi" je na pin
|
||||||
|
}
|
||||||
|
}
|
BIN
prvo_predavanje/blink_without_delay/scheme.png
Normal file
BIN
prvo_predavanje/blink_without_delay/scheme.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 28 KiB |
13
prvo_predavanje/led_blink/led_blink.ino
Normal file
13
prvo_predavanje/led_blink/led_blink.ino
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
|
||||||
|
int led_pin = 13; // Pin na koji je povezana dioda
|
||||||
|
|
||||||
|
void setup() {
|
||||||
|
pinMode(led_pin, OUTPUT); // Postavlja pin 13 kao izlazni pin
|
||||||
|
}
|
||||||
|
|
||||||
|
void loop() {
|
||||||
|
digitalWrite(led_pin, HIGH); // Pise logicku jedinicu na led_pin
|
||||||
|
delay(1000); // Pauza u milisekundama
|
||||||
|
digitalWrite(led_pin, LOW); // Pise logicku nulu na led_pin
|
||||||
|
delay(1000); // Pauza u milisekundama
|
||||||
|
}
|
BIN
prvo_predavanje/led_blink/scheme.png
Normal file
BIN
prvo_predavanje/led_blink/scheme.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 28 KiB |
26
prvo_predavanje/led_with_input/led_with_input.ino
Normal file
26
prvo_predavanje/led_with_input/led_with_input.ino
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
|
||||||
|
int led_pin = 13; // Dioda je povezana na pin 13
|
||||||
|
int button = 2; // Taster je povezan na pin 2
|
||||||
|
int interval1 = 200; // Interval brzog blinkanja
|
||||||
|
int interval2 = 2000; // Interval sporog blinkanja
|
||||||
|
|
||||||
|
void setup() {
|
||||||
|
pinMode(led_pin, OUTPUT); // Inicijalizuje pin 13 kao izlaz
|
||||||
|
pinMode(button, INPUT); // Inicijalizuje pin 2 kao ulaz
|
||||||
|
|
||||||
|
// Serial.begin(9600); // Inicijalizuje serijsku konekciju na brzini od 9600 bit/s
|
||||||
|
}
|
||||||
|
|
||||||
|
void loop() {
|
||||||
|
digitalWrite(led_pin, HIGH); // Blinkanje diode
|
||||||
|
delay(interval1);
|
||||||
|
digitalWrite(led_pin, LOW);
|
||||||
|
delay(interval1);
|
||||||
|
if (digitalRead(button) == HIGH){ // Ako je pritisnuto dugme, zameni vrednosti
|
||||||
|
// Serial.println(digitalRead(button));
|
||||||
|
int tmp = interval1; // intervala blinkanja
|
||||||
|
interval1 = interval2;
|
||||||
|
interval2 = tmp;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
BIN
prvo_predavanje/led_with_input/scheme.png
Normal file
BIN
prvo_predavanje/led_with_input/scheme.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 31 KiB |
@ -0,0 +1,64 @@
|
|||||||
|
|
||||||
|
int led_pin = 13; // Dioda je povezana na pin 13
|
||||||
|
int button = 2; // Taster je povezan na pin 2
|
||||||
|
|
||||||
|
int interval1 = 200; // Interval brzog blinkanja
|
||||||
|
int interval2 = 2000; // Interval sporog blinkanja
|
||||||
|
int interval3 = 1000;
|
||||||
|
int interval[] = {interval1, interval2, interval3}; // Niz iz kog cemo birati rezim blinkanja
|
||||||
|
int i = 0; // Brojac kojim pratimo u kom smo rezimu blinkanja
|
||||||
|
|
||||||
|
int led_state = LOW; // Prati stanje diode
|
||||||
|
int last_button_state = LOW; // Prethodno stanje tastera
|
||||||
|
int button_state = LOW; // Trenutno stanje tastera
|
||||||
|
|
||||||
|
unsigned long previous_millis = 0;
|
||||||
|
unsigned long last_button_millis = 0;
|
||||||
|
unsigned long debounce_inteval = 50; // Interval za ignorisanje dogadjaja na tasteru
|
||||||
|
|
||||||
|
void setup() {
|
||||||
|
pinMode(led_pin, OUTPUT); // Inicijalizuje pin 13 kao izlaz
|
||||||
|
pinMode(button, INPUT); // Inicijalizuje pin 2 kao ulaz
|
||||||
|
|
||||||
|
// Serial.begin(9600); // Inicijalizuje serijsku konekciju na brzini od 9600 bit/s
|
||||||
|
}
|
||||||
|
|
||||||
|
void blink_LED(int interval);
|
||||||
|
|
||||||
|
void loop() {
|
||||||
|
int reading = digitalRead(button); // Gleda u kom je stanju taster
|
||||||
|
|
||||||
|
if (reading != last_button_state){ // Ako se stanje tastera promenilo
|
||||||
|
last_button_millis = millis(); // Pocni da meris vreme
|
||||||
|
}
|
||||||
|
if (millis() - last_button_millis >= debounce_inteval){ // Ako je proslo vise od "debounce_interval" milisekundi
|
||||||
|
if (reading != button_state){ // i ocitavanje je razlicito od ocekivanog stanja tastera
|
||||||
|
button_state = reading; // znaci da je ocitano stanje koje zelimo na tasteru, a ne neki sum
|
||||||
|
if (button_state == HIGH){ // Ako je to stanje HIGH, odnosno pritisnut taster
|
||||||
|
i++; // Biramo sledeci recim blinkanja
|
||||||
|
if (i > (sizeof(interval) / sizeof(int) - 1)){ // Kada dodje do zadnjeg rezima, pocne ispocetka
|
||||||
|
i = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
last_button_state = reading; // Vazno je podesiti da je "prethodno stanje" tastera za sledecu iteraciju ono sadasnje u ovoj iteraciji
|
||||||
|
blink_LED(interval[i]); // Poziva funkciju blinkanja sa zeljenim intervalom
|
||||||
|
}
|
||||||
|
|
||||||
|
void blink_LED(int interval){ // Funckija zaduzena za blinkanje diode bez delay() funkcije
|
||||||
|
if (millis() - previous_millis >= interval){
|
||||||
|
previous_millis = millis();
|
||||||
|
led_state = !led_state;
|
||||||
|
/*
|
||||||
|
if (led_state == LOW){
|
||||||
|
led_state = HIGH;
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
led_state = LOW;
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
digitalWrite(led_pin, led_state);
|
||||||
|
}
|
||||||
|
}
|
BIN
prvo_predavanje/led_with_input_without_delay/scheme.png
Normal file
BIN
prvo_predavanje/led_with_input_without_delay/scheme.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 31 KiB |
15
prvo_predavanje/pushbutton/pushbutton.ino
Normal file
15
prvo_predavanje/pushbutton/pushbutton.ino
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
|
||||||
|
int button = 2; // Taster je povezan na pin 2
|
||||||
|
int button_state;
|
||||||
|
|
||||||
|
void setup() {
|
||||||
|
pinMode(button, INPUT); // Inicijalizuje pin 2 kao ulaz
|
||||||
|
|
||||||
|
Serial.begin(9600); // Inicijalizuje serijsku komunikaciju na brzini od 9600 bit/s
|
||||||
|
}
|
||||||
|
|
||||||
|
void loop() {
|
||||||
|
button_state = digitalRead(button); // Ocitava stanje tastera
|
||||||
|
Serial.println(button_state); // Stampa stanje tastera
|
||||||
|
delay(1); // Kratka pauza izmedju ocitavanja
|
||||||
|
}
|
BIN
prvo_predavanje/pushbutton/scheme.png
Normal file
BIN
prvo_predavanje/pushbutton/scheme.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 30 KiB |
@ -0,0 +1,31 @@
|
|||||||
|
|
||||||
|
int button = 2; // Taster je povezan na pin 2
|
||||||
|
|
||||||
|
int last_button_state = LOW; // Prethodno stanje tastera
|
||||||
|
int button_state = LOW; // Trenutno stanje tastera
|
||||||
|
|
||||||
|
unsigned long last_button_millis = 0;
|
||||||
|
unsigned long debounce_interval = 50; // Interval za ignorisanje dogadjaja na tasteru
|
||||||
|
|
||||||
|
void setup() {
|
||||||
|
pinMode(button, INPUT); // Inicijalizuje pin 2 kao ulaz
|
||||||
|
|
||||||
|
Serial.begin(9600); // Inicijalizuje serijsku konekciju na brzini od 9600 bit/s
|
||||||
|
}
|
||||||
|
|
||||||
|
void loop() {
|
||||||
|
int reading = digitalRead(button); // Gleda u kom je stanju taster
|
||||||
|
|
||||||
|
if (reading != last_button_state){ // Ako se stanje tastera promenilo
|
||||||
|
last_button_millis = millis(); // Pocni da meris vreme
|
||||||
|
}
|
||||||
|
if (millis() - last_button_millis >= debounce_interval){ // Ako je proslo vise od "debounce_interval" milisekundi
|
||||||
|
if (reading != button_state){ // i ocitavanje je razlicito od ocekivanog stanja tastera
|
||||||
|
button_state = reading; // znaci da je ocitano stanje ono koje zelimo na tasteru, a ne neki sum
|
||||||
|
// Stampa stanje tastera
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Serial.println(button_state);
|
||||||
|
last_button_state = reading; // Vazno je podesiti da je "prethodno stanje" tastera za sledecu iteraciju ono sadasnje u ovoj iteraciji
|
||||||
|
delay(1);
|
||||||
|
}
|
BIN
prvo_predavanje/pushbutton_with_debounce/scheme.png
Normal file
BIN
prvo_predavanje/pushbutton_with_debounce/scheme.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 30 KiB |
Loading…
Reference in New Issue
Block a user