10
votes
Accepted
Difference between /dev/ttyACM0 and /dev/ttyS0 (Arduino IDE ports under Linux)
/dev/ttyACM0 is a USB communication device (CDC) of sub-type "abstract control model" (ACM). That is what the Arduino is.
/dev/ttyS0 is a hardware serial port - the (typically) 9-pin D connector on ...
7
votes
Multiple Wire.write() not working for Arduino Nano I2C
Important information: Wire.write() does NOT send anything over the I2C lines. It just puts the data into the libraries internal buffer. The actual transmission is then done by Wire.endTransmission().
...
6
votes
Accepted
RS485 Multimaster Communication with collision avoidance
Collision avoidance is a tricky subject. You can never completely avoid collisions - all you can do is work out how to a) detect them, and b) recover from them.
There's many different ways of doing ...
6
votes
Accepted
Arduino Serial library (Synchronous or Asynchronous?)
The Arduno 101 doesn't communicate to the PC using a UART. It uses CDC/ACM over USB, which looks like a UART to the PC. But it isn't.
USB sends packets of data, not individual characters
It only ...
6
votes
Accepted
Bi-directional UART communication on single data wire, possible?
You can have bidirectional communication over a single wire by using
open-collector outputs. For this, you could add a circuit like this
on each side of the link:
simulate this circuit – ...
5
votes
Accepted
Arduino sending data over MAX485
How would the wiring look like? I was unable to find any dumb-proof
tutorial online.
I found this tutorial to be pretty usefull.
There really isn't much to it, I suggest trying a short range ...
5
votes
How to pad an ascii number with leading zeros?
This is the kind of situation where printf() comes handy:
printf("%03d", number);
prints the number in the format you described. Alas, printf() is not
part of the standard Arduino API. But you can ...
5
votes
RS485 Multimaster Communication with collision avoidance
There is a ready out the box solution documented in https://github.com/MichaelJonker/HardwareSerialRS485/wiki (This wiki describes the library you referred to).
The problem is quite complex: ...
5
votes
Difference between Wire.setClock() method and TWBR method for changing I2C Frequency
They are both one and the same. One is easier to remember though (I'll let you work out which).
Wire.setClock(frequency) just (ultimately) does:
TWBR = ((F_CPU / frequency) - 16) / 2;
You can set ...
5
votes
Serial Communication between ESP8266 and Arduino Uno
Since you are Arduino Uno, it has only one Serial. This Serial can be used to transmit data in USART mode to another Serial Device as well as see any Debug data in the Serial terminal.
However, both ...
5
votes
Accepted
Sending string over serial to nodejs app. Why does it get chunked?
It seems I needed to add a parser to SerialPort nodejs module, in order to specify how the input should be treated.
I changed my code to this:
var SerialPort = require('serialport')
var Readline = ...
5
votes
Accepted
Is the arduino hackable when using communication shields?
You should be pretty safe, at least as long as your code handles the
incoming data properly.
When you upload a new sketch through USB, the USB-to-serial interface
uses the Arduino pins TX0, RX0 and ...
5
votes
Accepted
Why is the IDE not able to find the board despite it being clearly seen and selected?
The SAMD boards connect to computer over native USB support of the MCU. The handling of the USB is done by Arduino core functions linked at build to your sketch.
A consequence of using the native USB ...
5
votes
Accepted
How to send multiple data over serial in one byte?
You should learn how to use bitwise operators. These are needed to do what you want.
We can save the state of each switch in one bit each. For this we first define our global variable that will hold ...
4
votes
How to change i2c address for mpu9250?
Might be a little late, but you can string more than two of these on one I2C bus, with a little ingenuity.
You connect the AD0 pin of each MPU to a different I/O pin of the processor, then take low ...
4
votes
MQTT client on Arduino + SIM900
MQTT Library for SIM800 GSM Modem is available at ElementzTechBlog, ElementzGithubRepository
Functionalities:
Auto connect
Automatically connect to TCP and to MQTT server.
connect function
This ...
4
votes
Accepted
Arduino radio communications
There are three basic factors that control long distance communication:
Transmitter Power
Receiver Sensitivity
Signal Directionality
The more transmission power you have the "louder" your signal is ...
4
votes
Accepted
Difference between Wire.setClock() method and TWBR method for changing I2C Frequency
Whats the difference between the 2 methods?
The difference is that one is more portable than the other. The "direct register set" will not work very well on an Arduino Due.
There is no speed or ...
4
votes
Hacking old car dvd monitors with arduino
I realize this is an ancient question, but just in case someone else has one of these things, I'll share what I know. I have one of these Sharp LCDs that I typically use as a monitor for a Commodore ...
4
votes
Accepted
433 MHZ connection between two Arduino (nano,uno) fails after some time
Regarding the hardware problem, there are some advices in the comments.
As you wrote, the solution is to reduce the bitrate at 2000 bps.
The remaining question is why the receiver always truncates ...
4
votes
Accepted
Communicating to arduino as fast as real-time
Going over USB will add about a millisecond of jitter to your data in both the sensing and command directions. Using a part with direct USB rather than then needing to go through a serial link from ...
4
votes
Accepted
I change ESP8266 baudrate and now it doesn't work
Have you tried setting the web editor's baud rate to both the old and the new values? I ask because the CIOBAUD command has been obsolete for a while now so, depending on the age of your device, it ...
4
votes
Missing character when introducing delay in the code
If serial data is coming in, and your code is doing a delay, the incoming data is stored in a buffer (of 64 bytes). But if you wait too long, the buffer will fill-up. Once it's full, any further ...
4
votes
How to automatically reset the NRF24L01 module
This is a known problem with those chips (especially Chinese clones). It is caused when a chip gets stuck in TX mode waiting for an ACK that never arrives back.
The chips don't have a "reset", but ...
4
votes
Accepted
Sending data struct with 2 int fields from Arduino to Raspberry via NRF24L01
Your problem is that you are communicating between an 8-bit and a 32-bit architecture.
On an 8-bit architecture int is 16 bits. On a 32-bit it's 32 bits. Why the difference? Because "it is". ...
4
votes
Accepted
how can I accurately recieve potentiometer values over the USB port?
There are a few issues at play here. One is that the Arduino
resets every time you open the serial connection on the PC side. You can
prevent this by putting a 1 µF (or more) capacitor between 5V and
...
3
votes
Accepted
Run code via NRF24L01+ command "dynamically"?
What you are asking is very tricky at best. Your average Arduino doesn't have enough memory to start storing arrays of Strings.
Instead you will need to "distil" the information as it comes in and ...
3
votes
Accepted
I2C between Arduinos without Master
You have to have a master for an I2C bus to work. Can't you allocate one of the dip switches to define the master?
Edit to be able to remove the downvote
Nick his answer seems to imply that you do ...
3
votes
Accepted
Xbee for Arduino Uno
What you have there is an XBee module. It is designed to plug into an XBee shield which then plugs into the Arduino.
So you need to buy more.
That's the bad news. The good news is that you have ...
3
votes
How to pad an ascii number with leading zeros?
One straightforward way to do this is to extract digits separately (using integer division and mod). For example, the hundreds digit of a positive or unsigned int x is (x/100)%10.
A sketch shown ...
Only top scored, non community-wiki answers of a minimum length are eligible
Related Tags
communication × 442arduino-uno × 144
serial × 130
arduino-mega × 39
i2c × 37
softwareserial × 32
programming × 31
wifi × 27
esp8266 × 26
spi × 26
arduino-nano × 24
usb × 22
nrf24l01+ × 21
arduino-ide × 20
wireless × 20
gsm × 17
bluetooth × 16
rf × 16
uart × 14
python × 13
sensors × 12
xbee × 12
c++ × 11
esp32 × 10
arduino-due × 10