ESP32 NodeMCU Basic Interface Examples

 Here we can see ESP32 NodeMCU Basic Interface Examples


LED glow using Button Input Method in While loop

gpio.config( { gpio=23, dir=gpio.OUT }, { gpio=0, dir=gpio.IN}) 
while(true)
do
   if (gpio.read(0)==0) then gpio.write(23, 1) 
   else gpio.write(23, 0) 
   end 
end

LED glow using Button Interrupt


gpio.trig(0, gpio.INTR_UP_DOWN,pin_interrupt_1) –GPIO-0 as INPUT
function pin_interrupt_1(level)
if (0 == gpio.read(0)) then
gpio.write(23, 1)
else
gpio.write(23, 0)
end
end

LED Blink using Timer

gpio.config( { gpio=23, dir=gpio.OUT }) 
ArunEworld_timer = tmr.create()
ArunEworld_timer:register(1000, tmr.ALARM_AUTO, function()
if (gpio.read(23)==1) then gpio.write(23, 0)
elseif (gpio.read(23)==0) then gpio.write(23, 1)
end
end)
ArunEworld_timer:start()

GPIO Configuration

gpio.config({ gpio=23, dir=gpio.OUT })
  • gpio=23 → This selects GPIO 23 on the ESP32/NodeMCU.
  • dir=gpio.OUT → Sets the pin as an output pin.
  • Effect: You can now control GPIO 23 programmatically by writing HIGH (1) or LOW (0) values.

Creating a Timer

ArunEworld_timer = tmr.create()
  • tmr.create() → Creates a new software timer object.
  • ArunEworld_timer → Stores this timer, so it can be started, stopped, or reused.

Registering the Timer Callback

ArunEworld_timer:register(1000, tmr.ALARM_AUTO, function() 
	if (gpio.read(23)==1) then 
		gpio.write(23, 0)
	elseif (gpio.read(23)==0) then 
		gpio.write(23, 1)
	end
end)
  • 1000 → Timer interval in milliseconds (1000 ms = 1 second).
  • tmr.ALARM_AUTO → Timer repeats automatically after each interval.
  • function() ... end → The callback function executed every 1 second.

Inside the callback:

  • gpio.read(23) → Reads the current state of GPIO 23.
  • if 1 then gpio.write(23,0) → If the pin is HIGH, set it LOW.
  • elseif 0 then gpio.write(23,1) → If the pin is LOW, set it HIGH.

Effect: This toggles GPIO 23 every second. If you connect an LED to GPIO 23, it will blink with a 1-second interval.


Starting the Timer

ArunEworld_timer:start()

Activates the timer, so the callback function begins executing repeatedly every 1 second. ESP32 NodeMCU Basic Interface Examples.


 

Please turn AdBlock off, and continue learning

Notice for AdBlock users

Please turn AdBlock off
Index

Discover more from ArunEworld

Subscribe now to keep reading and get access to the full archive.

Continue reading