As part of my robot project I need a small microcontroller to do som basic task like measuring distance using a HR-SR04 sensor. I plan to use a raspberry pi as main controller for that robot and as is runs a linux kernel is is not realtime and might be inaccurate for this application. The goal is to have the microcontroller send the measured distance over i2c to the raspberry pi.
The Ultrasonic module works as explained in the following diagram:
Lot’s of different examples regarding the HR-SR04 and microcontrollers can be found on the internet. Unfortunately a lot of them are incomplete or contain bad code. So here is yet another example
Below you can find a very basic schema with a attiny2313, the HR-SR04, an ISP connector and a led with a resistor.
Here is a little script to get data from your Twine using a Raspberry Pi (or any other computer that runs Python ….).
The script can be split into 4 parts:
- Retrieve data
- Parse and display data
Aussiemike in Kenya – who suggested that light from a mobile phone’s display screen could be used to trigger a switch. When a brief (free) phone call illuminates the display – the light from the display operates a 4017 based Toggle Switch. And any small push switch – connected in parallel with the LDR – will provide optional manual control.
Pushing the button once will energize the relay. Pushing it a second time will de-energize the relay. Any simple momentary action push-to-make switch will do. The prototype has a single-pole relay. But you can use a multi-pole relay if it suits your application. The circuit will work at anything from 5 to 15-volts. All you need do is select a relay with a coil voltage that suits your supply.
This simple circuit will energize and de-energize a relay at the push of a button. Any type of momentary action push-to-make switch can be used. Pushing the button once – will energize the relay. And pushing it a second time – will de-energize the relay.
This circuit energizes the relay repeatedly – at regular intervals. The length of the intervals depends on the setting of R4 – and the output pin to which the “Range” wire is connected. With the range wire connected to pin 3 – intervals of up to 24-hours are available. If you need longer than 24-hours – increase the value of C3.