daily pastebin goal
52%
SHARE
TWEET

sterownik_pralki

a guest Jun 13th, 2018 55 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <LiquidCrystal.h>
  2.  
  3. LiquidCrystal lcd(2, 3, 4, 5, 6, 7);
  4.  
  5. int silnik=0;
  6. int moc=0;
  7. int czas=0;
  8. double x;
  9. int temp=30;
  10. int obr=600;
  11. int tryb=0;
  12. int EnB=8;
  13. int En4=9;
  14. int En3=10;
  15. int Przyc=11;
  16. int s;
  17.  
  18. void setup(){
  19.  
  20.   Serial.begin(9600);
  21.   lcd.begin(16, 2); //Deklaracja typu
  22.  
  23.   pinMode(EnB,OUTPUT);
  24.   pinMode(En4,OUTPUT);
  25.   pinMode(En3,OUTPUT);
  26.  
  27.   digitalWrite(EnB,LOW);
  28.   digitalWrite(En4,LOW);
  29.   digitalWrite(En3,LOW);
  30.  
  31.   pinMode(Przyc,INPUT_PULLUP);
  32.   ekran_powitalny();
  33.  
  34.   digitalWrite(Przyc,HIGH);
  35.   delay(200);
  36.  
  37.   while(digitalRead(Przyc)==HIGH){
  38.  
  39.   Tryb();
  40.  
  41.   //lcd.setCursor(14,1);
  42.   //lcd.print(tryb);
  43.   delay(100);
  44.   }
  45.   delay(200);
  46.   lcd.clear();
  47.  
  48.   wyswietlanie_menu_wyboru();
  49.   x=0;  
  50.  
  51.   digitalWrite(Przyc,HIGH);
  52.   delay(200);
  53.   while(digitalRead(Przyc)==HIGH){
  54.    
  55.   Tempt();
  56.  
  57.   lcd.setCursor(5,0);
  58.   lcd.print(temp);
  59.   delay(100);
  60.   }
  61.   x=0;
  62.  
  63.   digitalWrite(Przyc,HIGH);
  64.   delay(200);
  65.   while(digitalRead(Przyc)==HIGH){
  66.    
  67.   Obroty();
  68.  
  69.   lcd.setCursor(5,1);
  70.   lcd.print(obr);
  71.   delay(200);
  72.   }
  73.   lcd.clear();  
  74.  
  75.   switch(tryb){
  76.     case 1:
  77.     Tryb1();
  78.     break;
  79.  
  80.     case 2:
  81.     Tryb2();
  82.     break;
  83.  
  84.     case 3:
  85.     Tryb3();
  86.     break;
  87.    
  88.     case 4:
  89.     Tryb4();
  90.     break;
  91.    
  92.     case 5:
  93.     Tryb5();
  94.     break;
  95.    
  96.     case 6:
  97.     Tryb6();
  98.     break;
  99.   }
  100.   lcd.setCursor(4,0);
  101.   lcd.print("Gotowe!!!");
  102.   delay(1000);
  103. }
  104.  
  105. void loop(){
  106. }
  107. void Silnik(int wart, int kierunek){
  108.    
  109.   if(kierunek==0){
  110.     digitalWrite(En3,0);
  111.     digitalWrite(En4,1);
  112.     analogWrite(EnB,wart);
  113.   }else{
  114.     digitalWrite(En3,1);
  115.     digitalWrite(En4,0);
  116.     analogWrite(EnB,wart);
  117.   }
  118. }
  119. void Tempt(){
  120.  
  121.     x=analogRead(A5);
  122.     if((x>=0)&&(x<256)){
  123.       temp=30;
  124.     }
  125.     if((x>255)&&(x<512)){
  126.       temp=40;
  127.     }
  128.     if((x>511)&&(x<768)){
  129.       temp=60;
  130.     }
  131.     if((x>766)&&(x<1024)){
  132.       temp=90;
  133.     }
  134. }
  135. void Obroty(){
  136.  
  137.     x=analogRead(A5);
  138.     if((x>=0)&&(x<256)){
  139.       obr=600;
  140.       silnik=150;
  141.     }
  142.     if((x>255)&&(x<512)){
  143.       obr=700;
  144.       silnik=170;
  145.     }
  146.     if((x>511)&&(x<768)){
  147.       obr=800;
  148.       silnik=180;
  149.     }
  150.     if((x>766)&&(x<1024)){
  151.       obr=900;
  152.       silnik=200;
  153.     }
  154. }
  155. void Tryb(){
  156.  
  157.     x=analogRead(A5);
  158.     if((x>=0)&&(x<171)){
  159.       tryb=1;
  160.       lcd.setCursor(0,0);
  161.       lcd.print("Pranie wstepne");  
  162.     }lcd.clear();  
  163.     if((x>170)&&(x<340)){
  164.       tryb=2;
  165.       lcd.setCursor(0,0);
  166.       lcd.print("Pranie zasadnicze");
  167.     }lcd.clear();  
  168.     if((x>341)&&(x<512)){
  169.       tryb=3;
  170.       lcd.setCursor(0,0);
  171.       lcd.print("Pranie zasadnicze");
  172.     }lcd.clear();  
  173.     if((x>513)&&(x<684)){
  174.       tryb=4;
  175.       lcd.setCursor(0,0);
  176.       lcd.print("Plukanie");
  177.     }lcd.clear();  
  178.     if((x>683)&&(x<853)){
  179.       tryb=5;
  180.       lcd.setCursor(0,0);
  181.       lcd.print("Wirowanie");
  182.     }lcd.clear();  
  183.     if((x>854)&&(x<1024)){
  184.       tryb=6;
  185.       lcd.setCursor(0,0);
  186.       lcd.print("Suszenie");
  187.     }lcd.clear();  
  188. }
  189. void Tryb2(){
  190.  
  191.   for(czas=10;czas>=0;czas--){
  192.     Silnik(silnik,0);
  193.     Serial.println(czas);
  194.     lcd.setCursor(0,0);
  195.     lcd.print("Pranie wstepne");
  196.     wyswietlanie_czasu();
  197.     delay(1000);
  198.   }
  199.   Silnik(0,0);
  200.   lcd.clear();  
  201.   czas=0;
  202. }
  203. void Tryb3(){
  204.  
  205.   for(czas=10;czas>=0;czas--){
  206.     Silnik(silnik,czas%2);
  207.     Serial.println(czas);
  208.     lcd.setCursor(0,0);
  209.     lcd.print("Pranie zasadnicze");
  210.     wyswietlanie_czasu();
  211.     delay(1000);
  212.   }
  213.   lcd.clear();  
  214.   czas=0;
  215.   Silnik(0,0);
  216. }
  217. void Tryb4(){
  218.  
  219.   for(czas=4;czas>=0;czas--){
  220.     Silnik(silnik,czas%2);
  221.     obr=200;
  222.     temp=30;
  223.     Serial.println(czas);
  224.     lcd.setCursor(0,0);
  225.     lcd.print("Plukanie");
  226.     wyswietlanie_czasu();
  227.     delay(1000);
  228.   }
  229.   lcd.clear();  
  230.   czas=0;
  231.   Silnik(0,0);
  232. }
  233. void Tryb5(){
  234.  
  235.   for(czas=10;czas>=0;czas--){
  236.     Silnik(silnik,0);
  237.     obr=900;
  238.     temp=30;
  239.     Serial.println(czas);
  240.     lcd.setCursor(0,0);
  241.     lcd.print("Wirowanie");
  242.     wyswietlanie_czasu();
  243.     delay(1000);
  244.   }
  245.   lcd.clear();  
  246.   czas=0;
  247.   Silnik(0,0);
  248. }
  249.   void Tryb6(){
  250.  
  251.   for(czas=10;czas>=0;czas--){
  252.     Silnik(silnik,czas%2);
  253.     obr=500;
  254.     Serial.println(czas);
  255.     lcd.setCursor(0,0);
  256.     lcd.print("Suszenie");
  257.     wyswietlanie_czasu();
  258.     delay(1000);
  259.   }
  260.   Silnik(0,0);
  261.   lcd.clear();  
  262.   czas=0;
  263. }
  264. void Tryb1(){
  265.  
  266.   Tryb2();
  267.   delay(500);
  268.   Tryb3();
  269.   delay(500);
  270.   Tryb4();
  271.   delay(500);
  272.   Tryb5();
  273.   delay(500);
  274.   Tryb6();
  275.   delay(500);
  276. }
  277.  
  278. void ekran_powitalny(){
  279.   lcd.clear();
  280.   lcd.setCursor(6,0);
  281.   lcd.print("MEiL");
  282.   lcd.setCursor(3,1);
  283.   lcd.print("Industries");
  284.   delay(3000);
  285.   lcd.clear();
  286.  
  287.   lcd.setCursor(5,0);
  288.   lcd.print("Witaj!");
  289.   lcd.setCursor(0,1);
  290.   lcd.print("Wybierz tryb:");
  291. }
  292.  
  293. void wyswietlanie_menu_wyboru(){
  294.  
  295.   lcd.setCursor(0, 0); //Ustawienie kursora
  296.   lcd.print("temp "); //Wyúwietlenie tekstu
  297.   lcd.setCursor(7,0);
  298.   lcd.print("*C");
  299.   lcd.setCursor(0, 1); //Ustawienie kursora
  300.   lcd.print("obr "); //Wyúwietlenie tekstu
  301.   lcd.setCursor(8, 1); //Ustawienie kursora
  302.   lcd.print("rpm"); //Wyúwietlenie tekstu
  303. }
  304.  
  305. void wyswietlanie_czasu(){
  306.   lcd.setCursor(5,1);
  307.   lcd.print("  ");
  308.   lcd.setCursor(5,1);
  309.   lcd.print(czas);
  310.   lcd.setCursor(7,1);
  311.   lcd.print("sek");
  312. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top