22

Let's have a high-level overview of what an oscilloscope has: First we have the analog front-end. Here we have impedance-matching network for the probes (but the probes will have to have a capacitance matching part too), attenuation section (very important, so we don't overload the ADC or let high voltages in), triggering and connection to analog to digital ...


15

Adafruit has a nice tutorial on using the MCP3008($3.75) - 8-Channel 10-Bit ADC With SPI Interface to control the volume of a mp3 file, but it should give you a good starting point for any analog to digital project.


8

We have found the Raspberry Pi to be an excellent platform for running the software you'd need for a project like this. The problem is getting the signals into the RPi in the first place and performing high speed jitter free real-time signal capture on the same CPU that's running the O/S and application software. Our solution is the BitScope Raspberry Pi ...


8

ADS1115 The ADS1113, ADS1114, and ADS1115 are precision analog-to-digital converters (ADCs) with 16 bits of resolution offered in an ultra-small, leadless QFN-10 package or an MSOP-10 package. The ADS1113/4/5 are designed with precision, power, and ease of implementation in mind. The ADS1113/4/5 feature an onboard reference and oscillator. Data ...


8

First, lets check the characteristics of the MCP3008 again: Single supply operation: V_dd = 2.7V to 5.5V All Inputs and Outputs < V_dd + 0.6V (this should include V_ref) 200 ksps max. sampling rate at V_dd = 5V 75 ksps max. sampling rate at V_dd = 2.7V So powering the MCP3008 with the Pi's 3.3V it would be out of spec to apply 5V to V_ref. It is also ...


7

