MicroPython动手做(38)——控制触摸屏-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

楼主: eagler8

MicroPython动手做(38)——控制触摸屏

[复制链接]
 楼主| 发表于 2020-7-6 20:47 | 显示全部楼层
MixPY 实验图形编程

14.gif
 楼主| 发表于 2020-7-7 11:05 | 显示全部楼层
8、实验之三:触摸绿色块开关绿色LED灯


  1. #MicroPython动手做(38)——控制触摸屏
  2. #实验之三:触摸绿色块开关绿色LED灯

  3. import touchscreen as ts
  4. import time
  5. import mixno
  6. import lcd
  7. import image
  8. from machine import I2C


  9. i2c = I2C(I2C.I2C0, freq=400000, scl=30, sda=31)
  10. lcd.init(freq=15000000,color=0)
  11. ts.init(i2c)
  12. LED_G=mixno.pin(6,mixno.GPIO.OUT)
  13. image = image.Image()
  14. while True:
  15.     image = image.draw_rectangle([100,80,120,80],57351,1,1)
  16.     if ts.read()[0] == 3:
  17.         if 100 < ts.read()[1] < 220 and 80 < ts.read()[2] < 160:
  18.             LED_G.value(0)
  19.             time.sleep_ms(300)
  20.     else:
  21.         LED_G.value(1)
  22.     lcd.display(image)
复制代码


 楼主| 发表于 2020-7-7 11:19 | 显示全部楼层
实验三场景示意图

19.gif
 楼主| 发表于 2020-7-7 11:24 | 显示全部楼层
MixPY 实验图形编程

16.jpg
 楼主| 发表于 2020-7-7 12:09 | 显示全部楼层
9、实验之四:红蓝触摸块控制红蓝色LED灯

红蓝二个色块按钮,点动打开相应颜色的LED灯


  1. #MicroPython动手做(38)——控制触摸屏
  2. #实验之四:红蓝触摸块控制红蓝色LED灯

  3. import touchscreen as ts
  4. import mixno
  5. import lcd
  6. import image
  7. from machine import I2C


  8. i2c = I2C(I2C.I2C0, freq=400000, scl=30, sda=31)
  9. lcd.init(freq=15000000,color=0)
  10. ts.init(i2c)
  11. LED_R=mixno.pin(7,mixno.GPIO.OUT)
  12. LED_B=mixno.pin(8,mixno.GPIO.OUT)
  13. image = image.Image()
  14. image = image.draw_rectangle([50,80,60,80],248,1,1)
  15. image = image.draw_rectangle([190,80,60,80],7936,1,1)
  16. while True:
  17.     if 50 < ts.read()[1] < 110 and 80 < ts.read()[2] < 160:
  18.         LED_R.value(0)
  19.     else:
  20.         LED_R.value(1)
  21.     if 190 < ts.read()[1] < 250 and 80 < ts.read()[2] < 160:
  22.         LED_B.value(0)
  23.     else:
  24.         LED_B.value(1)
  25.     lcd.display(image)
复制代码


 楼主| 发表于 2020-7-7 12:11 | 显示全部楼层
实验四的场景示意图

24.gif
 楼主| 发表于 2020-7-7 12:14 | 显示全部楼层
MixPY 实验四图形编程

24.gif
 楼主| 发表于 2020-7-7 13:09 | 显示全部楼层
10、实验之五:触摸画红线


  1. #MicroPython动手做(38)——控制触摸屏
  2. #实验之五:触摸画红线

  3. import touchscreen as ts
  4. import mixno
  5. import lcd
  6. import image
  7. from machine import I2C


  8. lcd.init(freq=15000000,color=0x0000)
  9. i2c = I2C(I2C.I2C0, freq=400000, scl=30, sda=31)
  10. ts.init(i2c)
  11. lcd.clear(0x0000)
  12. img = image.Image()
  13. status_last = ts.STATUS_IDLE
  14. x_last = 0
  15. y_last = 0
  16. draw = False
  17. LED_R=mixno.pin(7,mixno.GPIO.OUT)
  18. while True:
  19.     status = ts.read()[0]
  20.     x = ts.read()[1]
  21.     y = ts.read()[2]
  22.     if draw:
  23.         img = img.draw_line([x_last,y_last,x,y],(255,0,0),1)
  24.     if status_last != status:
  25.         if status == ts.STATUS_MOVE or status == ts.STATUS_PRESS:
  26.             draw = True
  27.         else:
  28.             draw = False
  29.         status_last = status
  30.     lcd.display(img)
  31.     x_last = x
  32.     y_last = y
复制代码


 楼主| 发表于 2020-7-7 13:11 | 显示全部楼层
实验五的场景示意图

29.gif
 楼主| 发表于 2020-7-7 13:15 | 显示全部楼层
MixPY 实验五的图形编程

25.jpg
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-12-28 01:12 , Processed in 0.080754 second(s), 15 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表