Oranje Pi een Analog Devices MCP3008 via SPI met (3 / 3 stap)

Stap 3: De code

De code is vrij veel het zelfde als de tutorial, de nodige wijzigingen waren de manier waarop die de SPI-bus is geopend en de functie die leest en schrijft naar de chip.

Dus maak een bestand spi_test.py:

 #!/usr/bin/python import spi import time import os # Open SPI bus status = spi.openSPI(speed=1000000) # Function to read SPI data from MCP3008 chip # Channel must be an integer 0-7 def ReadChannel(channel): adc = spi.transfer((1,(8+channel)<<4,0)) data = ((adc[1]&3) << 8) + adc[2] return data # Function to convert data to voltage level, # rounded to specified number of decimal places. def ConvertVolts(data,places): volts = (data * 3.3) / float(1023) volts = round(volts,places) return volts # Function to calculate temperature from # TMP36 data, rounded to specified # number of decimal places. def ConvertTemp(data,places): # ADC Value # (approx) Temp Volts # 0 -50 0.00 # 78 -25 0.25 # 155 0 0.50 # 233 25 0.75 # 310 50 1.00 # 465 100 1.50 # 775 200 2.50 # 1023 280 3.30 temp = ((data * 330)/float(1023))-50 temp = round(temp,places) return temp # Define sensor channels light_channel = 0 temp_channel = 1 # Define delay between readings delay = 5 while True: # Read the light sensor data light_level = ReadChannel(light_channel) light_volts = ConvertVolts(light_level,2) # Read the temperature sensor data temp_level = ReadChannel(temp_channel) temp_volts = ConvertVolts(temp_level,2) temp = ConvertTemp(temp_level,2) # Print out results print "--------------------------------------------" print("Light: {} ({}V)".format(light_level,light_volts)) print("Temp : {} ({}V) {} deg C".format(temp_level,temp_volts,temp)) # Wait before repeating loop time.sleep(delay) 

Het Typ het volgende als u wilt uitvoeren:

 sudo python spi_test.py 

Alle lof gaat naar Matt @ raspberry pi spion & Louis Thiery voor de SPI-Py-bibliotheek

Gerelateerde Artikelen

Intel Edison als snelle I/O server: digitale en analoge i/o-via wifiverbinding met PC client

Intel Edison als snelle I/O server: digitale en analoge i/o-via wifiverbinding met PC client

Dit instructable is geschreven als een referentie-ontwerp voor diegenen die het nodig om sensorgegevens verzamelen en een relatief hoge snelheid via WiFi te sturen. Met deze oplossing zijn de tarieven van meer dan 1000 keer per seconde gemakkelijk be
Een analoge sensor van textiel verbinden met Arduino

Een analoge sensor van textiel verbinden met Arduino

