init commit
This commit is contained in:
42
mc-serial/mc-serial.ino
Normal file
42
mc-serial/mc-serial.ino
Normal file
@@ -0,0 +1,42 @@
|
|||||||
|
#define UV_SIGNAL_READ 34 // PUT_YOUR_SIGNAL_GPIO_HERE
|
||||||
|
|
||||||
|
// -- lv0 lv1 lv2 lv3 lv4 lv5 lv6 lv7 lv8
|
||||||
|
int uvLevelValues[] = {0x00,0x04,0x0B,0x14,0x1F,0x2F,0x4D,0x77,0x8C};
|
||||||
|
int uvSignalToLevel[] =
|
||||||
|
{
|
||||||
|
//Less than lv1 is 0
|
||||||
|
100,// lv1
|
||||||
|
250,// lv2
|
||||||
|
350,// lv3
|
||||||
|
500,// lv4
|
||||||
|
550,// lv5
|
||||||
|
650,// lv6
|
||||||
|
800,// lv7
|
||||||
|
900,// or higher lv8
|
||||||
|
};
|
||||||
|
|
||||||
|
int convertToLevel(int signalRead){
|
||||||
|
for(int i = 0; i < sizeof(uvSignalToLevel)/sizeof(int) ; i++){
|
||||||
|
if(signalRead < uvSignalToLevel[i]){
|
||||||
|
return uvLevelValues[i];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return uvLevelValues[(sizeof(uvSignalToLevel)/sizeof(int))-1];
|
||||||
|
}
|
||||||
|
|
||||||
|
void setup() {
|
||||||
|
Serial.begin(9600);
|
||||||
|
if(sizeof(uvSignalToLevel)!=sizeof(uvLevelValues)-sizeof(int)){
|
||||||
|
while(true){
|
||||||
|
Serial.print("Level size mismatch!");
|
||||||
|
delay(1000);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void loop() {
|
||||||
|
int value = analogRead(UV_SIGNAL_READ);
|
||||||
|
value = convertToLevel(value);
|
||||||
|
Serial.println(value);
|
||||||
|
delay(500);
|
||||||
|
}
|
||||||
67
mc-wifi/mc-wifi.ino
Normal file
67
mc-wifi/mc-wifi.ino
Normal file
@@ -0,0 +1,67 @@
|
|||||||
|
#include <WiFi.h>
|
||||||
|
|
||||||
|
#define UV_SIGNAL_READ 34
|
||||||
|
|
||||||
|
#define ssid "YOUR_WIFI_NAME_HERE"
|
||||||
|
#define pass "YOUR_WIFI_PASSWORD_HERE"
|
||||||
|
|
||||||
|
#define host "YOUR_COMPUTER_IP_HERE" // Example: 192.168.1.2
|
||||||
|
#define port 64222 // NO NEED TO CHANGE
|
||||||
|
|
||||||
|
WiFiClient client;
|
||||||
|
|
||||||
|
|
||||||
|
// -- lv0 lv1 lv2 lv3 lv4 lv5 lv6 lv7 lv8
|
||||||
|
int uvLevelValues[] = {0x00,0x04,0x0B,0x14,0x1F,0x2F,0x4D,0x77,0x8C};
|
||||||
|
int uvSignalToLevel[] =
|
||||||
|
{
|
||||||
|
//Less than lv1 is 0
|
||||||
|
100,// lv1
|
||||||
|
250,// lv2
|
||||||
|
350,// lv3
|
||||||
|
500,// lv4
|
||||||
|
550,// lv5
|
||||||
|
650,// lv6
|
||||||
|
800,// lv7
|
||||||
|
900,// or higher lv8
|
||||||
|
};
|
||||||
|
|
||||||
|
int convertToLevel(int signalRead){
|
||||||
|
for(int i = 0; i < sizeof(uvSignalToLevel)/sizeof(int) ; i++){
|
||||||
|
if(signalRead < uvSignalToLevel[i]){
|
||||||
|
return uvLevelValues[i];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return uvLevelValues[(sizeof(uvSignalToLevel)/sizeof(int))-1];
|
||||||
|
}
|
||||||
|
|
||||||
|
void setup() {
|
||||||
|
Serial.begin(9600); // Start serial communication
|
||||||
|
if(sizeof(uvSignalToLevel)!=sizeof(uvLevelValues)-sizeof(int)){
|
||||||
|
while(true){
|
||||||
|
Serial.print("Level size mismatch!");
|
||||||
|
delay(1000);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
WiFi.begin(ssid, pass);
|
||||||
|
while (WiFi.status() != WL_CONNECTED) {
|
||||||
|
delay(500);
|
||||||
|
Serial.print(".");
|
||||||
|
}
|
||||||
|
Serial.print("Connected to WiFi");
|
||||||
|
Serial.print("Connecting to mGBA...");
|
||||||
|
|
||||||
|
if (!client.connect(host, port)) {
|
||||||
|
Serial.println("Connection to server failed");
|
||||||
|
}
|
||||||
|
Serial.print("Connected to mGBA...");
|
||||||
|
}
|
||||||
|
|
||||||
|
void loop() {
|
||||||
|
int value = analogRead(UV_SIGNAL_READ);
|
||||||
|
//Serial.println(value); // Print the value to Serial Monitor
|
||||||
|
value = convertToLevel(value);
|
||||||
|
client.print(value);
|
||||||
|
delay(500); // Wait for half a second
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user