Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <LiquidCrystal.h> // Подключаем библиотеки
- #include <Servo.h>
- LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
- Servo servo;
- int timer = 1; // Указываем все необходимые переменные
- int parts = 5;
- float turn = 1;
- int position = 0;
- int counter = 0;
- int data_rcvd = 0;
- bool is_working = true;
- void setup()
- {
- Serial.begin(9600);
- while (!Serial) // Ожидаем инициализации UART
- {}
- servo.attach(13);
- lcd.begin(16, 2);
- menu();
- lcd.print("Hey! Look at the");
- lcd.setCursor(0,1);
- lcd.print(" console!");
- lcd.home();
- }
- void loop()
- {
- if(Serial.available())
- {
- data_rcvd = Serial.parseInt(); // Принимаем число
- switch (data_rcvd)
- {
- case 0:
- {
- turn = 180/parts; // Рассчитываем кол-во градусов
- servo.write(0);
- lcd.clear();
- lcd.print("Working!");
- while (is_working == true)
- {
- delay(timer * 1000);
- position += turn;
- servo.write(position);
- counter++;
- if (counter >= parts)
- {
- lcd.clear();
- lcd.print("Done! The bowl "); // Сообщение о конце работы
- lcd.setCursor(0,1);
- lcd.print(" must be empty!");
- lcd.home();
- break;
- }
- }
- menu();
- break;
- }
- case 1:
- {
- is_working = true;
- Serial.println("\nEnter time in seconds for mechanism to turn\n"); // Просим ввести таймер
- while (is_working == true){
- if(Serial.available())
- {
- data_rcvd = Serial.parseInt();
- timer = data_rcvd;
- break;
- }
- }
- menu();
- break;
- }
- case 2:
- {
- is_working = true;
- Serial.println("\nEnter parts of the mechanism\n"); // Просим ввести части механизма
- while (is_working == true){
- if(Serial.available())
- {
- data_rcvd = Serial.parseInt();
- parts = data_rcvd;
- break;
- }
- }
- menu();
- break;
- }
- }
- }
- }
- void menu(){ // Функция, отображающая меню
- Serial.println("\nHello there!\nHere are available codes:\n");
- Serial.println("0 - start\n1 - timer\n2 - parts\n");
- Serial.print("Timer is ");
- Serial.print(timer);
- Serial.print(" and parts is ");
- Serial.print(parts);
- Serial.print("\n");
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement