Ds18b20 mit nrf24 und lcd

Hallo!
Ich wollte nach dieser Anleitung,

https://deloarts.wordpress.com/2016/04/29/catalex-sd-softspi/

Ohne den catalex sd Card mit 4 zeiligen lcd anstelle des 2 zeiligen, nachbauen! Aber wenn ich von github die Bibliotheken runterlade mit und über zip einspielen will funktioniert es nicht ich habe es mit verschiedenen ide versionen versucht kein erfolg!
Bitte um hilfe!
Danke schon mal!

Der Code

  // ######################################### CATALEX SSPI RECEIVER #####################################################
// ##################################################################################################################### 
/*
	This is the receiver.
	It constantly waits for a message from the transmitter.
	Pinout:
		- Display
			- SDA: 		A4
			- SCL: 		A5
			- Vcc: 		5V
			- GND: 		GND
		- NRF24L01+
			- CE: 		9
			- CSN:		10
			- MOSI:		11
			- MISO:		12
			- SCK:		13
			- Vcc:		3V3
			- GND:		GND
		- Catalex SD card reader
			- MISO:		4
			- MOSI:		5
			- SCK:		6
			- CS:		7
			- Vcc: 		5V
			- GND: 		GND
*/
#include <SPI.h>
#include <SdFat.h>
#include <RF24.h>
#include <Wire.h> 
#include <LiquidCrystal_I2C.h>

/* DISPLAY PART */
// Set the LCD address to 0x27 for a 16 chars and 2 line display
LiquidCrystal_I2C lcd(0x27, 16, 2);

/* RADIO PART */
// Define the radio addresses (must be the same on both devices!)
byte addresses[][6] = {"DevRX", "DevTX"};
// Setup NRF24 to SPI BUS and the pins 9 and 10 (Check wiring on my blog!)
RF24 radio(9, 10);
// Using a struct to "store" the incomming data
struct dataStruct
{
	float Sensor1, Sensor2;
} Sensor;

/* CATALEX SD CARD READER SOFT-SPI PART */
// Here are the pins for the soft-spi-bus defined
const uint8_t SOFT_MISO_PIN = 4;
const uint8_t SOFT_MOSI_PIN = 5;
const uint8_t SOFT_SCK_PIN  = 6;
const uint8_t SD_CHIP_SELECT_PIN = 7;
const int8_t DISABLE_CHIP_SELECT = -1;
// You can select every pin you want, just don't put them on an existing hardware SPI pin.
SdFatSoftSpi<SOFT_MISO_PIN, SOFT_MOSI_PIN, SOFT_SCK_PIN> sd;
SdFile file;
// ##################################################################################################################### 
// ######################################### SETUP #####################################################################
// ##################################################################################################################### 
void setup()
{
	SPI.begin();
    
    /* DISPLAY PART */
    lcd.begin();
    lcd.print(F("Initializing... "));

    /* RADIO PART */
	// Initialize the NRF24
	radio.begin();
	// Set the PA level to high, so the message can be sent over long distances.
	radio.setPALevel(RF24_PA_HIGH);
	/* 
		Other levels:
			- RF24_PA_MIN
			- RF24_PA_LOW
			- RF24_PA_HIGH
			- RF24_PA_MAX
	*/
	// Open RX & TX (you have to switch the values 0,1 on the devices!)
	radio.openWritingPipe(addresses[1]);
	radio.openReadingPipe(1, addresses[0]);
	radio.startListening();

	/* SD CARD PART */
	while (!sd.begin(SD_CHIP_SELECT_PIN)) 
    {
    	lcd.clear();
    	lcd.print(F("Card missing.   "));
    	delay(1000);
  	}
}
// ##################################################################################################################### 
// ######################################### LOOP ######################################################################
// ##################################################################################################################### 
void loop()
{
	while(radio.available())
	{
		/* RADIO PART */
		radio.read(&Sensor, sizeof(Sensor));

		String T1 = String("T1: " + String(Sensor.Sensor1) + (char)223 + "C");
		String T2 = String("T2: " + String(Sensor.Sensor2) + (char)223 + "C");

		/* DISPLAY PART */
		lcd.setCursor(0, 0);
		lcd.print(T1);
		lcd.setCursor(0, 1);
		lcd.print(T2);

		/* SD CARD PART */
		file.open("Temp.txt", O_WRITE | O_CREAT | O_AT_END);
        file.println(F("--------------------"));
        file.println(T1);
        file.println(T2);
        file.close();
	}
}
// ##################################################################################################################### 
// ######################################### END OF CODE ###############################################################
// #####################################################################################################################

