Raspberrypythonprograms
Raspberrypythonprograms
import machine
import utime
LED = machine.Pin(1,machine.Pin.OUT)
LED1 = machine.Pin(5,machine.Pin.OUT)
LED2 = machine.Pin(9,machine.Pin.OUT)
LED3 = machine.Pin(13,machine.Pin.OUT)
LED4 = machine.Pin(21,machine.Pin.OUT)
LED6 = machine.Pin(27,machine.Pin.OUT)
LED7 = machine.Pin(28,machine.Pin.OUT)
while True:
LED.value(1)
utime.sleep(0.5)
LED.value(0)
utime.sleep(0.5)
LED1.value(1)
utime.sleep(0.5)
LED1.value(0)
utime.sleep(0.5)
LED2.value(1)
utime.sleep(0.5)
LED2.value(0)
utime.sleep(0.5)
LED3.value(1)
utime.sleep(0.5)
LED3.value(0)
utime.sleep(0.5)
LED4.value(1)
utime.sleep(0.5)
LED4.value(0)
utime.sleep(0.5)
LED6.value(1)
utime.sleep(0.5)
LED6.value(0)
utime.sleep(0.5)
LED7.value(1)
utime.sleep(0.5)
LED7.value(0)
utime.sleep(0.5)
2 leds blink
import machine
import utime
LED = machine.Pin(1,machine.Pin.OUT)
LED1 = machine.Pin(5,machine.Pin.OUT)
while True:
LED.value(1)
utime.sleep(0.5)
LED.value(0)
utime.sleep(0.5)
LED1.value(1)
utime.sleep(0.5)
LED1.value(0)
utime.sleep(0.5)
import machine
import utime
led_onboard = machine.Pin(25,machine.Pin.OUT)
while True:
led_onboard.value(1)
utime.sleep(1)
led_onboard.value(0)
utime.sleep(0.5)
while True:
if uart.any() > 0:
data = uart.read()
print(data)
if "1" in data:
led.value(1)
print('LED on \n')
uart.write('LED on \n')
led.value(0)
import time
Trig = Pin(1,Pin.OUT)
Echo = Pin(2,Pin.IN)
def distance():
Trig.value(0)
time.sleep_us(4)
Trig.value(1)
time.sleep_us(10)
Trig.value(0)
while Echo.value()==0:
low = time.ticks_us()
while Echo.value()==1:
high = time.ticks_us()
t=high-low
return t
while True:
dis = distance()
cm = dis*0.034/2
cm1 = float(cm)
class GpioLcd(LcdApi):
num_lines=2, num_columns=16):
objects which describe which pin the given line from the LCD is
connected to.
When used in 4-bit mode, only D4, D5, D6, and D7 are physically
connected to the LCD panel. This function allows you call it like
GpioLcd(rs, enable, D4, D5, D6, D7) and it will interpret that as
The rw pin isn't used by this library, but if you specify it, then
"""
self.rs_pin = rs_pin
self.enable_pin = enable_pin
self.rw_pin = rw_pin
self.backlight_pin = backlight_pin
self._4bit = True
self.d0_pin = d0_pin
self.d1_pin = d1_pin
self.d2_pin = d2_pin
self.d3_pin = d3_pin
self.d4_pin = d4_pin
self.d5_pin = d5_pin
self.d6_pin = d6_pin
self.d7_pin = d7_pin
self._4bit = False
else:
# This is really 4-bit mode, and the 4 data pins were just
self.d0_pin = None
self.d1_pin = None
self.d2_pin = None
self.d3_pin = None
self.d4_pin = d0_pin
self.d5_pin = d1_pin
self.d6_pin = d2_pin
self.d7_pin = d3_pin
self.rs_pin.init(Pin.OUT)
self.rs_pin.value(0)
if self.rw_pin:
self.rw_pin.init(Pin.OUT)
self.rw_pin.value(0)
self.enable_pin.init(Pin.OUT)
self.enable_pin.value(0)
self.d4_pin.init(Pin.OUT)
self.d5_pin.init(Pin.OUT)
self.d6_pin.init(Pin.OUT)
self.d7_pin.init(Pin.OUT)
self.d4_pin.value(0)
self.d5_pin.value(0)
self.d6_pin.value(0)
self.d7_pin.value(0)
if not self._4bit:
self.d0_pin.init(Pin.OUT)
self.d1_pin.init(Pin.OUT)
self.d2_pin.init(Pin.OUT)
self.d3_pin.init(Pin.OUT)
self.d0_pin.value(0)
self.d1_pin.value(0)
self.d2_pin.value(0)
self.d3_pin.value(0)
self.backlight_pin.init(Pin.OUT)
self.backlight_pin.value(0)
self.hal_write_init_nibble(self.LCD_FUNCTION_RESET)
self.hal_write_init_nibble(self.LCD_FUNCTION_RESET)
sleep_ms(1)
self.hal_write_init_nibble(self.LCD_FUNCTION_RESET)
sleep_ms(1)
cmd = self.LCD_FUNCTION
if not self._4bit:
cmd |= self.LCD_FUNCTION_8BIT
self.hal_write_init_nibble(cmd)
sleep_ms(1)
if num_lines > 1:
cmd |= self.LCD_FUNCTION_2LINES
self.hal_write_command(cmd)
def hal_pulse_enable(self):
self.enable_pin.value(0)
sleep_us(1)
self.enable_pin.value(1)
self.enable_pin.value(0)
"""
self.hal_write_4bits(nibble >> 4)
def hal_backlight_on(self):
if self.backlight_pin:
self.backlight_pin.value(1)
def hal_backlight_off(self):
if self.backlight_pin:
self.backlight_pin.value(0)
self.rs_pin.value(0)
self.hal_write_8bits(cmd)
if cmd <= 3:
sleep_ms(5)
self.rs_pin.value(1)
self.hal_write_8bits(data)
if self.rw_pin:
self.rw_pin.value(0)
if self._4bit:
self.hal_write_4bits(value >> 4)
self.hal_write_4bits(value)
else:
self.hal_pulse_enable()
import utime
lcd = GpioLcd(rs_pin=Pin(8),
enable_pin=Pin(9),
d4_pin=Pin(10),
d5_pin=Pin(11),
d6_pin=Pin(12),
d7_pin=Pin(13),
num_lines=2, num_columns=16)
lcd.putstr('hello World')
utime.sleep(1)
lcd.clear()
lcd.move_to(1,0)
lcd.putstr('rohini')
lcd.move_to(1,1)
lcd.putstr('umachandran')
sensor = Pin(13,Pin.IN)
buzzer = Pin(1,Pin.OUT)
while True:
if sensor.value()==1:
buzzer.value(1)
else:
buzzer.value(0)
lcd =GpioLcd(rs_pin=Pin(8),
enable_pin=Pin(9),
d4_pin=Pin(10),
d5_pin=Pin(11),
d6_pin=Pin(12),
d7_pin=Pin(13),
num_lines=2, num_columns=16)
lcd.move_to(1,1)
lcd.putstr('Hello world')
import time
class LcdApi:
"""Implements the API for talking with HD44780 compatible character LCDs.
This class only knows what commands to send to the LCD, and not how to get
"""
# The following constant names were lifted from the avrlib lcd.h
# to bit masks.
LCD_RS_CMD = 0
LCD_RS_DATA = 1
LCD_RW_WRITE = 0
LCD_RW_READ = 1
self.num_lines = num_lines
if self.num_lines > 4:
self.num_lines = 4
self.num_columns = num_columns
self.num_columns = 40
self.cursor_x = 0
self.cursor_y = 0
self.implied_newline = False
self.backlight = True
self.display_off()
self.backlight_on()
self.clear()
self.hal_write_command(self.LCD_ENTRY_MODE | self.LCD_ENTRY_INC)
self.hide_cursor()
self.display_on()
def clear(self):
"""Clears the LCD display and moves the cursor to the top left
corner.
"""
self.hal_write_command(self.LCD_CLR)
self.hal_write_command(self.LCD_HOME)
self.cursor_x = 0
self.cursor_y = 0
def show_cursor(self):
self.hal_write_command(self.LCD_ON_CTRL | self.LCD_ON_DISPLAY |
self.LCD_ON_CURSOR)
def hide_cursor(self):
self.hal_write_command(self.LCD_ON_CTRL | self.LCD_ON_DISPLAY)
def blink_cursor_on(self):
self.hal_write_command(self.LCD_ON_CTRL | self.LCD_ON_DISPLAY |
self.LCD_ON_CURSOR | self.LCD_ON_BLINK)
def blink_cursor_off(self):
self.hal_write_command(self.LCD_ON_CTRL | self.LCD_ON_DISPLAY |
self.LCD_ON_CURSOR)
def display_on(self):
def display_off(self):
self.hal_write_command(self.LCD_ON_CTRL)
def backlight_on(self):
This isn't really an LCD command, but some modules have backlight
"""
self.backlight = True
self.hal_backlight_on()
def backlight_off(self):
This isn't really an LCD command, but some modules have backlight
"""
self.backlight = False
self.hal_backlight_off()
self.cursor_x = cursor_x
self.cursor_y = cursor_y
if cursor_y & 1:
addr += self.num_columns
self.hal_write_command(self.LCD_DDRAM | addr)
"""
if char == '\n':
if self.implied_newline:
self.implied_newline = False
else:
self.cursor_x = self.num_columns
else:
self.hal_write_data(ord(char))
self.cursor_x += 1
self.cursor_y += 1
self.cursor_y = 0
self.move_to(self.cursor_x, self.cursor_y)
"""
self.putchar(char)
"""
self.hal_sleep_us(40)
for i in range(8):
self.hal_write_data(charmap[i])
self.hal_sleep_us(40)
self.move_to(self.cursor_x, self.cursor_y)
def hal_backlight_on(self):
"""
pass
def hal_backlight_off(self):
"""
pass
function.
"""
raise NotImplementedError
function.
"""
raise NotImplementedError
time.sleep_us(usecs) # NOTE this is not part of Standard Python library, specific hal layers will need
to override this
pwm =PWM(Pin(15))
pwm.freq(50)
def SetServoCycle(position):
pwm.duty_u16(position)
sleep(0.01)
while True:
SetServoCycle(pos)
import time
lcd = GpioLcd(rs_pin=Pin(8),
enable_pin=Pin(9),
d4_pin=Pin(10),
d5_pin=Pin(11),
d6_pin=Pin(12),
d7_pin=Pin(13),
num_lines=2, num_columns=16)
Trig = Pin(1,Pin.OUT)
Echo = Pin(2,Pin.IN)
def distance():
Trig.value(0)
time.sleep_us(4)
Trig.value(1)
time.sleep_us(10)
Trig.value(0)
while Echo.value()==0:
low = time.ticks_us()
while Echo.value()==1:
high = time.ticks_us()
t=high-low
return t
def startText():
lcd.move_to(0,0)
lcd.putstr("Distance Loading")
for i in range(0,15):
lcd.move_to(i,1)
lcd.putstr(".")
time.sleep(0.3)
startText()
lcd.clear()
while True:
dis = distance()
cm = dis*0.034/2
cm1 = float(cm)
lcd.move_to(0,0)
lcd.putstr('Distance:')
lcd.putstr(str(cm1))
time.sleep(1)