ESP8266 som ska styra 6 st LED
ESP8266 som ska styra 6 st LED
Nu skulle jag vilja använda en ESP8266 och styra 6 st led´s på 650mA styck.
Funktionen jag vill uppnå är att dom 6 ledarna ska dimmas upp och ner en efter varandra med i en chase på 6 steg om 10 sek. intoning och uttoning.
Sedan vill jag ha en touch funktion där en touch startar förloppet och ett till tryck fryser färgen, ett tryck till startar förloppet igen, två touch släcker och stänger av .
Jag kan styra ledsen via mosfet med strömbegränsning, så det är mindre problem.
Dock är jag kass på programmering av ESP´n
Nån som har några programrader och ork att berätta hur jag laddar in dom via min Mac?
Funktionen jag vill uppnå är att dom 6 ledarna ska dimmas upp och ner en efter varandra med i en chase på 6 steg om 10 sek. intoning och uttoning.
Sedan vill jag ha en touch funktion där en touch startar förloppet och ett till tryck fryser färgen, ett tryck till startar förloppet igen, två touch släcker och stänger av .
Jag kan styra ledsen via mosfet med strömbegränsning, så det är mindre problem.
Dock är jag kass på programmering av ESP´n
Nån som har några programrader och ork att berätta hur jag laddar in dom via min Mac?
Re: ESP8266 som ska styra 6 st LED
Här kan du säkert hitta en del nyttigt angående att styra RGB-led med ESP8266:
https://randomnerdtutorials.com/?s=rgb
https://randomnerdtutorials.com/?s=rgb
Re: ESP8266 som ska styra 6 st LED
Jag kan heller inte programmera men både mäter och styr en massa med både esp8266 och esp32 och använder espeasy, ett via webbläsaren configurerbart gränssnitt. Finns andra också. https://github.com/letscontrolit/ESPEasy
Re: ESP8266 som ska styra 6 st LED
Läckert där fick man nått att förkovra sig i.
Man tackar.
C-man
Man tackar.
C-man
Re: ESP8266 som ska styra 6 st LED
Där var mycket att ta till sig.
Tror inte jag klarar den inlärningen på överkomlig tid.
Så frågan kvarstår, hur programmerar man en PIC så att den ger PWM ut på 6 kanaler som tonar in och ut på 5+5 sek med överlapp?
Å vilken modell ska man använda?
Med hopp om en fin vår.
Tror inte jag klarar den inlärningen på överkomlig tid.
Så frågan kvarstår, hur programmerar man en PIC så att den ger PWM ut på 6 kanaler som tonar in och ut på 5+5 sek med överlapp?
Å vilken modell ska man använda?
Med hopp om en fin vår.
Re: ESP8266 som ska styra 6 st LED
Kan det här vara något att börja med?
ESP8266 - LED - Fade
https://newbiely.com/tutorials/esp8266/ ... e_vignette
/π
ESP8266 - LED - Fade
https://newbiely.com/tutorials/esp8266/ ... e_vignette
/π
Re: ESP8266 som ska styra 6 st LED
Jo men tack för den länken.
Det visade sig att AI kan leverera kod om man skriver in förutsättningarna i rätt ordning.
Så det löser sig nog ändå, med hjälp av vän.
Tack för alla länkar och råd.
Ska försöka lägga in den färdiga prylen i funktion när vi kommit dit.
Det visade sig att AI kan leverera kod om man skriver in förutsättningarna i rätt ordning.
Så det löser sig nog ändå, med hjälp av vän.
Tack för alla länkar och råd.
Ska försöka lägga in den färdiga prylen i funktion när vi kommit dit.
Re: ESP8266 som ska styra 6 st LED
Ta en ESP32 istället, den har inbyggd touch-funktion och låt AI skriva koden.
Här är en liten början från ChatGPT, ingen garanti att det fungerar på första försöket men det är bara att testa och sen bygga på med ytterliga funktioner.
Det här är egenligen Aurduino kod men den fungerar i ESP.
Frågan ställd till ChatGPT:
Komponenter: ESP32.
Skriv kod som styr 6 pwm utgångar som en efter en dimmrar upp till 100% och sen ner till 0% innan nästa utgång gör samma sak. En upp och ner dimmring ska ta 10 sekunder.
Här är en liten början från ChatGPT, ingen garanti att det fungerar på första försöket men det är bara att testa och sen bygga på med ytterliga funktioner.
Det här är egenligen Aurduino kod men den fungerar i ESP.
Frågan ställd till ChatGPT:
Komponenter: ESP32.
Skriv kod som styr 6 pwm utgångar som en efter en dimmrar upp till 100% och sen ner till 0% innan nästa utgång gör samma sak. En upp och ner dimmring ska ta 10 sekunder.
Kod: Markera allt
const int pwmChannels = 6; // Antal PWM-utgångar
const int pwmPins[pwmChannels] = {13, 12, 14, 27, 26, 25}; // GPIO-pinnar för PWM
const int freq = 5000; // PWM-frekvens i Hz
const int resolution = 8; // Upplösning (0-255)
const int maxDuty = 255; // Maximal duty cycle
const int fadeTime = 5000; // Tid för upp eller ner (ms)
void setup() {
for (int i = 0; i < pwmChannels; i++) {
ledcSetup(i, freq, resolution); // Ställ in PWM-kanal
ledcAttachPin(pwmPins[i], i); // Koppla kanal till pin
}
}
void loop() {
for (int i = 0; i < pwmChannels; i++) {
// Dimma upp
for (int duty = 0; duty <= maxDuty; duty++) {
ledcWrite(i, duty);
delay(fadeTime / maxDuty);
}
// Dimma ner
for (int duty = maxDuty; duty >= 0; duty--) {
ledcWrite(i, duty);
delay(fadeTime / maxDuty);
}
}
}
Re: ESP8266 som ska styra 6 st LED
Hallå CPMS.
Tack för att du tagit dig tid att hjälpa mig.
Ska försöka få ner din kod och trycka in den i en arduino, behöver inte wifi.
Kan du berätta vilka värden som styr start av upptorning på nästkommande led?
Jag vill att den ska börja tona in då tidigare led börjar tona ut.
Dvs. efter 5 sek.
Annars blir det mörkt mellan dom olika led´sen.
Å då blir man ledsen.
Jag vill ha en färgskiftning inte ljusstyrka.
Man vill en massa med har inte kunskap att få till det.
Så hjälp från snälla medlemmar känns skönt,
och ger mej fler idéer om hur man snackar med nån som bara fattar 1 eller 0.
"Kan du bara konsten, så är det ganska lätt" som Povel sjöng en gång i tiden.
Tack för att du tagit dig tid att hjälpa mig.
Ska försöka få ner din kod och trycka in den i en arduino, behöver inte wifi.
Kan du berätta vilka värden som styr start av upptorning på nästkommande led?
Jag vill att den ska börja tona in då tidigare led börjar tona ut.
Dvs. efter 5 sek.
Annars blir det mörkt mellan dom olika led´sen.
Å då blir man ledsen.

