2-сабақ
Осы аптада сенсорларды Arduino мен GSM модуліне қосуды жалғастырасыз.
Алдымен Arduino IDE орнатылғанын тексеріңіз, егер орнатылмаған болса, орнатыңыз
Arduino IDE орнату бойынша бейне сабақты мына сілтемеден таба аласыз. Сілтеме
Содан кейін LiquidCrystal_I2C кітапханасын орнату керек.
Бұл кітапхананы жүктеп алу үшін сілтемені басыңыз Кітапханаға сілтеме
Кітапхананы орнату бойынша бейне сабақты мына сілтемеден таба аласыз. Сілтеме
Біз қажеттінің бәрін орнатқаннан кейін, құрылғымызды жасауға кірісейік.
1-қадам. Дисплейді arduino-ға қосыңыз
Төменде LCD дисплейді arduino-ға қосу схемасы берілген

2-қадам. Енді дисплей экранында Hello World жазуын көрсетеміз
Кітапхананы орнатқаннан кейін Arduino IDE ашыңыз және осы кодты іске қосыңыз
#include <LiquidCrystal_I2C.h> // подключаем библиотеку
#include <Wire.h>
LiquidCrystal_I2C lcd(0x27,16,2);
void setup(){
lcd.init();
lcd.backlight();
lcd.setCursor(0,0);
lcd.print("Hello World!");
}
void loop() {
}

Қадам 3. Енді біз температура мен ылғалдылық, қысым және газ сенсорын arduino-ға қосып, газ деңгейін экранда көрсетуіміз керек
Ол үшін arduino, диплей, сенсорды төмендегі суретте көрсетілгендей схемамен қосамыз.

Содан кейін кодты іске қосамыз
#include <LiquidCrystal_I2C.h>
#include <Wire.h>
#define analogsignal A0
int gas = 0;
LiquidCrystal_I2C lcd(0x27,16,2);
void setup(){
lcd.init();
lcd.backlight();
}
void loop() {
lcd.clear();
gas = analogRead(analogsignal);
lcd.setCursor(0,0);
lcd.print("Gas=");
lcd.setCursor(4,0);
lcd.print(gas);
delay(500);
}

4-қадам.
Қадам 5. Біз GSM SIM900 модулін схемамызға қосамыз
Біз GSM модулін төмендегі суретте көрсетілгендей қосамыз

Содан соң мына кодты іске қосамыз
#include<LiquidCrystal_I2C.h>
#include<Wire.h>
#include<SoftwareSerial.h>
LiquidCrystal_I2C lcd(0x27,16,2);
#define analogsignal A0
SoftwareSerial mySerial(7, 8);
int gas = 0;
voidsetup(){
lcd.init();
lcd.backlight();
pinMode(3,OUTPUT);
pinMode(4,OUTPUT);
pinMode(5,OUTPUT);
mySerial.begin(9600);
delay(1000);
mySerial.println("AT");
updateSerial();
mySerial.println("AT+CMGF=1");
updateSerial();
mySerial.println("AT+CMGS="+7xxxxxxxxxx"");// меняем хххххххххх на свой номер телефона например 77701234567
updateSerial();
mySerial.print("Auadagy gaz molsheri kobeiip ketti"); //здесь на ковычках пишем какое сообщение мы хотим получать по смс
updateSerial();
mySerial.write(26);
}
voidloop(){
lcd.clear();
gas = analogRead(analogsignal);
lcd.setCursor(0,0);
lcd.print("Gas=");
lcd.setCursor(4,0);
lcd.print(gas);
if(gas>300){ //здесь мы поставим условие если уровень газа выше 300ppm загорится красный свет и играет сигнализаия
digitalWrite(3,HIGH);
digitalWrite(4,LOW);
digitalWrite(5,HIGH);
}
else{ // иначе загорится зеленый свет
digitalWrite(3,LOW);
digitalWrite(4,HIGH);
digitalWrite(5,LOW);
}
delay(1000);
updateSerial();
}
void updateSerial()
{
delay(500);
while (Serial.available())
{
mySerial.write(Serial.read());
}
while(mySerial.available())
{
Serial.write(mySerial.read());
}
}
