0 medlemmar och 1 gäst tittar på detta ämne.
Däremot är DS18x20 1-wire inga som helst bekymmer så länge man inte har 100m slinga.Bara man matar med 3.3v och har ett 4.7Kohm motstånd så säger Maxim att det fungerar.Det är ingen skillnad mot andra uC eller logik, man får inte kortsluta eller mata åt fel håll.Då går något sönder.
varför ser du 3,3V på ioporten som ett problem? Det är väl bara att använda 3.3V prylar "på andra sidan" med? 5V är förlegat
04.import RPi.GPIO as GPIO 05.GPIO.setmode(GPIO.BCM) 07. # GPIO 17 set up as inputs, pulled up to avoid false detection. 08. # Port is wired to connect to GND on button press. 09. # So we'll be setting up falling edge detection10.GPIO.setup(17, GPIO.IN, pull_up_down=GPIO.PUD_UP)16.# now we'll define a threaded callback function 17.# this will run in another thread when our event is detected 18.def my_callback(channel): 19. print "falling edge detected on 17"32.# when a falling edge is detected on port 17, regardless of whatever 33.# else is happening in the program, the function my_callback will be run 34.GPIO.add_event_detect(17, GPIO.FALLING, callback=my_callback)
#!/usr/bin/python# Script to create html interface which controls output on raspberry pi ##from wsgiref.simple_server import make_serverfrom cgi import parse_qs, escapeimport wiringpi from time import sleep html = """<div style='width: 100%; text-align: center'><a style='display: block; width: 100%; text-decoration: none; background: green; color: black; font-size: 200pt;' href='?mode=on'>On</a><br /><a style='display: block; width: 100%; text-decoration: none;background: red; color: black; font-size: 200pt;' href='?mode=off'>Off</a><br /></div>"""def application(environ, start_response): # Returns a dictionary containing lists as values. d = parse_qs(environ['QUERY_STRING']) # Get first value (if more than one) mode = d.get('mode', [''])[0] # Escape input mode = escape(mode) # Setup raspberry pi output io = wiringpi.GPIO(wiringpi.GPIO.WPI_MODE_SYS) io.pinMode(18,io.OUTPUT) # Setup pin 18 (GPIO1) if mode == 'on': io.digitalWrite(18,io.HIGH) # Turn on light elif mode == 'off': io.digitalWrite(18,io.LOW) # Turn on light # Set output to html string response_body = html status = '200 OK' # Some header magic, create response response_headers = [('Content-Type', 'text/html'), ('Content-Length', str(len(response_body)))] start_response(status, response_headers) return [response_body]# Make it serve on all addresses# can be changed to e.g. 192.168.0.10 of you want to restric to local networkhttpd = make_server('0.0.0.0', 8051, application)httpd.serve_forever()
httpd.handle_request()
Uppfyller troligen inte kraven för en CE-märkt självsläckande kapsling.Jag skulle inte kapsla in en elektronikprodukt i ett brandfarligt material.
Förslag: matdosa, sån som man hade med förr åtminstone till jobbet, i aluminium eller rostfritt.