// 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(115200); // 9600 je hitrost prenosa podatkov, počasnejši od tega
Serial.println("Vpisi stevilo: ");
pinMode(ledPin, OUTPUT);
}
void loop() {
if (Serial.available()) {// Serial available : ali je v buffer prišel znak
char znak = Serial.read(); // Serial read : prebere buffer in izpiše posamezen znak
if (znak >= '0' && znak <= '9') { // '0' = 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);
}*/
// program prebere ASCII znak
// 1 - izpiše se ena, - utrip 1X
// 2 - izpiše se dva, - utrip 2X
// + - izpiše se +, - LED on
// - - izpiše se -, - LED off
/*int ledPin = 11;
int utrip = 0;
int vrednost;
void setup() {
Serial.begin(115200);
Serial.println("Vpisi stevilo: ");
pinMode(ledPin, OUTPUT);
}
void loop() {
if (Serial.available()) {
char znak = Serial.read();
switch (znak) {
case '1':
Serial.println("Ena");
utripanje();
break;
case '2':
Serial.println("Dva");
utripanje();
utripanje();
break;
case '+':
Serial.println("+");
digitalWrite(ledPin, HIGH);
break;
case '-':
Serial.println("-");
digitalWrite(ledPin, LOW);
break;
case '\n':
Serial.println("Ty");
break;
default:
Serial.println("Ni pravi znak.");
break;
}
}
}
void utripanje() {
digitalWrite(ledPin, HIGH);
delay(500);
digitalWrite(ledPin, LOW);
delay(500);
}*/
// preko serijskega porta preberi niz znakov (5 števil) in jih napiš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 seznam
void setup() {
Serial.begin(115200);
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 zaključimo z 0
utrip = atoi(seznam); // pretvorba str v int
Serial.println(utrip);
index = 0;
}
}
utripanje (utrip);
}
void utripanje (int x) {
digitalWrite(ledPin, HIGH);
delay(x);
digitalWrite(ledPin, LOW);
delay(x);
}*/
//preberi tri števila, ki so ločena z vejico (45,123,35)
#define SEZNAMstevil 3
int seznamIndex = 0; // indeks stevila, locenega z vejico
int stevilo[SEZNAMstevil]; // seznam, v katerega zapišemo vsa števila
void setup() {
Serial.begin(9600);
Serial.println("Vpiši tri števila, ločena 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.println(stevilo[i]);
stevilo[i] = 0; // lahko preberemo naslednji niz števil
}
seznamIndex = 0; // preberemo nova tri števila
}
}
}