Yes, however, you need to short the two smd capacitors on the back of the PCB right by the Audio output jack (labeled C34 and C48 for me, one for each channel). You will get an output range from 0-1V. You can keep the sample values constant and get a constant voltage. For example, using a 16bit mode and only the sample value 0 you get a constant 0.5V (0 = ...


6

A good starting point is adafruit's tutorial at http://learn.adafruit.com/reading-a-analog-in-and-controlling-audio-volume-with-the-raspberry-pi/overview. Adafruit also has breakout boards for the RasPi to make things a little easier... This post is also useful: How can I connect an analog to digital converter (ADC)? The MCP3008 seems to be one of the more ...


6

The Raspberry Pi has no analogue GPIO. Therefore you need to buy an ADC. You need to research the best ADC for yourself but I find it unlikely you will manage 1 Msps on the Pi.


6

You will have to use a Pull-Up resistor to get clean difference between the two desired states. This way you will have no floating input but either VCC (3.3V) or GND (0.0V) at the input of your MCP3008. (You can ignore the logic gate in the image). (Alternatively a Pull-Down resistor will work just as well).


5

For beginner electronics engineering, the use of clocks and all that terminology can be easily misunderstood. All it means it needs some sort of external frequency so that it can synchronise its internal logic. This can be a crystal, timer or another real time device that can generate pulses in a timely fashion. It can NOT be a Pi- Unless you use a Real ...


5

The link you give is to the soil sensor which is not an Arduino. Did you mean to ask whether you could use the soil sensor with the Pi? Yes you can but to get analogue results you'd need to add an ADC (I2C or SPI based ADCs are commonly available and will work with the Pi.) If you did mean to link to an Arduino then yes you can use an Arduino with the Pi. ...


5

SPI is a bus. Use the same connections between the Pi and the chips for Vcc, ground, MOSI, MISO, and SCLK. Use CE0 for one chip and CE1 for the other. The software uses the slave select line (CE0/CE1) to specify the chip to read at any one moment in time.


5

I assume you have not connected anything to those inputs. The inputs will therefore be floating and return random results. It's probably simplest to connect unused inputs to ground if you do not like this behaviour.


4

Whether you can sample with 16 bit precision is down to your skills as a electronics engineer. I believe there is more to that than simply putting a 16-bit ADC into a circuit and hoping for the best. Perhaps 12-14 bit precision would be easier. That aspect is best answered in an electronics forum. The standard Rapberry Pi Linux driver tops out at about ...


4

As long as the analog voltage is between 0V and 3.3V you won't damage anything. The gpis will be damaged by voltages less than zero or greater than 3.3V. The severity of the damage will depend on the current flow and you may slow the damage by limiting the current with a large resistor (say >5 kohm). See http://www.mosaic-industries.com/embedded-systems/...


4

You can power the sensors from 5V and also power the MCP3008 from 5V. You need to use a voltage divider on the MISO (Master In Slave Out) line from the ADC to the Pi so that the 5V ADC digital signal becomes a Pi safe 3.3V signal. The MOSI, SCLK, and CE (Chip Enable, also known as Slave Selects) are outputs from the Pi to the ADC and don't need any voltage ...


3

If you have any choice, you might be better at choosing an A/D converter which has an SPI interface, such as MCP3008 from Microchip. It will be far more easy to "talk" with from the raspberry pi as the latter also has an SPI interface available through the GPIO pins. Adafruit has a nice tutorial on how to use this chip with the Raspberry Pi.


3

A simple voltage divider would do just fine here. Lets assume that the turn signal is exactly 12 volts. (usually my car runs at 13 or 14). Looking at the resistor divider on wikipedia: http://en.wikipedia.org/wiki/Voltage_divider#Resistive_divider You would want R1 of 4000 and R2 of 1500. Connect the car level voltage to vin, and an raspberry pi GPIO ...


3

You control the device by sending it two bytes. The first is the command code. The second is the byte to write to the digital to analogue converter. The command byte is structured as follows. 7 6 5 4 3 2 1 0 0 X X X 0 X X X | | | | | | A B B C D D A 0 D/A inactive 1 D/A active B 00 single ended inputs 01 differential inputs 10 single ...


3

You can use the Raspberry Pi for the webserver. You have a variety of programming lanugauges you could use, like Python, C/C++ even C# (in Linux using Mono) or Windows IoT. It would be allot easier if you could use I2C - Which supports connecting allot of sensors (various types) typically using 4 wires (2 power + 2 RX/TX for bidirectional communication) (...


3

I won't claim this is a very complete answer, but here goes: I tried simply connecting my module... The capacitor in that Adafruit demo plays a vital role; it's what creates a fluctuating high/low signal which can be read as a digital frequency (see here). Without that, the corresponding code will not be good for much. Can I use the module with an ...


3

Even though this question is better asked on Electronics.StackExchange.com, here are some thoughts: You could get nine 8:1 Multiplexers/Demultiplexers like this one: http://www.digikey.com/product-detail/en/texas-instruments/CD4051BE/296-2057-5-ND/67305, which costs $0.52 per item (so less than $5 total). Use three lines to activate the master multiplexer (...


3

There is a little more to know than "need to read a total of 64 analog voltages" to make an educated guess here. Those are especially the resolution and the sampling rate. Related with the sampling rate is the bandwidth of data necessary to transfer to the Pi. Sampling rate need be no more than 10 Hz, with a resolution of 100 mV. Readings do not need to ...


3

The SPI library uses the SPI hardware. I suspect the Adafruit code was written before the SPI library was written and uses a technique called bit banging to access the MCP3008. Bit banging will be much slower than using the SPI hardware.


3

The easiest way is to pick a number (actually 2) between 0 and 1023. A value > x == occupied. A value < y == unoccupied. x should by high enough to ignore someone walking over the parking space. So it only sees cars and trucks. y should be less than x by some number greater than 1 to create a "Dead Zone" so your occupied/unoccupied indicator does not ...


3

This is normal. ADC inputs are made very sensitive on purpose, and will work as antennas picking up all kinds of noise when not connected to anything. Periodic noise can usually be traced to your mains voltage, which you can confirm by sampling the pin 200..500 times per second.


3

There is only one thing to bear in mind. Only feed between 0 and 3.3V to a Pi GPIO. Anything outside that range will eventually damage the GPIO and then the Pi. You have to consider each device you wish to connect on a case by case basis. Generally if a device is powered from 3V3 its outputs will be a Pi safe 3V3. Generally if a device is powered from ...


2

N.B: This is more a 'thinking out loud' piece of text then a real Answer The idea also crossed my mind some time ago, and I still like the general idea! As far as I know, the high-end scopes are since 15 years (or even more) just computers (PC) with a bunch of specialized high speed I/O. I think that when similar I/O is designed/connected to the RPi, the ...


2

First off, that microphone isn't going to work. It cuts out at 10 kHz, so is better suited to voice recordings. Ultrasonic is usually in the 50-100 kHz (and slightly higher) range. You might be better off with a MEMS Sensor. If you have an unlimited budget, the G.R.A.S. ⅛" microphone is the one to choose, but it's designed for professional acoustic work and ...


2

The standard Pi Linux SPI driver can execute about 20 thousand transactions per second. So to read two channels from a MCP3008 should take about 0.1 milliseconds.


Only top voted, non community-wiki answers of a minimum length are eligible