Arduino WiFly shield with SPI - arduino

I have an Arduino Uno with the WiFly shield. I want to use 5 PWM ports on the Arduino to control motors, but some of the PWM ports are used by the WiFly. Looking into it, I think I need to use the SPI bus, but is this possible with the WiFly shield or how do I go about it?
How am I supposed to wire the motors so that they can work alongside the WiFly?
Can you point to a tutorial (I haven't been able to find one similar enough to my case to understand) or can you give me some pointers? That would be great.

All you need to get the WiFly module working is a serial link with it. One option is to use a soft serial library. This way you can choose which arduino pins you want to use (only 2 are needed leaving all the others available to control your motors). See this tutorial for a complete example.

Related

Is it possible to factory reset an arduino from hardware to remove bad user code?

I was troubleshooting why Serial1 was always throwing undefined errors in sketches I was trying to run when I found a solution posted online for a slightly different board that suggested this line:
HardwareSerial Serial1(2);
I uploaded it and now the Arduino doesn't show up in the IDE, did I remap it's serial communications? Why is this possible!
Is there any hardware factory reset option available on these boards? Did I just brick my device?
edit: It seems the STM32Cube programmer app can be used to communicate with the device but I'm not sure where to get the original firmware to flash. https://imgur.com/a/LbiHenf
Assuming from the tag in your question, I guess you have an STM32 – (BluePill) Development Board (STM32F103C8).
If you think that your board is not handling serial communication properly then you might consider burning bootloader to your board. This will reset the complete configuration of your board.
There are many ways in which you can burn bootloader to your board.
Using another Arduino board like Uno / Nano / Mega
Using an FTDI USB to TTL Serial Adapter.
You might want to go through tutorials list below:
Getting Started with STM32 using Arduino IDE: Blinking LED
Programming STM32F103C8 Board using USB Port

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.

Arduino multiple serial/hid output

Hello has anyone found a way to use an Arduino as a serial device and hid device at the same time?
I thought of a few solutions but didn't know the best way to go about it.
my goal is I need a serial device so the computer can send info to the Arduino but I also need an hid device.
can I use them both though 1 USB port? probably not
or
can I rig up another usb or serial port on the Arduino and use that as hid?
or
should I connect the Arduino to a teensy and use that for hid?
Thank you just trying to find the safest solution I'm making a custom fixture for my little laser engraver.
I recommend getting an Arduino Leonardo, Arduino Micro, an A-Star 32U4, or any other Arduino-compatible ATmega32U4 board. These devices act as a USB serial port but they can also be an HID at the same time if you use the Keyboard or Mouse libraries that comes with the Arduino IDE.

How to work with ESP13 wifi shield for arduino?

I recently bought a ESP13 wifi shield which has to mount on to Arduino. I think it is much similar to esp8266 modules, but unable to find a proper guidelines/libraries relevant to it. I did not notice any helpful tutorials also. Here, I want to use this module to run as a wifi server.
An ESP13 is an ESP8266. It is version ESP-13.
It is not a WiFi shield for Arduino; although you can connect it to an Arduino via serial pins and use its WiFi capabilities.
The ESP8266 ESP-13 is a stand alone device. It combines a processor with WiFi so you don't need an Arduino for simple jobs (or not that simple; I use mine to receive REST commands and run 60 addressable LEDs in pretty patterns).
There are lots of resources for ESP8266s:
For example: https://tuts.codingo.me/introduction-to-esp8266-module.
Note that the pin locations change between versions so look out for that when making circuits.

GSM Module code Not Working On GSM breakout board

I'm in a situation and need some advice.
Scenario 1:
Arduino Uno/Genuino +
ICOMSAT SIM900 Module(http://www.itead.cc/icomsat.html)
(placed the jumpers such that Digital Pin 2 is rx and 3 is TX on the shield)
Code Used: The send receive SMS example code in the arduino website.(
(https://www.arduino.cc/en/Tutorial/GSMExamplesReceiveSMS)
Everything Works fine without a glitch.
Scenario 2:
Arduino Uno/genuino +
GSM breakout board(https://www.google.co.in/search?q=sim900A&espv=2&biw=1600&bih=717&source=lnms&tbm=isch&sa=X&ved=0CAYQ_AUoAWoVChMIqd748qb8yAIVYXumCh2s2Aaq#tbm=isch&q=sim900a+gsm+module&imgdii=9zJcFQBaoLAKzM%3A%3B9zJcFQBaoLAKzM%3A%3B7eDw6qGc3qZjMM%3A&imgrc=9zJcFQBaoLAKzM%3A)
Had loads of issues with softwareSeial.h library and ended up cross connecting the default on board rx/tx with GSM board's RX/TX and everything worked fine. (though I didn't liked the fact that everytime during programming I had to change connections to upload a sketch)
code used is from here (http://www.theengineeringprojects.com/2014/06/send-sms-with-arduino-uno-and-sim900d-using-at-commands.html)
Now my Problem:
Since the shields are very costly, I decided to settle on the cheaper boards for my project. But the Code used for the GSM shield was so easy to understand (since the library was doing all the heavy lifting) I tried to use that. I connected Rx of GSM board to pin 3 and TX to pin 2 of arduino and uploaded the same code I used for the GSM shield scenario. But the code won'r work, I tried to tinker a few blocking things like the enable pin code where the shield is brought up etc. but no luck. Can anyone put some light on it, has this been tried before, is it not supposed to work the was i want it to ?
Thanks a lot in advance.

Resources