Code Skripsi
This is full code for prediction of fuel adulteration
This commit is contained in:
63
scan_with_button.py
Normal file
63
scan_with_button.py
Normal 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()
|
Reference in New Issue
Block a user