Bottom Page

Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
 accessing local variable outside class
#1
Hello,I am doing python code using raspberry pi for calculating body temperature. I want to know how can i access local variable that is declared in one function to the outside function


# Import Libraries
import os
import glob
import time
import RPi.GPIO as GPIO
from time import sleep
 
# Initialize the GPIO Pins
os.system('modprobe w1-gpio')  # Turns on the GPIO module
os.system('modprobe w1-therm') # Turns on the Temperature module
 
# Finds the correct device file that holds the temperature data
base_dir = '/sys/bus/w1/devices/'
device_folder = glob.glob(base_dir + '28*')[0]
device_file = device_folder + '/w1_slave'
 
# A function that reads the sensors data
def read_temp_raw():
  f = open(device_file, 'r') # Opens the temperature device file
  lines = f.readlines() # Returns the text
  f.close()
  return lines
 
# Convert the value of the sensor into a temperature
def read_temp():
  lines = read_temp_raw() # Read the temperature 'device file'
  # While the first line does not contain 'YES', wait for 0.2s
  # and then read the device file again.
  while lines[0].strip()[-3:] != 'YES':
    time.sleep(0.1)
    lines = read_temp_raw()
 
  # Look for the position of the '=' in the second line of the
  # device file.
  equals_pos = lines[1].find('t=')
 
  # If the '=' is found, convert the rest of the line after the
  # '=' into degrees Celsius, then degrees Fahrenheit
  if equals_pos != -1:
    temp_string = lines[1][equals_pos+2:]
    temp_c = float(temp_string) / 1000.0
    temp_f = temp_c * 9.0 / 5.0 + 32.0
    return temp_c, temp_f

print(read_temp())
 
read_temp()
if temp_c >=20 and temp_f >=75:
        GPIO.setwarnings(False)
        #Select GPIO mode
        GPIO.setmode(GPIO.BCM)
          #Set buzzer - pin 23 as output
        buzzer=23 
        GPIO.setup(buzzer,GPIO.OUT)
        GPIO.output(buzzer,GPIO.HIGH)
        print("Beep")

# Print out the temperature until the program is stopped.
#while True:
  #print(read_temp())
  #time.sleep(9)
Quote
#2
In the title you talk about class, but there is no OOP/class in your code, i.e. it's not very clear what you are asking/what you have problem with....
In your code you use return to pass value from function to outside scope and that is the correct way to do... Maybe elaborate further on what you are struggling with...

Looking closer at your code - on line 47 you need to assign what you return from your function to some variable in order ti use these values further in the code, e.g.
temp_c, temp_f = read_temp() #unpack the tuple returned by the function into two variables. I use the names you use later in the code
Note that you may want to do this first and then print these variables, instead of calling the function twice (on lines 45 and 47)...
Quote
#3
Hello,I am doing python code using raspberry pi for calculating body temperature. I want to know how can i access local variable that is declared in one function to the outside function.
Quote
#4
Please, don't start new threads unnecessarily. I deleted the second one you created and merged the third one into the original thread. I think my answer to your original post address the issue. If you have further questions, post in this thread.
Quote

Top Page

Possibly Related Threads...
Thread Author Replies Views Last Post
  local variable troubles yokaso 4 161 Oct-20-2019, 05:25 PM
Last Post: ichabod801
  UnboundLocalError: local variable ' ' referenced before assignment d3fi 10 489 Sep-03-2019, 07:22 PM
Last Post: buran
  local variable referenced before assignment. samvup 3 361 Aug-26-2019, 07:07 PM
Last Post: buran
  Passing a local variable outside of a function malonn 8 439 Apr-15-2019, 01:50 AM
Last Post: malonn
  Get variable from another class Golfball2k6 1 281 Apr-06-2019, 01:40 PM
Last Post: ichabod801
  Get variable from class inside another class hcne 3 384 Mar-30-2019, 03:02 PM
Last Post: ichabod801
  Trying to set an instance variable to current value of a class variable ScottDiesing 3 409 Feb-15-2019, 03:12 PM
Last Post: ScottDiesing
  The self variable in a class..? mitmit293 3 379 Feb-08-2019, 02:42 AM
Last Post: stullis
  local variable 'option' referenced before assignment RedSkeleton007 11 2,332 Feb-23-2018, 07:16 AM
Last Post: RedSkeleton007
  Instantiating class from the string variable voltron 4 1,321 Feb-05-2018, 01:18 PM
Last Post: voltron

Forum Jump:


Users browsing this thread: 1 Guest(s)