จะทำ CODE นี้ ให้ขึ้น บน blynk ต้องทำยังไงบ้างครับ

#include <LiquidCrystal_I2C.h>
#include <ESP8266WiFi.h>
#include <TridentTD_LineNotify.h>
#include <blynk
LiquidCrystal_I2C lcd(0x27, 16, 2); //ถ้าจอไม่แสดงผล ให้ลองเปลี่ยน 0x3F เป็น 0x27
#define SSID “Jamebiker_2G” // บรรทัดที่ 11 ให้ใส่ ชื่อ Wifi ที่จะเชื่อมต่อ
#define PASSWORD “109632499” // บรรทัดที่ 12 ใส่ รหัส Wifi
#define LINE_TOKEN “AcjaVUDW1ZrnQbNWFOGuuO5wFgWfHjYHZdG1iqKz8lu” // บรรทัดที่ 13 ใส่ รหัส TOKEN ที่ได้มาจากข้างบน

// Choose program options.
//#define PRINT_RAW_DATA
#define USE_AVG

// Arduino pin numbers.
const int sharpLEDPin = D0; // Arduino digital pin 7 connect to sensor LED.
const int sharpVoPin = A0; // Arduino analog pin 5 connect to sensor Vo.

// For averaging last N raw voltage readings.
#ifdef USE_AVG
#define N 100
static unsigned long VoRawTotal = 0;
static int VoRawCount = 0;
#endif // USE_AVG

// Set the typical output voltage in Volts when there is zero dust.
static float Voc = 0.6;

// Use the typical sensitivity in units of V per 100ug/m3.
const float K = 0.5;

/////////////////////////////////////////////////////////////////////////////

// Helper functions to print a data value to the serial monitor.
void printValue(String text, unsigned int value, bool isLast = false) {
Serial.print(text);
Serial.print("=");
Serial.print(value);
if (!isLast) {
Serial.print(", “);
}
}
void printFValue(String text, float value, String units, bool isLast = false) {
Serial.print(text);
Serial.print(”=");
Serial.print(value);
Serial.print(units);
if (!isLast) {
Serial.print(", ");
}
}

/////////////////////////////////////////////////////////////////////////////

// Arduino setup function.
void setup() {
// Set LED pin for output.
pinMode(sharpLEDPin, OUTPUT);

// Start the hardware serial port for the serial monitor.
Serial.begin(9600);

// Wait two seconds for startup.
delay(2000);
Serial.println("");
Serial.println(“GP2Y1014AU0F Demo”);
Serial.println("=================");
lcd.init();
lcd.backlight(); // เปิดไฟ backlight
Serial.begin(9600); Serial.println();
Serial.println(LINE.getVersion());

WiFi.begin(SSID, PASSWORD);
Serial.printf(“WiFi connecting to %s\n”, SSID);
while (WiFi.status() != WL_CONNECTED) {
Serial.print(".");
delay(400);
}
Serial.printf("\nWiFi connected\nIP : ");
Serial.println(WiFi.localIP());

// กำหนด Line Token
LINE.setToken(LINE_TOKEN);

// ตัวอย่างส่งข้อความ
//LINE.notify(“อุณหภูมิ เกินกำหนด”);
//LINE.notify(“myarduino.net”);
// ตัวอย่างส่งข้อมูล ตัวเลข
//LINE.notify(2342); // จำนวนเต็ม
//LINE.notify(212.43434, 5); // จำนวนจริง แสดง 5 หลัก

// เลือก Line Sticker ได้จาก https://devdocs.line.me/files/sticker_list.pdf
//LINE.notifySticker(3, 240); // ส่ง Line Sticker ด้วย PackageID 3 , StickerID 240
//LINE.notifySticker(“Hello”, 1, 2); // ส่ง Line Sticker ด้วย PackageID 1 , StickerID 2 พร้อมข้อความ

// ตัวอย่างส่ง รูปภาพ ด้วย url
//LINE.notifyPicture(“https://preview.ibb.co/j6G51n/capture25610417181915334.png”);
//LINE.notifyPicture(“จตุธาตุ”, “https://www.fotoaparat.cz/storage/pm/09/10/23/670915_a5351.jpg”);

}

// Arduino main loop.
void loop() {
// Turn on the dust sensor LED by setting digital pin LOW.
digitalWrite(sharpLEDPin, LOW);

// Wait 0.28ms before taking a reading of the output voltage as per spec.
delayMicroseconds(280);

// Record the output voltage. This operation takes around 100 microseconds.
int VoRaw = analogRead(sharpVoPin);

// Turn the dust sensor LED off by setting digital pin HIGH.
digitalWrite(sharpLEDPin, HIGH);

// Wait for remainder of the 10ms cycle = 10000 - 280 - 100 microseconds.
delayMicroseconds(9620);

// Print raw voltage value (number from 0 to 1023).
#ifdef PRINT_RAW_DATA
printValue(“VoRaw”, VoRaw, true);
Serial.println("");
#endif // PRINT_RAW_DATA

// Use averaging if needed.
float Vo = VoRaw;
#ifdef USE_AVG
VoRawTotal += VoRaw;
VoRawCount++;
if ( VoRawCount >= N ) {
Vo = 1.0 * VoRawTotal / N;
VoRawCount = 0;
VoRawTotal = 0;
} else {
return;
}
#endif // USE_AVG

// Compute the output voltage in Volts.
Vo = Vo / 1024.0 * 5.0;
printFValue(“Vo”, Vo*1000.0, “mV”);

// Convert to Dust Density in units of ug/m3.
float dV = Vo - Voc;
if ( dV < 0 ) {
dV = 0;
Voc = Vo;
}
float dustDensity = dV / K * 100.0;
printFValue(“DustDensity”, dustDensity, “ug/m3”, true);
Serial.println(dustDensity);
Serial.println(“ug/m3”);
delayMicroseconds(100);
lcd.setCursor(0, 0); // ไปที่ตัวอักษรที่ 4 บรรทัดที่ 0
lcd.print(dustDensity);
lcd.setCursor(2, 1); // ไปที่ตัวอักษรที่ 0 บรรทัดที่ 1
lcd.print(“ug/m3”);
// ตัวอย่างส่งข้อความ
LINE.notify(dustDensity);
LINE.notify(“ug/m3”);
} // END PROGRAM

แล้วก็อธิบายสักหน่อยครับว่า โค้ตนี้เอาไว้ทำอะไร หรือต้องการทำอะไร