I have been trying to get a arduino UNO and arduino Leonardo to communicate with the nRF9160DK but have not been able. That accounts for the SPI example aswell as the I2C/TWI scanner example in both cases the Arduino's are used as Slave. I am quite new to this but unable to figure out why this all is not working. I have put my eyes on useing I2C because of mutible reasons so that is where this question will be about.
I am running the following slave example on the Arduino UNO
// Wire Slave Sender
// by Nicholas Zambetti <http://www.zambetti.com>
// Demonstrates use of the Wire library
// Sends data as an I2C/TWI slave device
// Refer to the "Wire Master Reader" example for use with this
// Created 29 March 2006
// This example code is in the public domain.
#include <Wire.h>
void setup() {
Wire.begin(8); // join i2c bus with address #8
Wire.onRequest(requestEvent); // register event
Wire.setClock(100000);
}
void loop() {
delay(100);
}
// function that executes whenever data is requested by master
// this function is registered as an event, see setup()
void requestEvent() {
Wire.write("hello "); // respond with message of 6 bytes
// as expected by master
}As you can see I have added a maximum Clock speed of 100K since that is what the nRF9160 scanner also uses.
I have changed the config of the nRF9160 to be like this:
&i2c3 {
status = "ok";
sda-pin = < 31 >;
scl-pin = < 30 >;
clock-frequency = <I2C_BITRATE_STANDARD>;
};
And have wired the arduino -> nrf9160dk the following
A4 -> P0.31
A5 -> P.0.30
I have changed the pinouts from the normal one since on the normal basic pinouts it wasnt working either. Once both are running I dont recieve anything execpt the following:
Starting i2c scanner...Value of NRF_TWIM3_NS->PSEL.SCL: 30 Value of NRF_TWIM3_NS->PSEL.SDA: 31 Value of NRF_TWIM3_NS->FREQUENCY: 26738688 26738688 -> 100k
I would love the recieve some help on why I can't seem to get the nRF9160dk working with my arduino's.