Combination of chipsets - bluetooth

I have a question recarding the capability of the combination of different chips.
We have a PIC16F1824 microchip controller, is it possible to connect this with the bluetooth module from http://www.microchip.com/pagehandler/en-us/technology/bluetooth and read data from a chip, which is connected with this microchip controller ?
Thanks in advanced!
With kind regards,
Tim

Yes, both the PIC and the bluetooth module have a UART interface. The only thing you need to be careful of is if they use the same supply voltage. If not, look through the data sheets to ensure that the I/O pins on both devices will tolerate the I/O voltage mismatch. The most common case is a 3.3V device with inputs that are not tolerant of 5V logic.

Related

CC2541 (HM10) HID and programming

AIM: use the processor and bluetooth purely on the cc2541 to read from the free pins on the board but outputting in HID format so it could be used as a keyboard.
I understand that there are a few offical TI hardware components that usually are used to program it (I cannot afford the development kit). Would someone please help me either using arduino and a FTDI board program the cc2541 to do this?
While I have no idea how to use the CC2541, if you're limited by a budget you could get a HC-05 for 4 dollars-ish, and if you so happen to have a (old) PC with a parallel port you can reflash it using RN-42 firmware (need to solder 6 wires and plug em into that port with some resistors), which will allow it do become HID devices like joysticks,keyboards and mice.
Just in case someone stumble on this post later on, the following could help a lot I guess ;)
flashing an HC-05 with another firmware using an FTDI adapter
Enjoy ;)
+

spark in arduino,relay and Bluetooth module

My problem is there was a spark when I plug in the voltage source of my 220 V bulb.I have my arduino uno r3,hc-05 Bluetooth Module,Relay Module and 220V bulb.
I cut the wire of my 220V Bulb.
One wire that is near to the bulb was connected to (COM)common connection of our relay.
The other cut was connected to ground.
The Relay Module's VCC was connected to Arduino's 5V.
The Relay's input pin was connected arduino's pin 13 as well as the Normally open(NO) pin of reay.The Relay's ground ws also connected to Arduino's ground.
My Bluetooth module tx was connected to aruino's rx ans Bluetooth module's rx was connected to tx.
I also connected Bluetooth Module,5v to the Arduino's 5v.
and A ground from Bluetooth module to Arduino's Ground.
I made my own version of schematic diagram and this is how it works.It is not that nice but I hoope you will understand.
The small squares serve's as the BreadBoard
https://twitter.com/n_galia/status/419876079403147264/photo/1
Here is a simple relay driver you can use with the Arduino. The component values are not super important, R4 could be larger, R3 can be larger, you can use just about any 5V relay and any NPN transistor. As show it should work with most low/medium sized relay. When active you can check the voltage between Q1's collector and ground. It should be less then a volt. About 4mA is provided by the Ardunio, far below it's output capacity.
PLEASE BE CAREFUL!! you are working with high current and high voltage power. Blowing up an Ardunio is minor compared to the damage you can do to yourself.
The revised schematic might not work either. If your relay is a basic relay a driver will be required. The Ardunio can only sink about 20mA and it's likely your relay will need more to function correctly. The relay coil might look like a short to the Arduino.
If you have a relay with a built in logic level driver or a solid state relay, or even a TRIAC part (not a relay) you might be OK.
In situations like this its advised to use an optical coupler between the Arduino and the relay.
The optical coupler has a transistor that will dive the relay in its output, the transistor is actually a light sensitive transistor (photo-transistor) which is turned on via an LED built into the package. The Arduino would drive this LED (though a limiting resistor) which would activate the transistor to drive the Relay. This way the low voltage electronics are totally protected and isolated from the high voltage stuff.
Ouch!
The Arduino is not compatible of dealing with your 220Vac lines from power and to the light.
Your Arduino may not function correctly anymore.
I have attached a revision to your wiring.

Read digital data directly from a USB port

I use Arduino for comunication between sensors and my C# application using a serial port. Is there any possibility to access digital components directly such as Force Sensitive Resistor - Square, from a USB port?
Do I have to write a driver for that?
I drew a semi-schematic diagram to exemplify:
There isn't a way to directly read an analog sensor over USB since it's a digital bus. You need some sort of processing to convert the analog signal to digital and communicate over the bus properly.
In order to sample information from any sensor, you will need an intermediary. The Arduino uses an FTDI chip to convert UART (Serial) to USB. When you read data over this connection, you are reading it over the Serial over USB interface. My recommendation is to stick with using the Arduino or other micro controller.
If you are really bent on reading it Directly over USB (instead of through the Serial over USB converter) you would have to implement some sort of protocol in a device that supports USB such as the Stellaris Launchpad or an Atmega32U4 AKA Arduino Lenardo. You would also have to write a driver to describe how to communicate with this USB device. Unless you were able to implement it as an already known device such as a keyboard or serial port (Yep, we went full circle there).
In short, there's no already made chip that converts Analog (or Digital) values from a sensor into something any OS would natively understand. Since USB is a protocol much like IP, you're not going to be able to use discreet devices. You're going to have to use a micro-controller with a USB stack.
Again, my advice would be to pass the sensor values over USB through the existing Serial (over USB) port. This is pretty straight forward and easily reproducible without an entire Arduino.
From the looks of the force-sensitive resistor, this is an analog component; the resistance and capacitance changes with the force applied to the sensor. If you check out the FSR installation guide document there are suggested electrical interfaces starting on page 16.
I would recommend the first circuit, connect Vout to an analog input on the Arduino. From there you will need to convert from ADC counts to voltages and then use a lookup table function in the Arduino to convert from voltage to force according to Figure 9. At this point you have a variable containing the force applied to the sensor. From here you can transmit the value over the USB serial bus just like any other value. Your C# application then needs to read the serial data, and parse out the value.

ARM LPC1751 pins configured as I/O

How can I configure one pin for input and another for the output?
If I am not wrong this could be done with GPIO registers that controlls device pins that are not connected to peripherical functions.
Look in UM10360.PDF, Chapter 9: GPIO. There you can find the description for the FIOxDIR direction registers, as well as the reigisters for querying, setting and clearing GPIO pins.
I also strongly recommend looking at the CMSIS Standard Peripherial Driver Library that NXP offers for 175x/176x, look in microcontroller support documents. Edit: There are lots of sample code in this Library.
https://github.com/dwelch67
I have a number of lpc based examples. You are looking for the IODIR register, depending on the port and flavor of LPC, there are now what they call fast I/O registers. a one in a bit location means that pin is an output, a zero an input.

What would be the simplest way to interface custom hardware with one input to have switch somewhere in /proc?

I have a device that takes low current 3-12v input signal to do it's magic and I would like to interface it to my linux box. What kind of options do I have on this? It would be great to have some low-cost possibly user-space solution.
If I understand right, you need to control your box by changing 3-12v input signals to it. Here's the choices I can think of from the top of my head:-
a: Using RS232 serial handshake lines. RTS/CTS can usually controlled programatically as "on/off" signals without driver development using IOCTL calls.
b: Use a "GPI dongle" such as the Advantech ADAM range. These typically take serial or TCP/IP inputs and convert them to suitable output signals.
c: You may be able to do something with a parallel printer port if your PC stil has such a thing.
As shodanex says, be aware that RS232 levels are NOT directly compatible with TTL/CMOS inputs so you may need some minor level shifting/clamping electronics to fix this.

Resources