Bluetooth module interfering with 433mhz superregenerative rf module - arduino

I am having a problem with bluetooth interfering with my 433Mhz receiver. It is important that I have these modules next to each other, but when I have the bluetooth on, the rf module doesnt receive anything.
Rather crudely, I stuck an LED between the receivers Data and Ground lines, just to see what was going on.The LED blinked a lot when my HC06 was plugged in, and the LED went off when the HC06 was unplugged.
I also did the same thing with an LED over the rf transmitters data and ground lines, and the led showed that it was transmitting something when I pressed the button which is what i need.
There shouldn't be any interference between these two as far as I am aware because they use vastly different frequencies. I got confused a lit whilst programming it so it may be a programming error, but I doubt it.
I am using an arduino nano and the Bluetooth module is plugged wired as rx to 0(tx) and and tx 1(rx) and the data from the rf receiver is plugged into D11 because that's what the Radiohead library expects.
Thanks in advance

Related

atmega32u4 Failed to enter programming mode

I have designed a custom board using atmega32u4 with a few other components (Such as RTC, memory and etc) but left them empty to test if the microcontroller can be programmed. After just hand soldering the microcontroller and the necessary capacitors and resistors, ATMEL Studio can't read device signature.I'm using AVRISP MKII. This board was inspired by ARDUINO ProMicro in design. The things I tried to solve it:
Measure all 3.3 volt supply lines and all of the grounds. (They all correspond with PCB and schematic)
Checked SPI lines to see if microcontroller receives commands from the programmer by using oscilloscope.
I tried removing the 16MHZ crystal, still the same.
I reflowed the microcontroller since it is a QFN type (atmega32-MU package) and I have a few via holes under the micro for flux to come out.
I have properly washed the board after reflow.
I have AREF grounded with a 0.1uF capacitor and !HWB pin (PE7) is left empty. I didn't ground it.
I tested the programmer with an actual promicro board and it programs fine.
I think I'm missing something but I don't know what... I'd be grateful if you guys could help me. Attached is the schematic of the circuit.
The micro controller RESET is indicated by MICRO RST on pin 13. That RESET on PB4 is for another device which is not populated yet and left empty, I checked Pin 13 with Oscilloscope and it seemed working fine and going to zero at the first moment of programming. Also MISO and MOSI and SCK were sending signals to the relevant pins.
Thanks
If you are programming the board with ISP you have to connect RESET to the programmer. otherwise the controller could not be programmed!
Image from microcontroller.net
It seems that your RESET is on PB4 but for programming it should be connected to RESET of uC.
So, I realized the problem after almost a month! I had removed the 16MHz crystal from the circuit and this caused the problem with programming. Now, after placing the crystal the program is successfully uploaded to the ATMEGA32U4.

PWM/PPM Output misses some edges

I am using ESP8266 (NODEMCU 3.0 or something) to make a quadcopter. Ive connected ardu pro mini to RC receiver so I am reading PPM values from it. Pro mini sends data with tx to ESP8266. ESP reads it with software serial with 115200 baudrate. I am communicating with MPU9255 (Waveshire) via I2C either.
My problem is that I cant fully controll my brushless motors. When I was using arduino instead of ESP8266, servo library was the best and reliable. But ESP's servo library is different, since its not AVR, and problems occurs. First of the servo library didnt want to work on most frequencies. I mean default is 50Hz (20000uS) and in this state ESC of motors did armed but unfortunatelly when changes was fast and short (1250-> 1370 -> 1250) it did miss that change like nothing happnd... This makes my D value in PID controller useless...
Sometimes on 100Hz freq all was working fine, but sometimes not...
When Ive started to use analogWrite only 500Hz was working fine, rest of freq didnt want to arm ESCs.
PS. I am using 3.3V to 5V converter for PPM/PWM pins so I am sure that the signal is fine for ESCs.
PS2. I dont have any osciloscope unfortunately.
The ESP82266 present on your module is a RF transceiver integrated circuit that can handle WiFi communication, both configured as a slave to a microcontroller such as the ones present on various Arduino boards, or as a standalone chip by having it's on-board Tensilica L106 32-bit processor programmed via an external SPI flash memory. If used as a slave, the communication between, for example, an Arduino an the ESP82266 can be done using different protocols such as SPI / SDIO or I2C / UART interfaces. Googling a comprehensive Tensilica L106 user guide on the internet doesn't seem an easy task, and it looks as if some people have already failed to find it. If you're seeking to add Wi-Fi capabilities to your quadcopter the solution I suggest is having the Arduino take control over the servos, motors, etc. and hand off messages via SPI to your ESP82266 module. If this isn't the answer you are looking for, please try to be clearer about it, maybe find someone to do as an English translator for you.
However, if this is what you're concerned about, and you would like to use the ESP82266 module as as standalone solution, please link its built-in processor datasheet and the relevant parts of the quadcopters code that might need debugging.

