Data Science: Weather Prediction

Andiichsn
Amikom Computer Club
2 min readApr 23, 2022
Sensors – AMIKOM Computer Club – Medium

Halo gaesss, Assalamu’alaikum Warrahmatullahi Wabarakatuh… Di sini ada yang baru nih… apaan ya? Yuk langsung saja,

Untuk rangkaiannya seperti ini yaa, ada 2 Arduino… yang sebelah kiri sebagai Transmitter (pengirim) dan di sebelah kanan Receiver (penerima)

Di rangkaian sebelah kiri (Transmitter):

tmp36: Sensor suhu

Arduino: Microcontroller R3 UNO

Di rangkaian sebelah kanan (Receiver):

LED: lampu

LCD 16x2: Liquid Crystal

Buzzer: Pengeluar Suara

Arduino: Microcontroller R3 UNO

Untuk Rangkaian Programnya seperti ini:

// Transmitter

#include <SoftwareSerial.h>
#define rxPin 2
#define txPin 3

SoftwareSerial mySerial = SoftwareSerial(rxPin, txPin);
int Temp;

void setup()
{
pinMode(rxPin, INPUT);
pinMode(txPin, OUTPUT);
mySerial.begin(9600);
Serial.begin(9600);
}

void loop()
{
Temp = analogRead(A0);
Temp = map(Temp, 0, 1024, 0, 255);
Serial.println(Temp);
mySerial.write(Temp);
delay(10);
}

// Receiver

#include <SoftwareSerial.h>
#include <LiquidCrystal.h>

#define rxPin 10
#define txPin A5
SoftwareSerial mySerial = SoftwareSerial(rxPin, txPin);

#define LedGreen 7
#define LedBlue 6
#define LedRed 8

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

int Temp = 0;

void setup() {

pinMode(rxPin, INPUT);
pinMode(txPin, OUTPUT);
mySerial.begin(9600);

pinMode(LedGreen, OUTPUT);
pinMode(LedBlue, OUTPUT);
pinMode(LedRed, OUTPUT);

Serial.begin(9600);
pinMode(A1, INPUT);
pinMode(A2, OUTPUT);

lcd.begin(16, 2);
}

void loop() {
if (digitalRead(A1) == HIGH)
{
mySerial.listen();
if (mySerial.available() > 0)
{
Temp = mySerial.read();
Temp = map(Temp, 4, 89, -40, 125);

if (Temp <= 125 && Temp >= -40)
{
//Serial.println(Temp);
lcd.print(“Temperature: “);
lcd.setCursor(12, 0);
lcd.print(Temp);
lcd.setCursor(15, 0);
lcd.print(“C”);

if ( Temp >= -40 && Temp <= 0)
{
digitalWrite(LedBlue, HIGH);
digitalWrite(LedGreen, LOW);
digitalWrite(LedRed, LOW);
}
else if ( Temp > 0 && Temp <= 40)
{
digitalWrite(LedBlue, LOW);
digitalWrite(LedGreen, HIGH);
digitalWrite(LedRed, LOW);
}
else
{
digitalWrite(LedBlue, LOW);
digitalWrite(LedGreen, LOW);
digitalWrite(LedRed, HIGH);
}
if (Temp > 100) tone(A2, 10000, 100);
delay(30);
lcd.clear();
noTone(A2);
}
}
}
else
{
digitalWrite(LedBlue, LOW);
digitalWrite(LedGreen, LOW);
digitalWrite(LedRed, LOW);
noTone(A2);
}
}

Jadi kurang lebih konfigurasi nya seperti itu… Mungkin cukup sampai sini aja, terimakasih … Wassalamu’alaikum warrahmatullahi wabarakatuh..

--

--