Byta i/o pinne på ESP8266

Elektronikrelaterade (på komponentnivå) frågor och funderingar.
Användarvisningsbild
tecno
Inlägg: 27087
Blev medlem: 6 september 2004, 17:34:45
Skype: tecnobs
Ort: Sparreholm, Södermanland N 59° 4.134', E 16° 49.743'
Kontakt:

Byta i/o pinne på ESP8266

Inlägg av tecno »

8266.PNG
Vill flytta I/O för att göra montering av sensorn enklare.

Är det ?.h fil som ska roddas om?

Tacksam för tips
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Användarvisningsbild
Mickecarlsson
EF Sponsor
Inlägg: 4078
Blev medlem: 15 april 2017, 18:06:15
Ort: Malmö
Kontakt:

Re: Byta i/o pinne på ESP8266

Inlägg av Mickecarlsson »

Vilket library använder du till sensorn? Det är där du ändrar, och ev redan i definitionen när du sätter upp sensorn
Användarvisningsbild
tecno
Inlägg: 27087
Blev medlem: 6 september 2004, 17:34:45
Skype: tecnobs
Ort: Sparreholm, Södermanland N 59° 4.134', E 16° 49.743'
Kontakt:

Re: Byta i/o pinne på ESP8266

Inlägg av tecno »

#include <Arduino.h>
#include <Wire.h>
#include "Adafruit_SHT31.h"

Adafruit_SHT31 sht31 = Adafruit_SHT31();
malman
Inlägg: 566
Blev medlem: 13 februari 2006, 01:17:03
Ort: Arboga

Re: Byta i/o pinne på ESP8266

Inlägg av malman »

Om jag nu inte är.helt ute o cyklar så nyttjar i2c bibloteket wire hw funktionerna i cpu'n... dvs de ligger på fasta pinnar och kan inte flyttas....
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Användarvisningsbild
tecno
Inlägg: 27087
Blev medlem: 6 september 2004, 17:34:45
Skype: tecnobs
Ort: Sparreholm, Södermanland N 59° 4.134', E 16° 49.743'
Kontakt:

Re: Byta i/o pinne på ESP8266

Inlägg av tecno »

Ja det är väl troligt att det är så illa.
Janson1
Inlägg: 1361
Blev medlem: 1 december 2016, 09:06:02
Ort: Marks Kommun

Re: Byta i/o pinne på ESP8266

Inlägg av Janson1 »

På Uno/nano kan man via mjukvara routa om i2c pinnarna till valfria (nästan) pinnar. Det borde gå här med?
Användarvisningsbild
tecno
Inlägg: 27087
Blev medlem: 6 september 2004, 17:34:45
Skype: tecnobs
Ort: Sparreholm, Södermanland N 59° 4.134', E 16° 49.743'
Kontakt:

Re: Byta i/o pinne på ESP8266

Inlägg av tecno »

Hmmmm
However, you can use any other two GPIO pins as I2C pins by calling wire.begin(SDA, SCL) in the Arduino IDE.
Användarvisningsbild
hawkan
Inlägg: 2801
Blev medlem: 14 augusti 2011, 10:27:40

Re: Byta i/o pinne på ESP8266

Inlägg av hawkan »

Ja det skulle jag tro går bra. De flesta funktioner kan användas på valfri pinne.
malman
Inlägg: 566
Blev medlem: 13 februari 2006, 01:17:03
Ort: Arboga

Re: Byta i/o pinne på ESP8266

Inlägg av malman »

I stand corrected :)

På esp8266an används visst valfri pinne som i2c.
On the 8266 you don't need any function for doing it The ESP2866 doesn’t actually have any hardware I2C pins.

Från denna sida:
https://forum.arduino.cc/t/how-to-chang ... /1016903/5

På somliga andra cpuer går det inte... (när man nyttjar hw i2ç saker för tex highspeed osv. Som jag förstått det...men.....)
Användarvisningsbild
hawkan
Inlägg: 2801
Blev medlem: 14 augusti 2011, 10:27:40

Re: Byta i/o pinne på ESP8266

Inlägg av hawkan »

Orginal arduino, atmega328-processorn och andra i den släkten, har funktioner låsta till vissas pinnar.
esp8266 och esp32 har frihet mellan pinne och funktion, skulle tro att andra lite moderna processorer har det.
Kan vara något att hålla koll efter om man ska välja hårdvara för det är rätt smidigt att flytta omkring io som man vill.
Användarvisningsbild
tecno
Inlägg: 27087
Blev medlem: 6 september 2004, 17:34:45
Skype: tecnobs
Ort: Sparreholm, Södermanland N 59° 4.134', E 16° 49.743'
Kontakt:

Re: Byta i/o pinne på ESP8266

Inlägg av tecno »

Testar och det fungerar så nu in till HA.Tackar för input boys.

Kod: Markera allt

#include <Arduino.h>
#include <Wire.h>
#include "Adafruit_SHT31.h"

Adafruit_SHT31 sht31 = Adafruit_SHT31();

void setup() {
  Wire.begin(D6,D5);
  Serial.begin(115200);

  if (! sht31.begin(0x44)) {   
    Serial.println("Check circuit. SHT31 not found!");
    while (1) delay(1);
  }
}

void loop() {
  float temp = sht31.readTemperature();
  float hum = sht31.readHumidity();

  if (! isnan(temp)) { 
    Serial.print("Temperature(°C): "); 
    Serial.print(temp); 
    Serial.print("\t\t");
  } else { 
    Serial.println("Failed to read temperature!");
  }
  
  if (! isnan(hum)) {  
    Serial.print("Humidity(%): "); 
    Serial.println(hum);
  } else { 
    Serial.println("Failed to read humidity!");
  }

  delay(1000);
}
Användarvisningsbild
tecno
Inlägg: 27087
Blev medlem: 6 september 2004, 17:34:45
Skype: tecnobs
Ort: Sparreholm, Södermanland N 59° 4.134', E 16° 49.743'
Kontakt:

Re: Byta i/o pinne på ESP8266

Inlägg av tecno »

Testar och det fungerar så nu in till HA.Tackar för input boys.

Kod: Markera allt

#include <Arduino.h>
#include <Wire.h>
#include "Adafruit_SHT31.h"

Adafruit_SHT31 sht31 = Adafruit_SHT31();

void setup() {
  Wire.begin(D6,D5);
  Serial.begin(115200);

  if (! sht31.begin(0x44)) {   
    Serial.println("Check circuit. SHT31 not found!");
    while (1) delay(1);
  }
}

void loop() {
  float temp = sht31.readTemperature();
  float hum = sht31.readHumidity();

  if (! isnan(temp)) { 
    Serial.print("Temperature(°C): "); 
    Serial.print(temp); 
    Serial.print("\t\t");
  } else { 
    Serial.println("Failed to read temperature!");
  }
  
  if (! isnan(hum)) {  
    Serial.print("Humidity(%): "); 
    Serial.println(hum);
  } else { 
    Serial.println("Failed to read humidity!");
  }

  delay(1000);
}
DSC_02070.JPG
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Användarvisningsbild
tecno
Inlägg: 27087
Blev medlem: 6 september 2004, 17:34:45
Skype: tecnobs
Ort: Sparreholm, Södermanland N 59° 4.134', E 16° 49.743'
Kontakt:

Re: Byta i/o pinne på ESP8266

Inlägg av tecno »

Så är då sensorn aktiv i HA, i morgon blir det att montera den i filament torken.
dryer1.PNG
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Skriv svar