โครงงานเครื่องหมักปุ๋ยจากเศษอาหารอัตโนมัติ
โครงงานเครื่องหมักปุ๋ยจากเศษอาหารอัตโนมัติ
Automatic fertilizer compost
“”
ที่มาและความสำคัญ
วัดไผ่ดำ จังหวัดสิงห์บุรี เป็นวัดที่มีโรงเรียนพระปริยัติธรรมอยู่ภายในวัด ทำให้มีพระภิกษุและสามเณร ประจำอยู่ภายในวัดเป็นจำนวนมาก จึงทำให้มีพุทธศาสนิกชนนำภัตตาหารมาถวายเป็นจำนวนมากและประกอบกับภายในวัดมีการประกอบภัตตราหารเพื่อถวายพระภิกษุและสามเณร จากการสังเกตในระยะเวลา 1 เดือนมีปริมาณของเศษอาหารหลังจากการฉันเหลือทิ้งเป็นจำนวนมาก
จากการศึกษา ณ เบื้องต้น พบว่า เศษอาหารที่เหลือจากการฉันภัตตาหารนั้นมีความหลากหลาย เช่น ผักและเนื้อสัตว์ เมื่อนำไปทิ้งลงในบ่อขยะจึงทำให้เกิดการหมักของเศษอาหารเป็นจำนวนมากซึ่งจะส่งกลิ่นเหม็นอันไม่พึงประสงค์ออกมา โดยเศษอาหารเหล่านี้สามารถนำมาใช้ประโยชน์ได้
จากปัญหาข้างต้นคณะผู้จัดทำจึงดำเนินการจัดทำโครงงานเรื่องเครื่องหมักปุ๋ยจากเศษอาหารขึ้นมาเพื่อช่วยลดปัญหาของเศษอาหารที่มีเป็นจำนวนมากทั้งนี้ยังสามารถใช้ประโยชน์จากเศษอาหารเหล่านั้นโดยการนำมาหมักทำเป็นปุ๋ยหมักชีวภาพและนำก๊าซชีวภาพ ที่ได้จากการหมักไปใช้ในครัวเรือนได้
วัตถุประสงค์
- เพื่อผลิตก๊าซชีวภาพจากเศษอาหาร
- เพื่อผลิตปุ๋ยชีวภาพจากเศษอาหาร
- เพื่อนำเศษอาหารมาใช้ประโยชน์
วัสดุอุปกรณ์
1.ถังน้ำขนาด 20 ml 2. Ph prop 3. หน้าจอL E D
4.ท่อPVC 5. ลวดขนาดเล็ก 6.สายออกซิเจน
7. อุปกรณ์ตรวจจับแก๊ส 8. สวิสรีเร 9.สายไฟ
10. สวิสชิ่ง 11.แท่งแก้ว
12.อาดูโน่ อูโน่ R3 13.เซนเซอร์วัดอุณหภูมิความชื้น
ผังโครงสร้าง
หลักการทำงาน
เมื่อเรานำเศษอาหารเทลงไปในถังจนมีปริมาณเกินครึ่งถังระบบเซนเซอร์ตรวจจับเศษอาหารจะทำการสแกนปริมาณของอาหารของเศษอาหารที่มีอยู่เมื่อได้ตามปริมาณที่ต้องการแล้วระบบจะทำการสั่งให้ใบพัดทำงาน ใบพัดทั้ง 2 ใบจะทำการผสมเศษอาหาร และเมื่อมีปริมาณแก๊สอัดแน่นอยู่ภายในถังเซนเซอร์ตรวจจับแก๊สก็จะทำการสั่งให้ระบบส่งแก็สไปที่ถังเก็บที่อยู่ภายในบ้านเมื่อเราต้องการที่ใช้แก๊สก็สามารถเปิดวาวแก๊สที่ต่อจากตัวถังเก็บกับเตาแก๊สได้เลย เมื่อมีปริมาณมากเกินไปเซนเซอร์จะทำงานอีกครั้งเพื่อถ่ายเทแก๊สออกสู่ชั้นบรรยากาศ
CODE คำสั่งการทำงาน
#include <Wire.h>
#include <LiquidCrystal_PCF8574.h>
#define SensorPin A1 //pH meter Analog output to Arduino Analog Input 0
#define Offset 0.00 //deviation compensate
#define samplingInterval 20
#define printInterval 800
#define ArrayLenth 40 //times of collection
#include "DHT.h"
int pHArray[ArrayLenth]; //Store the average value of the sensor feedback
int pHArrayIndex=0;
DHT dht;
LiquidCrystal_PCF8574 lcd(0x27); // set the LCD address to 0x27 for a 16 chars and 2 line display
int adcPin = 0;
int adcValue = 0;
float v;
float rs,ppm;
String status_motor = "off";
//Motor
int relay1 = 10; // ต่อกับขา in1 ของบอร์ดรีเลย์
void setup() {
int error;
dht.setup(9); // data pin 9
Serial.begin(9600);
pinMode(relay1, OUTPUT);
digitalWrite(relay1,HIGH);
Serial.println("LCD...");
while (! Serial);
Serial.println("Dose: check for LCD");
Wire.begin();
Wire.beginTransmission(0x27);
error = Wire.endTransmission();
Serial.print("Error: ");
Serial.print(error);
if (error == 0) {
Serial.println(": LCD found.");
}else {
Serial.println(": LCD not found.");
} // if
lcd.begin(20, 4); // initialize the lcd
}
void loop() {
delay(dht.getMinimumSamplingPeriod());
float humidity = dht.getHumidity(); // ดึงค่าความชื้น
float temperature = dht.getTemperature(); // ดึงค่าอุณหภูมิ
String press_num ="";
press_num=char(Serial.read());
if(press_num=="1"){
digitalWrite(relay1,LOW);
Serial.println("Start");
status_motor="On";
digitalWrite(relay1,LOW);
}
if(press_num=="2"){
digitalWrite(relay1,HIGH);
Serial.println("Stop");
status_motor="Off";
}
adcValue = analogRead(adcPin);
v = adcValue*(5.00/1024);
rs=(100-(20.00*v))/v;
Serial.print("Volt out put=");
Serial.println (v);
Serial.print("RS=");
Serial.println (rs);
delay (1000);
static unsigned long samplingTime = millis();
static unsigned long printTime = millis();
static float pHValue,voltage;
if(millis()-samplingTime > samplingInterval)
{
pHArray[pHArrayIndex++]=analogRead(SensorPin);
if(pHArrayIndex==ArrayLenth)pHArrayIndex=0;
voltage = avergearray(pHArray, ArrayLenth)*5.0/1024;
pHValue = 3.5*voltage+Offset;
samplingTime=millis();
}
if(millis() - printTime > printInterval) //Every 800 milliseconds, print a numerical, convert the state of the LED indicator
{
Serial.print("Voltage:");
Serial.print(voltage,2);
Serial.print(" pH value: ");
Serial.println(pHValue,2);
printTime=millis();
}
lcd.home();
lcd.clear();
lcd.setBacklight(255);
lcd.display();
lcd.setCursor(0, 0);
lcd.print("Volt:");
lcd.print(v);
lcd.setCursor(11, 0);
lcd.print("RS:");
lcd.print(rs);
lcd.setCursor(0, 1);
lcd.print("Volt:");
lcd.print(voltage,2);
lcd.setCursor(11, 1);
lcd.print("PH:");
lcd.print(pHValue,2);
lcd.setCursor(0, 3);
lcd.print("Status Motor: ");
lcd.print(status_motor);
lcd.setCursor(11, 2);
lcd.print("R.H.:");
lcd.print(humidity, 1);
lcd.setCursor(0, 2);
lcd.print("Temp:");
lcd.print(temperature, 1);
}
double avergearray(int* arr, int number){
int i;
int max,min;
double avg;
long amount=0;
if(number<=0){
Serial.println("Error number for the array to avraging!/n");
return 0;
}
if(number<5){ //less than 5, calculated directly statistics
for(i=0;i<number;i++){
amount+=arr[i];
}
avg = amount/number;
return avg;
}else{
if(arr[0]<arr[1]){
min = arr[0];max=arr[1];
}
else{
min=arr[1];max=arr[0];
}
for(i=2;i<number;i++){
if(arr[i]<min){
amount+=min; //arr<min
min=arr[i];
}else {
if(arr[i]>max){
amount+=max; //arr>max
max=arr[i];
}else{
amount+=arr[i]; //min<=arr<=max
}
}//if
}//for
avg = (double)amount/(number-2);
}//if
return avg;
}
ผลของการทดสอบ
รูปการทำงาน
วีดีโอผลงาน
คิตตามได้ผ่าน youtube คลิก ลิ้งค์ด้านล่างได้เลยครับ
คณะผู้จัดทำโครงงาน
1. ส.ณ.ชวัลวิทย์ เตียวตระกูล ม.5
2.ส.ณ.นิติพล หมั่นจำรูญ ม.5
3.ส.ณ.สุทธิพงษ์ ประสมพงษ์ ม.5
อาจารย์ที่ปรึกษา
นางสาวฉลิกา พฤทธิสาริกร สอนวิชา วิทยาศาสตร์
โทรศัพท์ 0885777821 E-mail lukked_2009@hotmail.com
โรงเรียนวัดไผ่ดำ แผนกสามัญศึกษา
ที่อยู่ของโรงเรียน 1 หมู่ 4 ตำบลทองเอน อำเภออินทร์บุรี จังหวัดสิงห์บุรี 16110