Das ist der GitHub link

https://github.com/deloarts/Catalex_SSPI/blob/master/Receiver/Receiver.ino#L1

Und welchen Sketch verwendest du dazu ?
Posten den bitte und den Link der verwendeten Libraries ebenso.

Verwende dazu die Schaltfläche </> oben links im Editorfenster.
Das kannst du auch nachträglich machen.
Dazu den Sketch markieren und die Schaltfläche klicken.

Damit wird dieser für alle besser lesbar.

Wurde alles nachgwtragen

Ok, funktioniert der Sketch nicht, oder das Installieren der Libraries ?
Wenn Libraries, hast du mal versucht, die Libraries manuell einzubinden ?

Habe nur add .zip versucht! Und da schreibt er das keine libaries im packet sind! Dadurch lässt sich der sketch nicht kompilieren, also weis ich nicht ob er funktioniert!

Dann entpacke die Libraries und kopiere die Dateien manuell in den Library-Ordner.
Jede Library jeweils in seinen eigenen Ordner, der genau so heißen muss wie die Library selbst.

Ab 1.6.5 (oder früher?) kann der Ordner auch anders heißen. Die IDE installiert bei Zip-Installation immer im xxx-master Ordner und das funktioniert auch.

Gruß Tommy

Danke werd ich morgen versuchen danke!

So, es hat mit den libraries alles funktioniert! hab jetzt aber das problem mit meinem angepassten sketch das der sender zwar die definierten anzeigt aber -127,00ºC angezeigt wird!

// #####################################################################################################################
// ######################################### CATALEX SSPI TRANSMITTER ##################################################
// ##################################################################################################################### 
/*
	This is the transmitter.

	Pinout:
		- NRF24L01+
			- CE: 		9
			- CSN:		10
			- MOSI:		11
			- MISO:		12
			- SCK:		13
			- Vcc:		3V3
			- GND:		GND

		- Temperature sensors
			- OneWire:	2
*/
#include <SPI.h>
#include <RF24.h>
#include <OneWire.h>
#include <DallasTemperature.h>

/* TEMPERATURE PART */
#define ONEWIRE_BUS 2
// Setup an instance to communicate with any OneWire devices
OneWire oneWire(ONEWIRE_BUS);
// Pass our oneWire reference to Dallas Temperature. 
DallasTemperature oneWireSensors(&oneWire);
// Set the LCD address to 0x27 for a 16 chars and 2 line display

/* RADIO PART */
// Define the radio addresses (must be the same on both devices!)
byte addresses[][6] = {"DevRX", "DevTX"};
// Setup NRF24 to SPI BUS and the pins 9 and 10 (Check wiring on my blog!)
RF24 radio(9, 10);
// Using a struct to store the analog values
struct dataStruct
{
	float Sensor1, Sensor2, Sensor3, Sensor4;
} Sensor;
// ##################################################################################################################### 
// ######################################### SETUP #####################################################################
// ##################################################################################################################### 
void setup()
{
	/* TEMPERATURE PART */
	oneWireSensors.begin();

	/* RADIO PART */
	// Initialize the NRF24
	radio.begin();
	// Set the PA level to high, so the message can be sent over long distances.
	radio.setPALevel(RF24_PA_HIGH);
	/* 
		Other levels:
			- RF24_PA_MIN
			- RF24_PA_LOW
			- RF24_PA_HIGH
			- RF24_PA_MAX
	*/
	// Open RX & TX (you have to switch the values 0,1 on the devices!)
	radio.openWritingPipe(addresses[0]);
	radio.openReadingPipe(1, addresses[1]);
 
}
// ##################################################################################################################### 
// ######################################### LOOP ######################################################################
// ##################################################################################################################### 
void loop()
{
	/* TEMPERATURE PART */
	oneWireSensors.requestTemperatures();
	Sensor.Sensor1 = oneWireSensors.getTempCByIndex(0);
	Sensor.Sensor2 = oneWireSensors.getTempCByIndex(1);
  Sensor.Sensor3 = oneWireSensors.getTempCByIndex(2);
  Sensor.Sensor4 = oneWireSensors.getTempCByIndex(3);

	/* RADIO PART */
	radio.write(&Sensor, sizeof(Sensor));

	delay(500);
}
// ##################################################################################################################### 
// ######################################### END OF CODE ###############################################################
// #####################################################################################################################

