#include <WiFi.h>
#include <WiFiClient.h>
#include <Adafruit_MPU6050.h>
#include <Adafruit_Sensor.h>
#include <Wire.h>
#include "ThingSpeak.h"
#include <LiquidCrystal_I2C.h>
#include <freertos/FreeRTOS.h>
#include <freertos/task.h>
#define pinBuzzer 18
int LEDmerah = 23;
int LEDhijau = 19;
WiFiClient client;
String thingSpeakAddress = "api.thingspeak.com";
String writeAPIKey;
String tsfield1Name;
String request_string;
LiquidCrystal_I2C lcd(0x27, 20, 4);
Adafruit_MPU6050 mpu;
void mpu6050Task(void *parameter);
void kirimThingspeakTask(void *parameter);
void setup()
{
pinMode(LEDmerah, OUTPUT); // Set LEDmerah sebagai output
pinMode(LEDhijau, OUTPUT); // Set LEDhijau sebagai output
Serial.begin(115200);
// Koneksi Wifi
WiFi.disconnect();
WiFi.begin("Wokwi-GUEST", "");
while (!(WiFi.status() == WL_CONNECTED))
{
delay(300);
Serial.print(".");
}
Serial.println("");
Serial.println("WiFi connected");
Serial.println("IP address: ");
Serial.println(WiFi.localIP());
// Koneksi mpu6050
if (!mpu.begin())
{
Serial.println("Failed to find MPU6050 chip");
while (1)
{
delay(10);
}
}
mpu.setAccelerometerRange(MPU6050_RANGE_16_G);
mpu.setGyroRange(MPU6050_RANGE_250_DEG);
mpu.setFilterBandwidth(MPU6050_BAND_21_HZ);
Serial.println("");
delay(100);
lcd.init();
lcd.backlight();
// Create tasks
xTaskCreatePinnedToCore(
mpu6050Task, // Task function
"mpu6050Task", // Task name
4096, // Stack size (bytes)
NULL, // Task parameter
1, // Task priority
NULL, // Task handle
0); // Run on core 0
xTaskCreatePinnedToCore(
kirimThingspeakTask, // Task function
"kirimThingspeakTask", // Task name
4096, // Stack size (bytes)
NULL, // Task parameter
1, // Task priority
NULL, // Task handle
0); // Run on core 0
}