how to connect ledstrip to arduino

On Adafruit there was an example on how to connect a ledstrip to an arduino, but it said "For longer strips requiring more than 1A, wire power directly to the strip, then run power and ground wires back to the Arduino." I didn't fully understand it so i made a sketch on circuits.io . Since there isn't a normal ledstrip in there i used a RGB to show my sketch, but i can't test it. So before i fry my arduino or ledstrip can someone explain if this is correct or if it needs to be changed? Also can i connect everything on a breadboard or not, since the higher voltage and amp.
https://i.gyazo.com/27e9a6527805b6e4e898a8f32f66de61.png
That would work.
I believe this is the same as this https://learn.adafruit.com/rgb-led-strips/usage
about the breadboard it really depends on the breadboard they can vary from cheap ones 0.5A to 2A is usually the maximum current rating for a good solderless breadboard
Here are what you need:
Your Arduino.
An external power supply. Get something like this for your external power suply.
You led strip.
Connect:
PWM pulse of Arduino -> Data IN of led strip
All GND togheters
5V output of external power supply-> VCC of led strip
Computer -> USB -> Arduino
External power supplies give you high current levels, perfect for many leds. Dont worry about your breadboard melting, it should be able to handle it.

Trouble with Digital Temperature Probe and ESP8266

I am having a hard time troubleshooting this project build of mine. I am trying to utilize a DS18B20 temperature sensor in conjunction with an ESP8266 to create a temperature beacon.
The problem I'm running into pertains to the data interpreted by the ESP8266. I am using the Arduino IDE to program the HUZZAH ESP8266 breakout.
The WiFi client is behaving as supposed to, but the temperature sensing is not. When I upload the same sketch to an Arduino Mega2560 (recompiled obviously), and plug the data line into a digital pin of the 2560, the probe temps come in perfectly, changing according to the temp. If I unplug the data lead, I get -196.80, what I assume is a ground value.
Simply moving the data line into the ESP8266 pin, I receive a temp of 262.29 and this does not change in between reads, regardless of sensor temperature.
I have ensured all of the cables are wired properly, there is no weird grounding or anything. I have tried changing the baud rate of the serial interface maybe thinking the clock had something to do with it, but that seems to have affected nothing.
Any idea/direction is always appreciated!
I have wired the circuit according to a diagram located at this link here.
Here is a Gist to the code that I have been uploading to the ESPs. The code is designed to setup a WiFi Client (attached to a local AP, which works totally fine), request the temps, and submit up to a host that has a listening server. The pin (2) refers to GPIO2 on ESP8266 [i think]
So I found A solution to this. I'm not sure if this particular problem has been replicated for everyone, however, in my situation, the parasitic power on the data line was not charging the IC enough to finish the proper calculation.
All I had to do was unground the VDD pin and hook it up to the 5V rail. Leave the 4.7kOhm resistor on the data line also pulled up to the 5V rail. After doing so, the program reports PARASITIC POWER: OFF, and reports temperatures as I hoped!
I changed my post above to include a working solution!
The DS18B20 device can operate in 2 power modes (normal and parasitic). In the case of parasitic power, the VDD pin is jumped to GND and the IC receives power from the data line that is connected back to a micro-controller.
An interesting quality of the DS18B20 is the power draw during temperature sensing. While operating in parasitic mode, the host device needs to be able to supply the IC with enough power to complete the calculation, otherwise the device will return a bad answer.
The solution for me (using an Adafruit HUZZAH ESP8266 micro-controller) was to not use parasitic power. I cannot say for sure what the problem with this setup is, however, when configuring the circuit in normal mode, the probe worked as expected. I imagine the data line isn't getting enough power.
To change the circuit from the diagram linked above:
Remove the jumper between VDD and GND pins
Connect VDD to 5V rail
Keep GND to GND rail
Keep 4.7kOhm resistor pulling data line up to 5v rail

How to write logic to handle arduino sensors on separate computer

The ArduinoIDE writes firmware to my Arduino UNO but I want to handle logic and code outside the microcontroller on the computer with the microcontroller strictly being a sensor and the computer handling the logic.
How can I have the computer handle the logic and listen to sensors (output data to a computer) and respond (input commands to the board)?
Is this done with serials? How do I get started with this?
I know how to code, I just need help understanding how to get the hardware to talk to one another. Arduino to computer, computer to arduino.
For example, I have a thermal sensor on the board, how can I have bi-directional communication where the output of temperature would go to a program on my computer and respond to the board to turn on an LED or other command based on statements on the computer.
All help is appreciated.
There is a tutorial on arduino.cc how to read a sensor on arduino en display the values in processing.
There is also a tutorial to turn on a led with a command from a pc.
If you want to do real complicated things I suggest that you take a look at Firmata

Resources