Ist ein Fehler im sketch oder hab ich den ds18b20 gekillt?

Und wenn ich jetzt noch einen dht22 sensor anhängen will muss ich dann nur die dht libraries einfügen und das wars?

Am Sketch kann ich erstmal keinen Fehler erkennen, was nicht heißt, da ist keiner.
Wie hast du den Sensor angeschlossen ?
Hast du den Pullup-Widerstand am Sensor angeschlossen ?

Hab ihn mit "+ data - " angeschlossen und + und data einen 4,7k wiederstandt reingehängt! Alles mal am steckbrett!
Auf 5v den sensor

Kawaci:
Hab ihn mit "+ data - " angeschlossen und + und data einen 4,7k wiederstandt reingehängt! Alles mal am steckbrett!

Was heißt reingehängt? von wo nach wo?

Gruß Tommy

Kawaci:
Hab ihn mit "+ data - " angeschlossen und + und data einen 4,7k wiederstandt reingehängt! Alles mal am steckbrett!
Auf 5v den sensor

Dann überprüfe deine Kontakte vom Steckbrett, die sind nicht optimal.
Oder du baust dir einen Sketch nur für die Sensoren.

Ok, werd ich versuchen das mit den Kontakten! Wie meinst du das mit dem Sketch nur für die Sensoren?

Einfach nur einen Beispielsketch aus der Library einsetzen.
Da sieht man am besten ob alles funktioniert.
Das ganze drumherum mit Funk und LCD weglassen.

So, hab jetzt ein anderes steckbrett genommen einen beispielsketch aufgespielt und alles durchgemessen! Im seriellen kommt immer noch -127 grad an und der ds18b20 wird heiss hab mehrere versucht immer das selbe!

Kawaci:
der ds18b20 wird heiss

Ups. Das klingt nach verpolt / falsch angeschlossen.

Kawaci:
hab mehrere versucht immer das selbe!

Einen zweiten zu killen hat nicht gereicht? :wink:

Check unbedingt den Anschluss des ds18b20.

Ich wusste zwar dass ich ihn richtig angeschlossen habe, habe aber Nocheinmal nachgeschaut und es ist richtig angeschlossen! Zumindest nach dem datenblatt! Der wiederstand hat auch 4,67 ohm!

Kawaci:
Ich wusste zwar dass ich ihn richtig angeschlossen habe, habe aber Nocheinmal nachgeschaut und es ist richtig angeschlossen! Zumindest nach dem datenblatt! Der wiederstand hat auch 4,67 ohm!

Meinst Du das ernst? das müssen 4,67 kilo Ohm sein.
Willst Du das Teil grillen?

Gruß Tommy

Kawaci:
Ich wusste zwar dass ich ihn richtig angeschlossen habe, habe aber Nocheinmal nachgeschaut und es ist richtig angeschlossen! Zumindest nach dem datenblatt! Der wiederstand hat auch 4,67 ohm!

Da würde mich mal interessieren, wie du den Widerstand von 4,67 Ohm erhalten hast ?
Gelasert oder gefeilt ? :wink:

Und mit dem verpolt angeschlossen ist nichts schlimmes.
Ist mir auch schon passiert.
Er wurde heiß.
Habe ihn anschließend richtig angeschlossen und er hat auch noch funktioniert.
Funktioniert sogar heute noch.