//Preberi tri števila, ki so ločena z vejico (oblika zapisa: 45,123,45)
#define SEZNAMstevil 3
int seznamIndex = 0; // indeks posameznega stevila locenega z vejico
int stevilo[SEZNAMstevil]; // seznam v katerega zapisemo vsa stevila
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[seznamIndex] = (stevilo[seznamIndex] * 10) + (znak - '0');
}
else if (znak == ','){
if(seznamIndex < SEZNAMstevil -1) seznamIndex ++;
}
else {
Serial.print("Seznam stevil: ");
Serial.println(seznamIndex + 1);
for (int i = 0; i <= seznamIndex; i++){
Serial.print(stevilo[i]);
Serial.print(",");
stevilo[i] = 0; // lahko preberemo naslednji niz števil
}
seznamIndex = 0; //preberemo nova tri stevila
}
}
}
///////////////////////////////////////////
/*
//Preko serijskega porta preberi niz znakov (5 števil) in jih zapiši v seznam (tipa char).
//Končni seznam pretvori v celo število.
int ledPin = 11;
int utrip;
char seznam[6]; // seznam znakov
int index = 0; // indeks seznama
void setup(){
Serial.begin(9600);
Serial.println("Vpiši niz števil:");
pinMode(ledPin, OUTPUT);
}
void loop(){
if (Serial.available()){
char znak = Serial.read();
if( index < 5 && znak >='0' && znak <='9'){
seznam[index++] = znak;
}
else {
seznam[index] = 0; // seznam aključimo z 0
utrip = atoi(seznam); // pretvorba stringa v integer
Serial.println(utrip);
index = 0;
}
}
utripanje(utrip);
}
void utripanje(int x){
digitalWrite(ledPin, HIGH);
delay(x);
digitalWrite(ledPin, LOW);
delay(x);
}
*/
///////////////////////////////////////////////////////
/* Program prebere ASCII znak
// 1 - izpiše se 1 - utrip 1x
// 2 izpiše se 2 - utrip 2x
// + izpiše se + - LED on
// + izpiše se + - LED off
int ledPin = 11;
void setup(){
Serial.begin(9600);
pinMode(ledPin, OUTPUT);
Serial.println("Vpiši znak");
}
void loop(){
if( Serial.available()){
char znak = Serial.read();
switch(znak) {
case '1':
Serial.println("ena");
utripanje();
break;
case '2':
Serial.println("dve");
utripanje();
utripanje();
break;
case '+':
Serial.println("+");
digitalWrite(ledPin, HIGH);
break;
case '-':
Serial.println("-");
digitalWrite(ledPin, LOW);
break;
default :
Serial.println("Ni pravi znak.");
break;
}
}
}
void utripanje(){
digitalWrite(ledPin, HIGH);
delay(200);
digitalWrite(ledPin, LOW);
delay(200);
}
*/
///////////////////////////////////////////////////////
/* program prebere 3 znake (ASCII koda), ki jih pretvorimo v številčno vrednost
int ledPin = 11;
int utrip = 0;
int vrednost;
void setup() {
Serial.begin(9600);
Serial.println("Vpisi stevilo:");
pinMode(ledPin, OUTPUT);
}
void loop() {
if( Serial.available()) {
char znak = Serial.read();
if (znak >= '0' && znak <= '9'){ // '0' je 48
vrednost = (vrednost * 10) + (znak - '0');
}
else if (znak == 10) { // enter po ASCII je zap. št. 10
utrip = vrednost;
Serial.println(utrip);
vrednost = 0;
}
}
utripanje(utrip);
}
void utripanje(int x){
digitalWrite(ledPin, HIGH);
delay(x);
digitalWrite(ledPin,LOW);
delay(x);
}*/