Dit instructable wordt uitgelegd hoe u een analoge sensor op de Arduino aansluiten (in ons geval gebruikt een Lilypad).Materiaal dat u zal nodig:-een Lilypad Arduino (www.sparkfun.com)-een FTDI boord (www.sparkfun.com)-een USB A naar mini B kabel (ww
Controle LED's via USB met VUSB

Controle LED's via USB met VUSB

Er zijn tal van instructies op deze site voor het bouwen van ledverlichting stemming, maar ik wilde een stemming licht dat ik kon een willekeurige kleur instelt. Ik ook wilde kunnen om het te controleren via mijn computer, in plaats van met behulp va
Analoge sensor input raspberry pi met behulp van een MCP3008: bedrading/installatie/basic-programma

Analoge sensor input raspberry pi met behulp van een MCP3008: bedrading/installatie/basic-programma

Dus nu dat we kochten laat de ADC MCP3008 krijgen het opwaarts en lopende!Nota: Dit is mijn eerste instructables submision dus als er iets is verkeerd vertel me zo, en als je mijn stijl Leave a comment leave, ook ik ben uit Nederland dus mijn Engels
How To Run een analoge resonantiebodem

How To Run een analoge resonantiebodem

In dit instructable, ik ga om te gaan over de basis van het runnen van een analoge zangbodem.  Veel mensen kunnen krijgen overweldigd door alle knoppen en knoppen en dergelijke op een klankkast, maar het is niets om bang voor te zijn.  Als je eenmaal
Beste? Electonic delen Kit ooit! ADALP2000 van Analog Devices

Beste? Electonic delen Kit ooit! ADALP2000 van Analog Devices

We waren delen van Newark Electronics bestellen voor onze Kickstarter-project, BriteBits. (Dit is een leuk project om te schakelen LED's miniatuur breakout boards voor makkelijke montage op ontwikkelingsprojecten.U kunt het controleren hier:https://w
Bouwen van een analoge elektriciteitsmeter voor gebruik

Bouwen van een analoge elektriciteitsmeter voor gebruik

ik heb gebruikt een elektrische meter van Kill A Watt (http://www.p3international.com/products/special/P4400/P4400-CE.html) voor een tijdje en ik besloten om te bouwen van een analoge. Dit project ging van eenvoudig, met een ampèremeter één paneel en
Controle van de positie van een Actuator met een analoge Sensor

Controle van de positie van een Actuator met een analoge Sensor

In dit Instructable, zullen we leren hoe met een analoge sensor de positie van een actuator bepalen. In dit voorbeeld zullen we met behulp van een potentiometer, maar u kunt een analoge sensor. U kunt een lichtsensor om te verplaatsen van een actuato
Yarcow (nog een ander Rover aangestuurd via Wifi) - Makeblock, Arduino, Droidscript

Yarcow (nog een ander Rover aangestuurd via Wifi) - Makeblock, Arduino, Droidscript

In dit Instructable, zullen wij bekijken hoe te bouwen van een Wifi/web gecontroleerde rover gebaseerd op Makeblock Starter Robot Kit en Dave-Smart howto.Hoe is het werk:De rover in een browser (smartphone of computer) wordt beheerd, de opdrachten wo
Split fotografie met een analoge camera

Split fotografie met een analoge camera

In dit instructable, zal ik u tonen hoe om (tijdelijk) u een analoge camera (ik gebruikte een Diana F +) om te nemen wat foto's van mooie split.Een split-foto is samengesteld uit 2 verschillende foto's samengevoegd. De split wil geschieden door 4 ver
SMS verzenden vanuit een PHP website via HTTP met behulp van de Raspberry Pi

SMS verzenden vanuit een PHP website via HTTP met behulp van de Raspberry Pi

Achtergrond van het verzenden van SMS vanaf website met Raspberry PiBent u nieuwsgierig naar de meest eenvoudigste manier om SMS te verzenden vanaf uw website? Tegenwoordig, ik ben echt geïnteresseerd zijn in het gebied van Internet of Things (IoT) g
Verbinding maken met een RASPBERRY PI via VNC met behulp van MacOS

Verbinding maken met een RASPBERRY PI via VNC met behulp van MacOS

Hier volgen de stappen voor het verbinden van een Raspberry Pi via VNC met MacOSStap 1: Install VNC op uw MacVoor Mac OS moet u een VNC viewer programma te installeren. U kunt delen van het scherm (die komt standaard geïnstalleerd), maar dit duurt ee
Een buigmoment Computer toevoegen aan een analoge 3-in-1 plaatwerk Machine

Een buigmoment Computer toevoegen aan een analoge 3-in-1 plaatwerk Machine

Dit instructable is over het gebruik van een digitale niveau (of digitale niveau app) om herhaalbare bochten met de rem van een vinger. Ik werkte met de Baileigh 3-in-1 schuintrekken/rem/roll machine op Instructables' Pier 9 Workshop, maar ik denk da
Bouw een Robot van de Arduino Gripper met een DynamixShield.

Bouw een Robot van de Arduino Gripper met een DynamixShield.

In dit instructable ik zal u tonen hoe te snel en gemakkelijk bouwen de grijper van een afstandsbediening met behulp van de robot en Arduino nul en een DynamixShield. De DynamixShield is een nieuwe add-on voor de Arduino Due, nul of Mega die ik ben b