NodeMCU Projects

= Small Projects =

Control a hobby servo

 * 1) Hobby servo motors can be controlled using PWM.
 * 2) They require a frequency of 50Hz and a duty between about 40 and 115, with 77 being the center value.


 * Manual Movements


 * Random movements:

DHT11 Temp Sensor
Source: github.com


 * Use DHT11 Module driectly, Do not use Sensor board with Pull Up resistor.
 * Testing Sensor:


 * Printing Temperature to I2C LCD

Deep-sleep mode

 * This shut down the ESP8266 and all its peripherals & also WiFi.
 * But not including the real-time-clock, which is used to wake the chip.
 * This drastically reduces current consumption and is a good way to make devices that can run for a while on a battery.
 * You Must connect GPIO16 to the reset pin.

= Analog Temperature Meter =

Requirements: DS18B20 Temperature sensor Servo Motor Micropython based NodeMCU

Wiring details: Servo motor = D4 => GPIO 2 DS18B20    = D7 => GPIO 13

= NeoPixel =

= Morse Code =

= I2C LCD =

Source: forum.micropython.org & forum.micropython.org

https://github.com/dhylands/python_lcd/tree/master/lcd - esp8266_i2c_lcd.py - lcd_api.py
 * Download the below library files from below link & upload them to NodeMCU:

D1 SCL SCL D2 SDA SDA GND --- GND 5V VCC
 * Connect the NodeMCU to I2C LCD-1602 as below:

lcd=I2cLcd(i2c, 0x27, 2, 16) lcd=I2cLcd(i2c, 39, 2, 16)
 * There are many versions of this device - the difference is the controller IC.
 * If you have the PCF8574T. the default I2C bus address is 0x27.
 * If you have the PCF8574AT the default I2C bus address is 0x3F(63).
 * Defining Address:


 * An i2c.scan should reveal which address to use:


 * Print the output on the LCD:

= MAX7219 based 8x8 LED Matrix =

Source: github.com

https://github.com/vrialland/micropython-max7219/blob/master/max7219.py
 * Download below Library and upload it to NodeMCU:


 * Connections:

ESP8266 	MAX7219 5V 	       VCC GND 	       GND D7 (GPIO13) 	DIN D8 (GPIO15) 	CS D5 (GPIO14) 	CLK


 * Static Testing:

screen.text("ABCD",x,y,z)
 * Command explaination

ABCD = Text to be displayed x = Horizontal Position y = Vertical Position


 * Scroll Text:

Auto Marque Library
Source: github.com

https://github.com/jgbrown32/ESP8266_MAX7219/blob/master/max7219.py
 * Download below Library and upload it to NodeMCU:


 * Flash all the LEDs

Display Info using Urequests

 * References