Organizovao u direktorijume po predavanjima
This commit is contained in:
		
							
								
								
									
										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 | 
		Reference in New Issue
	
	Block a user