Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "rgb_lcd.h"
- rgb_lcd lcd;
- struct
- {
- int czas_ostatniej_zmiany;
- int stan;
- }dioda;
- int pindiode=6;
- int pinTemp=4;
- int pinBuzz=7;
- void setup()
- {
- lcd.begin(16,2);
- lcd.setRGB(5,255,50);
- lcd.display();
- dioda.stan=LOW;
- dioda.czas_ostatniej_zmiany = millis();
- pinMode(pinBuzz, OUTPUT);
- Serial.begin(9600);
- Serial.println("komenda: ");
- }
- //dioda
- int dioda_konsola(String konsola)
- {
- if(konsola.startsWith("dioda ")){
- String h = konsola.substring(5);
- int s = h.toInt();//read int or parseFloat for ..float...
- Serial.println("komenda: ");
- return s;
- }
- if(konsola.startsWith("dioda stop")){
- int s=0;
- Serial.println("komenda: ");
- return s;
- }
- }
- void obluga_diody(int f)
- {
- int czas = f * 500;
- int uplynelo = millis() - dioda.czas_ostatniej_zmiany;
- if(uplynelo >= czas)
- {
- dioda.stan = !dioda.stan;
- dioda.czas_ostatniej_zmiany=millis();
- digitalWrite(pindiode,dioda.stan);
- }
- }
- //temperatura
- int temperatura_konsola (String konsola){
- if(konsola.startsWith("temperatura K")){
- temperatura(273);
- Serial.println("komenda: ");
- }
- if(konsola.startsWith("temperatura C")){
- temperatura(0);
- Serial.println("komenda: ");
- }
- }
- void temperatura(int k){
- float temp = analogRead(pinTemp); //Read the analog pin
- temp = temp * 0.048828125; // convert output (mv) to readable celcius
- temp = temp + k ;
- Serial.print("Temperature:");
- Serial.print(temp);
- if(k){
- Serial.println(" K"); //print the temperature status
- }
- if(k == 0){
- Serial.println(" 'C"); //print the temperature status
- }
- delay(1000);
- }
- //buzzer
- int bzz_f(String konsola){
- if(konsola.startsWith("dzwiek ")){
- String s = konsola.substring(7);
- int f = s.toInt();//czestotliwosc
- Serial.println("komenda: ");
- return f;
- }
- }
- int bzz_t(String konsola){
- if(konsola.endsWith("razy ")){
- String s = s.substring(17);
- int t = s.toInt();//ile razy
- Serial.println("komenda: ");
- return t;
- }
- }
- int bzz_p(String konsola){
- if(konsola.endsWith("pauza ")){
- String s = s.substring(17);
- int p = s.toInt();//ile razy
- Serial.println("komenda: ");
- return p;
- }
- }
- void bzz(int f, int r, int p)
- {
- if(r){
- for(int j = 0; j < r; j++){
- tone(pinBuzz,f);
- delay(p);
- }
- }
- else {
- tone(pinBuzz,f);
- delay(p);
- }
- }
- //lcd
- void loop(){
- String konsola = Serial.readString();
- int a;
- if(konsola){
- int s = dioda_konsola(konsola);
- int b[3] = {bzz_f(konsola), bzz_t(konsola), bzz_p(konsola)};
- if(s){
- obluga_diody(s);
- }
- bzz(b[0],b[1],b[2]);
- if(konsola.startsWith("dzwiek stop")){
- a = 0;
- Serial.println(a);
- }
- if(a == 0)
- {
- b[0] = 0;
- noTone(pinBuzz);
- }
- temperatura_konsola(konsola);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement