2 Arduino'nun seri haberleşmesi nasıl sağlanır?

MertCKA

Hectopat
Katılım
1 Şubat 2019
Mesajlar
192
Çö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.

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:
Birinci Arduino'daki PWM pinlerini kullanarak gaz değerine göre PWM sinyali üretin ve ikinci Arduino'dan değişen değerleri okuyarak bu değerlere göre de LCD ekrana bir şeyler yazabilirsiniz.
 

Yeni konular

Geri
Yukarı