Jag vill ha en färgskiftning inte ljusstyrka.
Man vill en massa med har inte kunskap att få till det.
Så hjälp från snälla medlemmar känns skönt,
och ger mej fler idéer om hur man snackar med nån som bara fattar 1 eller 0.
"Kan du bara konsten, så är det ganska lätt" som Povel sjöng en gång i tiden.
Re: ESP8266 som ska styra 6 st LED
OK, kan nästan ingenting ang program skrivningen förutom lite Yaml-kodning utan använder AI och provar. Fungerar det inte så frågar man igen med felmeddelanden och felbeskrivning till AI'n
tills det fungerar som man vill. Man bör då börja frågan med "Använd denna kod och......" (klistra in koden du vill ändra/felsöka) för ChatGPT är inte så bra på att hålla sig till ämnet ibland.
Jag ändrade frågan lite.
Frågan till ChatGTP:
Komponenter: ESP32.
Skriv kod som styr 6 pwm utgångar som en efter en dimmrar upp till 100% och sen ner till 0%, nästa utgång ska börja uppdimmringen när föregående dimmrat upp till 100%. En upp och ner dimmring ska ta 10 sekunder. Utgångarna loopas.
ChatGPT sade:
Här är en kod för ESP32 som styr sex PWM-utgångar enligt din beskrivning. Koden använder ledcWrite() för att styra PWM-signalen och implementerar en sekventiell upp- och neddimring av varje utgång.
Denna kod:
Använder ledcSetup() och ledcAttachPin() för att konfigurera PWM på ESP32.
Looper genom sex utgångar en efter en.
Dimrar upp varje utgång till 100 % (255) på 5 sekunder.
Dimrar ner den till 0 % på 5 sekunder.
Startar nästa utgångs uppdimring när föregående har nått 100 %.
tills det fungerar som man vill. Man bör då börja frågan med "Använd denna kod och......" (klistra in koden du vill ändra/felsöka) för ChatGPT är inte så bra på att hålla sig till ämnet ibland.
Jag ändrade frågan lite.
Frågan till ChatGTP:
Komponenter: ESP32.
Skriv kod som styr 6 pwm utgångar som en efter en dimmrar upp till 100% och sen ner till 0%, nästa utgång ska börja uppdimmringen när föregående dimmrat upp till 100%. En upp och ner dimmring ska ta 10 sekunder. Utgångarna loopas.
ChatGPT sade:
Här är en kod för ESP32 som styr sex PWM-utgångar enligt din beskrivning. Koden använder ledcWrite() för att styra PWM-signalen och implementerar en sekventiell upp- och neddimring av varje utgång.
Kod: Markera allt
const int pwmPins[] = {5, 18, 19, 21, 22, 23}; // PWM-utgångar
const int numPins = sizeof(pwmPins) / sizeof(pwmPins[0]);
const int pwmChannelBase = 0; // Startkanal för LEDC
const int pwmFreq = 5000; // Frekvens för PWM
const int pwmResolution = 8; // 8-bitars upplösning (0-255)
const int fadeTime = 5000; // Tid för upp- och neddimring (5s vardera, totalt 10s per cykel)
const int stepDelay = fadeTime / 255; // Stegtid för mjuk dimmring
void setup() {
for (int i = 0; i < numPins; i++) {
ledcSetup(pwmChannelBase + i, pwmFreq, pwmResolution);
ledcAttachPin(pwmPins[i], pwmChannelBase + i);
}
}
void loop() {
for (int i = 0; i < numPins; i++) {
// Dimma upp
for (int duty = 0; duty <= 255; duty++) {
ledcWrite(pwmChannelBase + i, duty);
delay(stepDelay);
}
// Dimma ner
for (int duty = 255; duty >= 0; duty--) {
ledcWrite(pwmChannelBase + i, duty);
delay(stepDelay);
}
}
}
Använder ledcSetup() och ledcAttachPin() för att konfigurera PWM på ESP32.
Looper genom sex utgångar en efter en.
Dimrar upp varje utgång till 100 % (255) på 5 sekunder.
Dimrar ner den till 0 % på 5 sekunder.
Startar nästa utgångs uppdimring när föregående har nått 100 %.
Senast redigerad av CPMS 26 mars 2025, 16:00:24, redigerad totalt 1 gång.
Re: ESP8266 som ska styra 6 st LED
Vet inte om detta om Aurdino stämmer men....
finns det touch funktion i Arduino?
ChatGPT sade:
Ja, vissa Arduino-kompatibla kort har stöd för touch-funktionalitet!
Här är några alternativ:
1. ESP32 Touch Input
ESP32 har inbyggda kapacitiva touchsensorer på vissa GPIO-pinnar, vilket gör det enkelt att läsa touch-input utan extra hårdvara.
ESP32:s touchpinnar är:
T0 (GPIO4)
T1 (GPIO0)
T2 (GPIO2)
T3 (GPIO15)
T4 (GPIO13)
T5 (GPIO12)
T6 (GPIO14)
T7 (GPIO27)
T8 (GPIO33)
T9 (GPIO32)
2. Externa Touch-sensorer
För vanliga Arduino-kort (t.ex. Uno, Nano) behöver du externa touch-sensorer som:
TTP223 (enkel touch-knapp)
Capacitive Touch Keypad (flera touchpunkter)
MPR121 (I2C-baserad 12-kanalers touch-sensor)
finns det touch funktion i Arduino?
ChatGPT sade:
Ja, vissa Arduino-kompatibla kort har stöd för touch-funktionalitet!
Här är några alternativ:
1. ESP32 Touch Input
ESP32 har inbyggda kapacitiva touchsensorer på vissa GPIO-pinnar, vilket gör det enkelt att läsa touch-input utan extra hårdvara.
ESP32:s touchpinnar är:
T0 (GPIO4)
T1 (GPIO0)
T2 (GPIO2)
T3 (GPIO15)
T4 (GPIO13)
T5 (GPIO12)
T6 (GPIO14)
T7 (GPIO27)
T8 (GPIO33)
T9 (GPIO32)
2. Externa Touch-sensorer
För vanliga Arduino-kort (t.ex. Uno, Nano) behöver du externa touch-sensorer som:
TTP223 (enkel touch-knapp)
Capacitive Touch Keypad (flera touchpunkter)
MPR121 (I2C-baserad 12-kanalers touch-sensor)
Re: ESP8266 som ska styra 6 st LED
Tackar för tipset
.
Såg att Arduinon behövde extra kort.
Har ett par ESP 8266 som borde fungera?
Gissar att Arduino är enklaste programmet för att programera?
Ska göra ett par tester i kväll.
.
Såg att Arduinon behövde extra kort.
Har ett par ESP 8266 som borde fungera?
Gissar att Arduino är enklaste programmet för att programera?
Ska göra ett par tester i kväll.
Re: ESP8266 som ska styra 6 st LED
För att testa går det ju att koppla upp en ESP8266 och ett antal LED men kolla med AI'n om koden blir densamma.
Ska du senare lägga till touch styrning är nog enklast en ESP32 alt ett Aurdino kort med touch modul.
Lika enkelt oavsett platform, det som skiljer mellan dom olika korten är väl mest att ESP har WIFi/Blåtand inbyggt och storlek på minne, processorkraft mm.
Plocka hem Aurduino IDE så kan du progga bägge typerna. Behövs lite tilläggsmoduler i IDE'n för ESP korten men det är bara att Googla på det.
Litet tips, om du köper ESP32 Mini D1 (väldigt trevligt kort med många pinnar) så har den dubbla stiftrader på varje sida som då kortsluts i en vanlig testplatta. Löd dom yttre raderna med stift uppåt och inre raderna med stift neråt då kan du använda alla stift med hane resp. hona på jumper-kablarna. (om du fattar
)
Ska du senare lägga till touch styrning är nog enklast en ESP32 alt ett Aurdino kort med touch modul.
Lika enkelt oavsett platform, det som skiljer mellan dom olika korten är väl mest att ESP har WIFi/Blåtand inbyggt och storlek på minne, processorkraft mm.
Plocka hem Aurduino IDE så kan du progga bägge typerna. Behövs lite tilläggsmoduler i IDE'n för ESP korten men det är bara att Googla på det.
Litet tips, om du köper ESP32 Mini D1 (väldigt trevligt kort med många pinnar) så har den dubbla stiftrader på varje sida som då kortsluts i en vanlig testplatta. Löd dom yttre raderna med stift uppåt och inre raderna med stift neråt då kan du använda alla stift med hane resp. hona på jumper-kablarna. (om du fattar

Re: ESP8266 som ska styra 6 st LED
Jag laddade ner lite kod, fick igång handskakning mellan ESP och Mac.
Drog igång Arduino IDE och alla dess filer för ESP8266;an
Fick flera felmeddelanden beroende på avsaknad av beröringssensor.
Tog din första kod och tryckte in i ESP:n, lödde 6 blåa LED 50 mA och provade.
Tänkte dock inte på strömbegränsningsmotstånd (pust vilket ord) så alla tonade upp och ner samtidigt.
Ska prova med motstånd, såvida PWM inte klarar att reglera strömmen.
Tack för att du fick mig att komma över rädslan för att försöka koda.
Återkommer med resultatet.
Drog igång Arduino IDE och alla dess filer för ESP8266;an
Fick flera felmeddelanden beroende på avsaknad av beröringssensor.
Tog din första kod och tryckte in i ESP:n, lödde 6 blåa LED 50 mA och provade.
Tänkte dock inte på strömbegränsningsmotstånd (pust vilket ord) så alla tonade upp och ner samtidigt.
Ska prova med motstånd, såvida PWM inte klarar att reglera strömmen.
Tack för att du fick mig att komma över rädslan för att försöka koda.

Återkommer med resultatet.
Re: ESP8266 som ska styra 6 st LED
Jag gjorde som jag föreslog, kollade med ChatGPT!
Frågade:
fungerar denna kod i en esp8266?
(klistrade in 1:a koden)
ChatGPT svarade:
Nej, koden fungerar inte direkt på en ESP8266 eftersom ESP8266 inte har hårdvarustödd ledc-PWM som ESP32 har.
ESP8266 har istället mjukvarubaserad PWM med funktionen analogWrite().
Problem i koden:
ledcSetup() och ledcAttachPin() finns inte på ESP8266
Dessa funktioner är specifika för ESP32:s LED PWM Controller (LEDC) och saknas i ESP8266.
Vissa GPIO-pinnar existerar inte på ESP8266
GPIO 25, 26 och 27 finns inte på ESP8266. De används på ESP32 men måste ersättas med tillgängliga pinnar på ESP8266.
Bad den skriva om koden för ESP8266.
(fick en ny kod anpassad för rätt platform)
Sen så kan det finnas vissa pinnar som man inte kan använda hur som helst men det får man kolla i resp korts pin-out beskrivning.
Du förstår vart jag vill komma kanske....
Frågade:
fungerar denna kod i en esp8266?
(klistrade in 1:a koden)
ChatGPT svarade:
Nej, koden fungerar inte direkt på en ESP8266 eftersom ESP8266 inte har hårdvarustödd ledc-PWM som ESP32 har.
ESP8266 har istället mjukvarubaserad PWM med funktionen analogWrite().
Problem i koden:
ledcSetup() och ledcAttachPin() finns inte på ESP8266
Dessa funktioner är specifika för ESP32:s LED PWM Controller (LEDC) och saknas i ESP8266.
Vissa GPIO-pinnar existerar inte på ESP8266
GPIO 25, 26 och 27 finns inte på ESP8266. De används på ESP32 men måste ersättas med tillgängliga pinnar på ESP8266.
Bad den skriva om koden för ESP8266.
(fick en ny kod anpassad för rätt platform)
Sen så kan det finnas vissa pinnar som man inte kan använda hur som helst men det får man kolla i resp korts pin-out beskrivning.
Du förstår vart jag vill komma kanske....
