the_python_code
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionLast revisionBoth sides next revision | ||
the_python_code [2016/12/21 16:01] – [Import Python Libraries] walkeradmin | the_python_code [2016/12/21 16:21] – [Complete Code Set] walkeradmin | ||
---|---|---|---|
Line 72: | Line 72: | ||
---- | ---- | ||
- | ==== Declare | + | ==== Define |
Rather than referring to GPIO pin numbers in the code, we are declaring some variables that we can use to reference the GPIO pin numbers to actual functions. (So the LCD Reset that uses GPIO pin 26 can be called by using just LCD_RS for example). | Rather than referring to GPIO pin numbers in the code, we are declaring some variables that we can use to reference the GPIO pin numbers to actual functions. (So the LCD Reset that uses GPIO pin 26 can be called by using just LCD_RS for example). | ||
\\ | \\ | ||
Line 90: | Line 90: | ||
---- | ---- | ||
==== Import Python Libraries ==== | ==== Import Python Libraries ==== | ||
- | + | Below we are defining some more constants, these are to do with the LCD lines and chars, as well as the timing. | |
- | + | ||
- | + | ||
- | \\ | + | |
\\ | \\ | ||
- | \\ | + | < |
- | \\ | + | |
- | \\ | + | |
- | + | ||
# Define some device constants | # Define some device constants | ||
LCD_WIDTH = 40 # Maximum characters per line | LCD_WIDTH = 40 # Maximum characters per line | ||
Line 105: | Line 98: | ||
LCD_CMD = False | LCD_CMD = False | ||
- | # Do I need to change line 2 address | + | # Address |
LCD_LINE_1 = 0x80 # LCD RAM address for the 1st line | LCD_LINE_1 = 0x80 # LCD RAM address for the 1st line | ||
LCD_LINE_2 = 0xC0 # LCD RAM address for the 2nd line | LCD_LINE_2 = 0xC0 # LCD RAM address for the 2nd line | ||
Line 112: | Line 105: | ||
E_PULSE = 0.0005 | E_PULSE = 0.0005 | ||
E_DELAY = 0.0005 | E_DELAY = 0.0005 | ||
+ | </ | ||
+ | ---- | ||
+ | ==== Code Start ==== | ||
+ | This is where the main code starts, as this program runs in a loop, anything above the line <color red>def main():</ | ||
+ | \\ | ||
+ | \\ | ||
+ | <color red> | ||
+ | \\ | ||
+ | < | ||
def main(): | def main(): | ||
# Main program block | # Main program block | ||
Line 124: | Line 126: | ||
GPIO.setup(LCD_D6, | GPIO.setup(LCD_D6, | ||
GPIO.setup(LCD_D7, | GPIO.setup(LCD_D7, | ||
+ | </ | ||
+ | ---- | ||
+ | ==== Program Start ==== | ||
+ | This is the main body of the code that runs the LCD, to save splitting this up I will comment in this section. | ||
+ | \\ | ||
+ | < | ||
########################################## | ########################################## | ||
# | # | ||
Line 133: | Line 141: | ||
lcd_init() | lcd_init() | ||
+ | # If using DHCP this is required, or code runs before network is ready. | ||
lcd_string(" | lcd_string(" | ||
time.sleep(5) | time.sleep(5) | ||
+ | </ | ||
+ | ---- | ||
+ | ==== Read File ==== | ||
+ | Here we are opening the file <color red>'/ | ||
+ | \\ | ||
+ | < | ||
while True: | while True: | ||
## Open the file with read only permit | ## Open the file with read only permit | ||
Line 158: | Line 172: | ||
## close the file after reading the lines. | ## close the file after reading the lines. | ||
f.close() | f.close() | ||
+ | </ | ||
- | # Display | + | ---- |
- | # lcd_string(" | + | ==== Set which line to write to the LCD ==== |
- | # lcd_string(" | + | The code below sets what lines from the 8 lines are used (so Master Pi displays lines 1&2, the fourth Pi displays Lines 7&8. |
- | # lcd_string(" | + | \\ |
- | + | \\ | |
- | # time.sleep(2) # x second delay | + | line< |
+ | \\ | ||
+ | \\ | ||
+ | This above example tells the Pi to use Line <color red> | ||
+ | \\ | ||
+ | < | ||
# write line 1 and 2 to the LCD (Line7 and Line8 because this is UMD4) | # write line 1 and 2 to the LCD (Line7 and Line8 because this is UMD4) | ||
lcd_string(" | lcd_string(" | ||
Line 171: | Line 190: | ||
time.sleep(1) # x second delay | time.sleep(1) # x second delay | ||
+ | </ | ||
+ | ---- | ||
+ | ==== LCD Write Code ==== | ||
+ | The code below takes our text and writes it to the LCD, do not make any changes to this section. | ||
+ | \\ | ||
+ | < | ||
########################################## | ########################################## | ||
# | # | ||
Line 269: | Line 293: | ||
</ | </ | ||
\\ | \\ | ||
+ | |||
+ | ---- | ||
+ | |||
\\ | \\ | ||
\\ | \\ | ||
+ | ===== Complete Code Set ===== | ||
\\ | \\ | ||
- | \\ | + | Below is the complete file without any breaks, you can cut and paste this to create your own UMD LCD. |
- | \\ | + | |
- | \\ | + | |
- | \\ | + | |
- | \\ | + | |
- | \\ | + | |
- | \\ | + | |
- | \\ | + | |
\\ | \\ | ||
\\ | \\ | ||
Line 383: | Line 404: | ||
## close the file after reading the lines. | ## close the file after reading the lines. | ||
f.close() | f.close() | ||
- | |||
- | # Display the current IP Address information | ||
- | # lcd_string(" | ||
- | # lcd_string(" | ||
- | # lcd_string(" | ||
- | |||
- | # time.sleep(2) # x second delay | ||
# write line 1 and 2 to the LCD (Line7 and Line8 because this is UMD4) | # write line 1 and 2 to the LCD (Line7 and Line8 because this is UMD4) |
the_python_code.txt · Last modified: 2023/03/09 22:35 by 127.0.0.1