• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Arduino ESP32 program termostat
#11
Więc tak po wpisaniu tego co kolega mi napisał #define wyskakuje mi takie cos

C:\Users\darex120\Downloads\esp32-wifi-thermostat-main (1)\esp32-wifi-thermostat-main\esp32-wifi-thermostat\esp32-wifi-thermostat.ino: In function 'void setup()':
esp32-wifi-thermostat:443:13: error: 'BUILTIN_LED' was not declared in this scope
pinMode(BUILTIN_LED, OUTPUT);
^~~~~~~~~~~
exit status 1
'BUILTIN_LED' was not declared in this scope
 
Odpowiedź
#12
Napisałeś, że błąd masz builidin_LED , a jak masz błąd o BUILTIN_LED to, to, no nie wiem, ręce mi opadają, ale rozwiązaniem może być linijka:
#define BUILTIN_LED jakiśnumerIO
Gdzie, dopiszę od razu, w miejsce jakiśnumerIO wpisz liczbę, np.
#define BUILTIN_LED 0
Tak, domyślałem się, że pewnie pisałeś z pamięci i miałeś literówkę, ale nigdy nie wiadomo, może ktoś nazwał sobie led inaczej.
Po prostu wybierz płytkę doit, ona ma zdefiniowane już gdzie jest podłączona LED wbudowana na płytce, i sobie skompiluj, skoro u mnie zadziałało, to u Ciebie też powinno jak masz wszystkie inne rzeczy tak samo. Przy kompilacji nie jest ważne co za płytkę masz na biurku, możesz nie mieć żadnej w domu, ani nawet w planach by jakąś kupić.
Miło być decenianym https://buycoffee.to/kaczakat
 
Odpowiedź
#13
zorbilem tak jak pisałes ale wywaliło na czerwono

pinMode(BUILTIN_LED, OUTPUT);

Płytke dałem DOIT ESP32 DevKit
 
Odpowiedź
#14
Jesteś niezły, serio. Nadgorliwość jest gorsza od faszyzmu. Jeszcze raz...

Jak masz błąd, że nie ma zdefiniowanego obiektu o nazwie BUILTIN_LED to rozwiązaniem jest dodanie jego definicji.
Jak wybierasz płytkę, która jednak ma taki zdefiniowany obiekt to nie dopisuj bo przy kompilacji wyskakuje ostrzeżenie, że dokonałeś redefinicji.
warning: "BUILTIN_LED" redefined
Wybierz albo płytkę bez tej definicji i ją zdefiniuj, albo płytkę z tą definicją i już jej nie dodawaj.

Akurat ta definicja jest zakręcona, bo typowo w Arduino jest LED_BUILTIN, dlatego w definicji płytki jest zdefiniowane:
Local\Arduino15\packages\esp32\hardware\esp32\2.0.14\variants\doitESP32devkitV1/pins_arduino.h:15: note: this is the location of the previous definition
#define BUILTIN_LED LED_BUILTIN // backward compatibility

U mnie zresztą poza tym ostrzeżeniem kompilacja się powiodła:
Sketch uses 808569 bytes (61%) of program storage space. Maximum is 1310720 bytes.
Global variables use 48196 bytes (14%) of dynamic memory, leaving 279484 bytes for local variables. Maximum is 327680 bytes.

Jak wybiorę płytkę generic ESP32 DEV MODULE i nie podam tej definicji to jest błąd:
'BUILTIN_LED' was not declared in this scope
A po dodaniu kompilacja przebiega OK (są jeszcze inne ostrzeżenia o użytych funkjach, ale to nie przeszkadza, można sprawdzić ewent. problemy po wgraniu).
No i jak dodajesz taką definicję to należy wskazać sensowny port, albo faktycznie z takim ledem na płytce, by nie zrobić kolizji na pinie, który został w programie zagospodarowany inaczej, część pinów jest w tym uC użyta do flash.

Wybierz DOIT i nic nie dopisuj, przecież napisałem, że u mnie skompilowało, jak masz taki sam szkic, biblioteki i core to wyniku musi być taki sam.
Miło być decenianym https://buycoffee.to/kaczakat
 
Odpowiedź
#15
Więc tak po walce z arduino i pomocy kolegi , pomogło odinstalowanie i skasowanie katalogu arduino , zainstalowałem od nowa arduino oraz płytkę ESP32 , I ESPTOOL w wersji 3.3.0 i kompilacja poszła bez problemowo także dzięki wielkie za pomoc.
 
Odpowiedź
  


Skocz do:


Przeglądający: 2 gości