/*
1.naloga: Program prebere iz predpomnilniške serijske komunacije znak (ASCII koda)
če prebere znak :
(ASCII 40) '1' Izpišemo nazaj na serijski port: utrip 1x
(ASCII 50) '2' Izpišemo nazaj na serijski port: utrip 2x
'+' izpišemo nazaj na serijski port: LED on
'-' izpišemo nazaj na serijski port: LED off
2.naloga: Program prebere iz serijskega predpomnilniškega znake (ASCII koda),
prebrane znake pretvorimo v številčno vrednost in jo izpišemo na
Vrednost določa Frekvenco utripanja LED diode
3.naloga: Podobno kot naloga 2, vendar z omejitvijo, da lahko naenkrat preberemo 5 znakom
4.naloga: Program prebere nize znakov v katerem so zapisane tudi vejice
znake med dvema vejicama pretvorimo v celo število in število nato zapišemo v seznam tipa integer.
V seznamu imamo lahko zapisano samo tri števila npr: 14,23,456
*/
/*
#define LED 0
void setup() {
Serial.begin(9600);
Serial.println("Vpiši znak: ");
pinMode(LED, OUTPUT);
}
void loop() {
if (Serial.available()){ // ali je v predpomnilniškem mikrokrmilnika kakšen znak
char znak = Serial.read(); // preberemo en znak iz predpomnilnika
switch(znak) {
case '1':
Serial.println("utrip");
utrip();
break;
case 2:
Serial.println("utrip 2x");
utrip();
utrip();
break;
case '+':
Serial.println("Led on");
digitalWrite(LED, HIGH);
break;
case '-':
Serial.println("Led off");
digitalWrite(LED, LOW);
break;
default:
Serial.println("Vpiši pravi znak");
break;
}
}
}
void utrip(){
digitalWrite(LED, HIGH);
delay(300);
digitalWrite(LED, LOW);
delay(300);
}
*/
/*
#define LED 9
int value = 0;
void setup(){
Serial.begin(9600);
Serial.println("Vpiši število: ");
pinMode(LED, OUTPUT);
}
void loop(){
static int m = 0;
if (Serial.available()){
char znak = Serial.read();
if(znak >= '0' && znak <= '9'){
value = (value * 10) + (znak - '0');
}
else if (znak == 10){
Serial.println(value);
m = value
value = 0;
}
}
utripanje()
}
void utripanje(int x){
digitalWrite(LED, HIGH);
delay(x);
digitalWrite(LED, LOW);
delay(x);
}
*/
/*
#define LED 9
#define MAX 5; // 5 prebranih znakov
int value = 0;
int indeks = 0; // indeks seznama
char seznam[6];
int utrip = 0;
void setup(){
Serial.begin(9600);
Serial.println("Vpiši število: ");
pinMode(LED, OUTPUT);
}
void loop(){
if(Serial.available()){
char znak = Serial.read();
if (znak >= '0' && znak <= '9' && indeks < MAX){
seznam[indeks++] = znak;
indeks++;
}
else{
seznam[indeks] = 0; // seznam zaključimo z NULL terminatorjem
utrip = atoi(seznam);// string v integer: atol long
Serial.println(utrip);
indeks = 0;// prepišemo znake v seznamu z novim vnosom
}
}
utripanje(utrip)
}
void utripanje(int x){
digitalWrite(LED, HIGH);
delay(x);
digitalWrite(LED, LOW);
delay(x);
}
*/
// reši z uporabo funkcije millis()
/*
#define Seznamstevil 3
int stevilo[SEZNAMstevil];
int indeks = 0;
void setup(){
Serial.begin(9600);
Serial.println("Vpisi tri stevila locena z vejico: ");
}
void loop(){
if(Serial.available()){
char znak = Serial.read()
if(znak >= '0' && znak <= '9'){
stevilo[indeks] = (stevilo[indeks]*10) + (znak - '0')
}
else if (znak = ','){
if(indeks < SEZNAMstevil -1) indeks++
vejica++;
}
else {
if (vejica >= SEZNAMstevil){
for (int i = 0; i < SEZNAMstevil; i++) stevilo[i] = 0;
vejica = 0;
}
// izpis seznama stevil na serijski port
for (int i = 0; i <= indeks; i++){
Serial.print(stevilo[i]);
Serial.print(",");
stevilo[i] = 0; // zapišemo stevilo v seznamu
}
indeks = 0;
}
}
}
*/