Code Skripsi

This is full code for prediction of fuel adulteration
This commit is contained in:
2025-07-11 06:25:57 +00:00
commit fe7bb529ed
15 changed files with 4226 additions and 0 deletions

63
scan_with_button.py Normal file
View File

@ -0,0 +1,63 @@
import RPi.GPIO as GPIO
import time
import subprocess
import as7265x
import smbus
import numpy as np
import os
from datetime import datetime
# Konfigurasi sensor
i2c = smbus.SMBus(1)
sensor = as7265x.AS7265X(i2c)
sensor.begin()
sensor.setIntegrationCycles(1)
# Konfigurasi tombol
BUTTON_PIN = 22 # Gunakan GPIO 22
GPIO.setmode(GPIO.BCM)
GPIO.setup(BUTTON_PIN, GPIO.IN, pull_up_down=GPIO.PUD_DOWN)
# Meminta input nama folder
folder = input("Masukkan nama folder untuk menyimpan hasil: ")
if not os.path.exists(folder):
os.makedirs(folder)
# Fungsi untuk melakukan scanning
def scan_and_save():
print("Scanning...")
sensor.enableBulb(as7265x.LED_WHITE)
sensor.enableBulb(as7265x.LED_IR)
sensor.enableBulb(as7265x.LED_UV)
sensor.takeMeasurements()
data = [
sensor.getCalibratedA(), sensor.getCalibratedB(), sensor.getCalibratedC(),
sensor.getCalibratedD(), sensor.getCalibratedE(), sensor.getCalibratedF(),
sensor.getCalibratedG(), sensor.getCalibratedH(), sensor.getCalibratedR(),
sensor.getCalibratedI(), sensor.getCalibratedS(), sensor.getCalibratedJ(),
sensor.getCalibratedT(), sensor.getCalibratedU(), sensor.getCalibratedV(),
sensor.getCalibratedW(), sensor.getCalibratedK(), sensor.getCalibratedL()
]
sensor.disableBulb(as7265x.LED_WHITE)
sensor.disableBulb(as7265x.LED_IR)
sensor.disableBulb(as7265x.LED_UV)
# Simpan hasil ke dalam file
filename = datetime.now().strftime("%Y-%m-%d-%H-%M-%S") + ".txt"
file_path = os.path.join(folder, filename)
with open(file_path, "w") as file:
file.write(";".join(map(str, data)))
print(f"Data telah disimpan di {file_path}")
try:
print("Tekan tombol untuk memulai scanning...")
while True:
if GPIO.input(BUTTON_PIN) == GPIO.HIGH:
scan_and_save()
time.sleep(1) # Hindari pemicuan berulang cepat
except KeyboardInterrupt:
print("Keluar...")
GPIO.cleanup()