Несколько операторов If
Я использую следующий код для своего проекта Arduino, в котором мне нужно управлять двигателем постоянного тока с помощью Arduino Uno с помощью текстовых сообщений. Мой вопрос заключается в том, что я использовал несколько операторов «If» и только один оператор else в конце. Я скомпилировал этот код и не получил никаких ошибок. Можно ли использовать несколько операторов If один за другим, не используя else после каждого if?
#include <LiquidCrystal595.h>
#include <GSM.h>
GSM gsmAccess;
GSM_SMS sms;
char sendernumber[20];
int Enable_m=11;
int Control_2=12;
int Control_7=10;
LiquidCrystal595 lcd(7,8,9);
void setup()
{
Serial.begin(9600);
pinMode(Enable_m,OUTPUT);
pinMode(Control_2,OUTPUT);
pinMode(Control_7,OUTPUT);
digitalWrite(Enable_m,LOW);
digitalWrite(Control_2,LOW);
digitalWrite(Control_7,LOW);
lcd.begin(16,2);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Hello");
lcd.setCursor(0,1);
lcd.print("Everyone");
delay(2000);
while (!Serial)
Serial.println("SMS Messages Receiver");
boolean notConnected = true;
while(notConnected)
{
if(gsmAccess.begin("0000")==GSM_READY)
notConnected = false;
else
{
Serial.println("Not connected");
delay(1000);
}
}
Serial.println("GSM initialized");
Serial.println("Waiting for messages");
}
void loop() {
// put your main code here, to run repeatedly:
char c;
int val=0;
val=digitalRead(Enable_m);
if (val==LOW){
digitalWrite(Enable_m,HIGH);
}
if (sms.available())
{
Serial.println("Message received from:");
sms.remoteNumber(sendernumber, 20);
Serial.println(sendernumber);
if(sms.peek()=='#')
{
Serial.println("Discarded SMS");
sms.flush();
}
while(c=sms.read())
if(c=='motoroff'){
analogWrite(Enable_m, 0);
digitalWrite(Control_2,LOW);
digitalWrite(Control_7,LOW);
}
if(c=='motoronclockwise'){
analogWrite(Enable_m, 255);
digitalWrite(Control_2,LOW);
digitalWrite(Control_7,HIGH);
}
if(c=='motoronanticlockwise'){
analogWrite(Enable_m, 255);
digitalWrite(Control_2,HIGH);
digitalWrite(Control_7,LOW);
}
if(c=='speedhalf'){
analogWrite(Enable_m, 128);
digitalWrite(Control_2,LOW);
digitalWrite(Control_7,HIGH);
}
if(c=='speedquarter'){
analogWrite(Enable_m, 65);
digitalWrite(Control_2,LOW);
digitalWrite(Control_7,HIGH);
}
if(c=='speed75'){
analogWrite(Enable_m, 192);
digitalWrite(Control_2,LOW);
digitalWrite(Control_7,HIGH);
}
else{
digitalWrite(Enable_m,HIGH);
Serial.print(c);
}
Serial.println("\nEND OF MESSAGE");
sms.flush();
Serial.println("MESSAGE DELETED");
}
}
@Awais Saifi, 👍1
0
Смотрите также:
- Проблема с получением SMS - GSM-модуль Arduino Uno и SIM900A
- Мини-модем SIM900a, IMEI 0, помощь с контактами TX RX
- Как получить данные из базы данных моего сервера в переменную в моем Arduino?
- Как отправить команду AT на sim800l с помощью SoftwareSerial
- SIM800L не регистрируется в сети
- Как проверить, работает ли GSM-модуль?
- Как отправлять сообщения на несколько номеров с помощью модуля Arduino uno и SIM800?
- Клиент MQTT на Arduino + SIM900