If you think about what is happening you have a very hostile environment for electronics (moisture - sometimes large amounts, soil PH and electrical current induced electrolysis)
The Hookup Guide for the SparkFun Soil Moisture Sensor includes the following:
One commonly known issue with soil moisture senors is their short
lifespan when exposed to a ...
Yes, this is normal for a DC drive configuration. You're effectively setting up an electrolysis experiment where the copper atoms on the positive electrode are being ionised, transported via the soil's water content across to the negative electrode where they are being deposited and returning to being copper atoms. This explains why the negative electrode ...
Given that your sensor is a DS18B20, and it is a 1-wire circuit and that 1-wire is a protocol that can do multiple adressing on that same bus and that the 1-wire temperature kernel module can read as many as 10 temperature sensors on the same bus. (check line 49 of the driver source code).
If you just connect 10 of your sensors to the same 3 pins (3v3, GND ...
I suggest double checking your connections.
↑ my wiring (which works for me)
← From pi cheat sheet
↑ commands and example output + RRDTOOL graphs from DS18B20 (the one shown in top photo.)
If a picture is worth a thousand words, why does stack exchange insist on 30 characters?
You may use the Raspberry Pi built in serial port, and connect it to a digital thermometer IC (e.g. DS1620)
You can find out serial port interfacing of Raspberry Pi here
P1 (LEFT BOTTOM) - 3.3V
P6 - GND
P8 GPIO14 - TX
P10 GPIO15 - RX
Important: Remember the RPi UART runs at TTL 3.3V - Be careful not to use High Voltage 5v/12volt Uart direct to the RPi. ...
The short answer is yes. The pull up resistor ensures a valid logic level when the pins are switching from input to output, you won't melt anything but it may not function correctly. so you should add a 4.7K - 10KΩ resistor between the Data pin and the VCC pin.
This tutorial froim Adafruit has a schematic and some info on logging your data.
The HC-SR04 can only be run with 5v(scroll down to specs). However, you can easily fix your problem if you have a breadboard. Assign one row as the 5v "rail" and attach as many sensors as needed.
EDIT: How to use breadboard. Basically, the two long rows on the each side of the board can be used as rails for power supply. Just make sure you keep your 5v rail ...
Water meter pulse outputs are typically open drain.
This means they are pulled to ground to signal a pulse and float high to an external voltage.
As a quick check change the following two lines.
GPIO.setup(FLOW_SENSOR, GPIO.IN, pull_up_down = GPIO.PUD_DOWN)
GPIO.setup(FLOW_SENSOR, GPIO.IN, pull_up_down = GPIO.PUD_UP)
There are a few things in addition to the pi itself that are required, and if you do not already have them, you would want a kit that includes them. Generally these are appropriately priced, but depending on what is available to you it may also be easier to buy them separately:
Micro SD card. You can get these with an operating system pre-burned, but do ...
Adafruit now even has a tutorial to connect the DHT22 to the pi. The example code works on most Pis, I had to tweak the C code a little like posted in the raspberrypi.org forums (increase a sleep timer).
For other working sensors (including 1-wire and I²C) take a look at my blog. But e.g. the TMP102 is still missing in the list.
I did some investigation into this matter and came up with the following results:
The w1 kernel module and OWFS are not compatible at this moment,
Like you probably know, OWFS works with many hardware devices (1wire bridges from USB/I2C/Serial/TCP, etc) which outperform any bit banging solution,
In the source code of OWFS (specially the owlib part) there is ...
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 ...
The following code will scale to multiple sensors.
If you want all triggers to be at exactly the same time then connect the same GPIO to each of the triggers. Use that GPIO for the last sonar's trigger. Give all the other sonars the trigger None. It should work unless you have a silly number of sensors on the same trigger.
Yes, it's normal.
One electrode (the anode) will oxidise.
That said, it shouldn't happen so quickly. I guess you have the sensor powered constantly. That means you always enable corrosion.
What you can do it so make sure there is current running to the sensor only when you take a reading from it. This will pause corrosion in between the measurements, and ...
You could have the Raspberry Pi behave like a WiFi access point (using hostapd and dnsmasq, introductory documentation from the Foundation is here) with a static IP and then have the ESP8266 join the hosted network and send the data to the Pi's IP address. The advantages are that you can also connect to the Pi from a PC or mobile device if you need to and it'...
It seems necessary for reliable readings. I started my project without pull up resistor and the humidity measurement started dropping down. It may start correctly but deterioate later. Since I was using pigpio module, I enabled internal pull up resistor as below:
The gpio refers to your data pin.
For the analog sensors such as the photoresister and the hall effect sensor (and most likely others as suggested in the comments), you can supply them with 3.3V and still have them work correctly.
They should act as a simple variable resistance in the presence of an external influence. Hopefully the following image will illustrate for a photoresister;
Someone already implemented a module for LIRC (http://aron.ws/projects/lirc_rpi/). Just connect the sensor to the gpio pins. lirc_rpi is already present in current raspbian builds. The only thing you need to take into account is that some IR-sensors don't work on 3.3volt.
Here a detailed explanation of how I added remote control to my pi (my orignal post at:...
Logic levels are detected by input pins. The difference between an input pin and an output pin is that an output pin has a specific voltage applied to it. An input pin does not, and when not connected to anything, it is in a high impedance, aka. a "floating", state which essentially means the voltage fluctuates randomly. This is the third state in 3-state ...
Connecting the DS18B20 to the Ethernet port would either not work or the effort to make it work (even if it was possible) would be excessive for someone starting out with a Raspberry Pi.
As you state, cut off the RJ45 and connect the sensor with the black wire to ground, the red wire to the 3V3 pin and the blue or yellow (some are blue and some are yellow) ...
Linear for the win!
y = (slope * x) + intercept is the classic linear formula, in your case, x=sensor, y=bars, so the formula becomes
bars = (slope * sensor) + intercept
... and you have two data points of this formula, sensor@750, and sensor@3750
equation 1: 0 = (slope * 750) + intercept
equation 2: 250 = (slope * 3750) + intercept
... lets rearrange ...
I had the same problem, my solution is adding my user to video group, and it worked like a charm.
sudo usermod -a -G video myuser
and a reboot afterward (the new groups will only be recognize after reboot).
Adafruit has released a distro called occidentalis which has 1-wire support built in.
One wire is most commonly used for DS18B20 temp sensors. The Pi does
not have 'hardware' 1-wire support but it can bitbang it with some
success. Connect a DS18B20 with VCC to 3V, ground to ground and Data
to GPIO #4. Then connect a 4.7K resistor from Data to VCC.
OK, thanks for the input folks, it's working beautifully now.
As gnibbler alluded to in the comments, I needed to connect the ground from the sensor and the RPi.
I also had too high a resistance value between the LED and the GPIO.IN pin, which I was able to determine by expanding on the first debug test, i.e. touching the 3.3v before the resistor didn't ...
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. ...
From the given project description I'll jump for: Yes, it seems reasonable that a RaspberryPi can handle this project. Accelerometers and gyroscopes can be connected via the GPIO pins and the computational power is certainly sufficient to process speech - especially for something as limited as in this task "click". Instead of repeating content here I'll give ...