Som jeg lovet: Koden øverst
Sitat#define ONBOARD_LED 2
// the setup function runs once when you press reset or power the boardvoid setup() {// initialize digital pin ONBOARD_LED pin as an output.pinMode(ONBOARD_LED, OUTPUT);}
// the loop function runs over and over again forevervoid loop() {digitalWrite(ONBOARD_LED, HIGH); // turn the LED on (HIGH is the voltage level)delay(1000); // wait for a seconddigitalWrite(ONBOARD_LED, LOW); // turn the LED off by making the voltage LOWdelay(1000); // wait for a second}
Det finnes en million guider om det å komme igang med Arduino eller ESP32 så egentlig burde jeg bare henvise til nettet, men for å gjøre dette komplett får jeg ta en miniversjon her også:
-
Skaff deg en ESP32 🙂
Dessverre ser jeg at Kjell&co ikke fører den versjonen lengre så da blir det Aliexpress kanskje? - Last ned Arduino IDE. Etterhvert ønsker du kanskje å bruke platform.io for VS Code, men i starten er Arduino IDE helt greit
- Trykk på BOARDS MANAGEREN og last ned ESP32
- Sjekk i Tools/Port menyen hvilke seriell porter du har FØR du plugger inn ESP32
- Koble prosessoren til PCen med en USB kabel. (Sjekk at det røde lyset tenner på ESP32'en)
- Gå i Tools/Port menyen og velg den porten som nå (helst) har dukket opp
- Gå i Tools/Board:/ESP32 menyen og velg ESP32 Dev Module
- Kopier og lim inn programmet (istedet for det som ligger i den høyre delen av vinduet (void setup() osv))
- Trykk på toolbar inkon Pil til høyre (Upload) og vent på at programmet kompilerer og laster ESP32'en
-
Om alt går bra står det
Leaving...
Hard resetting via RTS pin...
Nå skal det blå lyset blinke hvert sekund. Hurra du har laget et program og kjører det på en mikroprosessor.
La oss koble til serial monitoren for å følge med i hva som skjer i programmet.
Endre programmet til dette:
Sitat#define ONBOARD_LED 2
// the setup function runs once when you press reset or power the boardvoid setup() {// initialize digital pin LED_BUILTIN as an output.pinMode(ONBOARD_LED, OUTPUT);
Serial.begin(115200);Serial.println("Startup");}
// the loop function runs over and over again forevervoid loop() {digitalWrite(ONBOARD_LED, HIGH); // turn the LED on (HIGH is the voltage level)Serial.println("Funkar");delay(1000); // wait for a secondSerial.println("Funkar inte");digitalWrite(ONBOARD_LED, LOW); // turn the LED off by making the voltage LOWdelay(1000); // wait for a second}
Trykk på toolbar pila igjen og vent på kompilering og upload.
Når den er ferdig velger du Tools/Serial Monitor og endrer dropdown boksen til høyre til 115200
Du ser nå teksten som mikroprosessoren skriver ut til deg.
Om du trykker på den lille bryteren til venstre for USBen på ESP32 kortet vil den restarte.
La oss nå bruke en "bryter" til å tenne LEDen istedet. Last ned og print ut dette kartet og heng det på veggen i laben din:
Vi skal nå bruke GPOI pin 13 som input pinne. Vi definerer den som INPUT og sier ifra at vi ønsker at ESP32'en internt skal sørge for å dra den opp til HIGH dersom den ikke er tilkoblet til noe. For å aktivere den trenger vi da kun å koble den til jord (GND)
Sitat#define BRYTER_PIN GPIO_NUM_13
pinMode(BRYTER_PIN,INPUT_PULLUP);
Vi endrer programmet til å teste på denne pinnen og styre lyset. For at ikke teksten skal rase forbi (prøv uten den linja så skal du se) beholder vi den lille pausen på 1 sek. ( delay(1000); )
Da blir programmet slik:
Sitat#define ONBOARD_LED 2#define BRYTER_PIN GPIO_NUM_13
// the setup function runs once when you press reset or power the boardvoid setup() {// initialize digital pin ONBOARD_LED as an output.pinMode(ONBOARD_LED, OUTPUT);// INPUT PIN med intern PULLUPpinMode(BRYTER_PIN,INPUT_PULLUP);
Serial.begin(115200);Serial.println("Startup");}
// the loop function runs over and over again forevervoid loop() {if (digitalRead(BRYTER_PIN) == LOW) {digitalWrite(ONBOARD_LED, HIGH); // turn the LED on (HIGH is the voltage level)Serial.println("Funkar");} else {digitalWrite(ONBOARD_LED, LOW); // turn the LED off by making the voltage LOWSerial.println("Funkar inte");delay(1000);}}
Om du nå kobler en ledning mellom GND og GPOI_13 vil du se at LEDen tenner.
Når vi har gått gjennom MQTT Komme i gang skal vi bygge dette ut og styre LEDen og lese pinnen over MQTT i ESP32/MQTT Det første programmet
Anbefalte kommentarer
Bli med i samtalen
Du kan publisere innhold nå og registrere deg senere. Hvis du har en konto, logg inn nå for å poste med kontoen din.