Diodes – how to choose one

Diodes are semiconductor devices commonly used for many purposes. In general, you can imagine a diode to be a valve that passes current in one direction and stops it from flowing back. The first thing that comes to mind – this might be a good choice for reverse voltage protection. In reality, things are a bit different. First of all, diodes aren’t perfect devices. They have a so-called forward voltage drop, which is about 0.7V for standard diodes. If inserted diode into the power supply, say 5V, the after protection you will get 4.3V where part of voltage is lost in the diode. If you want to go this way, choose the Schottky diode instead, which has a smaller forward voltage drop. A forward voltage drop occurs when the diode is forward biased what means current flow from anode to the cathode.

Continue reading

Testing LCD keypad Shield for Arduino

arduino lcd keypad shield

Recently I’ve got an Arduino LCD keypad shield. I haven’t decided yet where it will be used. But why not plug it into an Arduino board and see it working. The shield was initially introduced by DFRobot, who has some cool open-source stuff, including robotics-related. This LCD keypad shield is a cheap and convenient solution for adding 2×16 LCD and five push buttons (+1 reset) to Arduino design. LCD here is interfaced using 4-bit mode and occupies 4 (D4), 5 (D5), 6(D6), 7(D7), 8(RS), 9(E), and ten digital pins. Pin 10 is used to control the LCD backlight through the transistor key. All five buttons are connected to a single Analog pin 0 using a resistor-based voltage divider. This lets us keep other pins for general use. The shield is designed to work with 5V based boards.

Continue reading

Thoughts on interfacing piezo vibration sensor

piezo vibration sensor test with oscilloscope

Some time ago, I purchased a MiniSense 100 Vibration sensor. I probably had some project in mind, but it happened that it dived into drawer among other “to do” things.  I thought it’s time to try a few things with it. Piezo sensor MiniSense 100 is very sensitive with a pretty good frequency response and is linear (±1%). As you can see, high sensitivity is achieved with a 0.3-gram inertial mass at the end of the film. As there is a hole in the mass, you probably can screw in an additional mass and increase sensitivity even further. Probably there is no need to explain where such a sensor would be helpful. These could be vibration/ motion sensors, impact sensors, and other areas where motion and acceleration are involved. Usually, sensitivity is 1V/g. Where g is standard gravity or standard acceleration due to free fall and is equal to 9.80665m/s2. As a mechanical device, it also has a resonant frequency of 75Hz. At this point, sensitivity reaches 5V/g.

Continue reading

Simple dummy load for basic testing

I bet you face many problems in the design process where you need to test the power supply or LED by providing/drawing constant current regardless of voltage change. Such a device is called a dummy load. You can find lots of DIY dummy load projects, and we won’t be talking about commercial ones right now. Nick found out that most DIY dummy loads tend to be complicated or unavailable. So without struggling, he decided to start his own simple and reliable load. He wanted it to be simple, self-powered, and indestructible. Indestructible means that it won’t burn in a voltage range up to 30V. With BTS141 FET this became possible as it has built-in over-current and over-voltage protection built-in. Controlling is done with a simple potentiometer attached to operational amplifier positive input. Negative input is connected to the current sense resistor. The project is OSHW which can be found on Github as re:load. [source]

Continue reading

Understanding and interfacing LDR – light dependent resistors

light dependent resistor

LDR (Light Dependent Resistor) is a simple, cheap electronic device. This is a resistor in which resistance varies depending on light intensity. You’ve probably seen typical LDR in some projects where light intensity must be considered. They can activate light switches and alarms, adjust display brightness, and more. Light-dependent resistors can be of different types. They vary in light-sensitive material used. Visible spectrum LDR is made using Cadmium Sulphide (CdS) or Cadmium Selenide (CdSe). This material is sensitive to the wavelength range from 400 – 850nm. For the near-infrared spectrum (1μm – 3μm), there are PbS or PbSe materials used. For the deeper infrared range (3μm – 1000μm), there are InSb and InAs.

Continue reading

Drive DC motor using Arduino motor shield

arduino motor shield with dc motor

This is a continuation of the previous post where we have tried to run a servo using an Arduino motor shield. This was a simple task to do with the Arduino Servo library. Today we will push things a bit forward and drive the DC motor using the same motor shield. This motor shield can run small DC motors that require less than 0.6A of current and operating voltage is less than 25V. In my drawer, I found a small 12V motor that will fit this demo. Before we begin programming, we need to connect the motor to the Board. We are going to use the M1 connector.: Since the motor requires a 12V power supply, we are going to use an external power supply. It can be connected to the External power screw terminal. Be sure to remove the jumper as well.

Continue reading

Testing Arduino motor shield with servo motor

Arduino motor shield

Recently I’ve got an Arduino motor shield. It is based on ladyada first mshield circuit. It uses two famous L293D quadruple half-H divers. It is a cheap and reliable shield to drive various motors. These can be two hobby servo motors, four bidirectional DC motors, or 2 (unipolar or bipolar) stepper motors. The load current is limited to L293D chips. The specification says that each channel can provide a constant 0.6A and peak 1.2A. There is also a thermal shutdown to prevent the circuit from damaging. Motors can be externally powered using a voltage range from 4.5V to 36V. Each motor control channel is pulled down with a resistor to disable any motor at power-up. In this post, we are going to try servo motor control. There are a couple of connectors on the motor shield where you can connect two servo motors using a standard 3 wire connector (GND, VCC, and PWM).

Continue reading

How to calibrate touch screen display on STM32 board

stm32_touch_screen_interface

Touch screen displays are a common choice in many microcontroller projects. Touch capability won’t take additional space – it sits on top of LCD to directly interact with objects you see on screen. To get this working, touch screen coordinates must match screen coordinates. So could be sure when you touch the point on screen you point where you want. The touch screen is an analog device. It is made of two flexible resistive sheets with a gap between them. When the screen is touched, a connection between sheets is made, and thus a measurement of voltage drop is taken. Normally resistive touch screen has a four-wire configuration. And normally, a specialized IC is used to take measurements and send data to MCU for processing. In our case, we are dealing with the ADS7843 touch screen controller, but in other systems, this works the pretty the same way. The fact is that the touch screen controller reads screen ADC values and passes them via the SPI interface. So all you get is raw ADC readings that are not lined up with LCD coordinates. As you know, LCD screens can be of different resolutions, different orientations, so data gathered from resistive…

Continue reading

Facts about Raspberry Pi that make it popular

Raspberry Pi model B

Is there anyone who didn’t hear about Raspberry Pi? It’s like the second thing after Arduino. And this is the result of the right idea at the right time. Many Linux boards around that don’t cost a fortune, but they didn’t make it to the masses. And mainly, they were used by advanced users who know Linux well enough. Raspberry Pi pros Raspberry Pi changed things pretty drastically. And there are several key factors why:

Continue reading