MertCKA
Hectopat
- Katılım
- 1 Şubat 2019
- Mesajlar
- 194
- Çözümler
- 1
Daha fazla
- Sistem Özellikleri
- HP Victus 16 Ryzen 7 6800H | 8GB DDR5 4800MHz RAM | RTX 3050Ti 4GB | 512GB SSD
- Cinsiyet
- Erkek
- Meslek
- Öğrenci
Arkadaşlar, 2 Arduino'lu bir gaz sensörü projesi var. 1. Arduino'ya gaz sensörü ve buzzer bağlı. Gaz sensörü A0 pinine ve buzzer 9. girişe bağlı. Eşik değer ise 400. eğer gaz seviyesi 400'ü geçerse buzzer ötüyor. 2. Arduino'ya bağlı 2x16 LCD ekranda tehlike yazıyor. Eğer eşik değerin altındaysa güvenli yazması gerekiyor. Arduino 1.8. 10 sürümünü kullanıyorum. Birkaç kod denedim ama 2. Arduino'ya bir türlü veriyi gönderemedim. 2 Arduino'ya da güç gidiyor ve 1. Arduino tx, 2. Arduino RX bağlantıları ve gnd deleri birbirine bağlı. Bu sorunu nasıl çözerim? Yardımcı olursanız sevinirim.
2. Arduino.
Kod:
#include <SoftwareSerial.h>
SoftwareSerial mySerial(0,1); // RX, TX.
int esikdeger = 400;
int buzzerPin = 9;
int deger;
void setup() {
Serial.begin(9600);
mySerial.begin(9600);
pinMode(buzzerPin, OUTPUT);
}
void loop() {
deger = analogRead(A0);
if (deger > esikdeger) {
digitalWrite(buzzerPin, HIGH);
mySerial.println("TEHLIKELI");
delay(100); // İkinci Arduino'nun seri iletişimi okuması için biraz bekleme.
} else {
digitalWrite(buzzerPin, LOW);
mySerial.println("GUVENLI");
delay(100); // İkinci Arduino'nun seri iletişimi okuması için biraz bekleme.
}
}
2. Arduino.
Kod:
#include <LiquidCrystal_I2C.h>
#include <SoftwareSerial.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
SoftwareSerial mySerial(2, 3); // RX, TX.
String receivedData;
void setup() {
Serial.begin(9600);
mySerial.begin(9600);
lcd.init();
lcd.backlight();
}
void loop() {
if (mySerial.available() > 0) {
receivedData = mySerial.readStringUntil('\n');
lcd.clear();
lcd.setCursor(0, 0);
lcd.print(receivedData);
}
}
Son düzenleyen: Moderatör: