当前位置:   article > 正文

ESP32-Thonny 拍摄图片到SD卡

ESP32-Thonny 拍摄图片到SD卡

 前言:

 代码运行在Thonny

添加main.py到单片机中: 

可以先运行一下试试:会输出以下信息:

没有问题的话(SD卡挂载成功,摄像头初始化成功)运行一次主程序后,闪光灯会闪烁一下。

代码:

  1. import camera
  2. import socket
  3. import time
  4. import uos
  5. from machine import SDCard
  6. from machine import Pin
  7. # 挂载sd卡到sd文件夹
  8. try:
  9. uos.mount(SDCard(), "/sd")
  10. except Exception as ret:
  11. print("挂载失败...", ret)
  12. else:
  13. print("挂载成功...")
  14. # 初始化摄像头
  15. camera.init(0, format=camera.JPEG, fb_location=camera.PSRAM)
  16. print("初始化摄像头成功...")
  17. # 上翻下翻
  18. camera.flip(1)
  19. #左/右
  20. camera.mirror(0)
  21. # 分辨率
  22. camera.framesize(camera.FRAME_HVGA)
  23. # 选项如下:
  24. # FRAME_96X96 FRAME_QQVGA FRAME_QCIF FRAME_HQVGA FRAME_240X240
  25. # FRAME_QVGA FRAME_CIF FRAME_HVGA FRAME_VGA FRAME_SVGA
  26. # FRAME_XGA FRAME_HD FRAME_SXGA FRAME_UXGA FRAME_FHD
  27. # FRAME_P_HD FRAME_P_3MP FRAME_QXGA FRAME_QHD FRAME_WQXGA
  28. # FRAME_P_FHD FRAME_QSXGA
  29. # 特效
  30. camera.speffect(camera.EFFECT_NONE)
  31. #选项如下:
  32. # 效果\无(默认)效果\负效果\ BW效果\红色效果\绿色效果\蓝色效果\复古效果
  33. # EFFECT_NONE (default) EFFECT_NEG \EFFECT_BW\ EFFECT_RED\ EFFECT_GREEN\ EFFECT_BLUE\ EFFECT_RETRO
  34. # 白平衡
  35. # camera.whitebalance(camera.WB_HOME)
  36. #选项如下:
  37. # WB_NONE (default) WB_SUNNY WB_CLOUDY WB_OFFICE WB_HOME
  38. # 饱和
  39. camera.saturation(2)
  40. #-2,2(默认为0). -2灰度
  41. # -2,2 (default 0). -2 grayscale
  42. # 亮度
  43. camera.brightness(1)
  44. #-2,2(默认为0). 2亮度
  45. # -2,2 (default 0). 2 brightness
  46. # 对比度
  47. camera.contrast(1)
  48. #-2,2(默认为0).2高对比度
  49. #-2,2 (default 0). 2 highcontrast
  50. # 质量
  51. camera.quality(10)
  52. #10-63数字越小质量越高
  53. # socket UDP 的创建
  54. s = socket.socket(socket.AF_INET,socket.SOCK_DGRAM,0)
  55. led = Pin(4, Pin.OUT)
  56. try:
  57. count = 1
  58. while True:
  59. buf = camera.capture() # 大小是640x480 拍摄一张图片
  60. # tu_name= "图{}.png".format(count)
  61. # with open(tu_name, "wb") as f:
  62. # f.write(buf) # buf中的数据就是图片的数据,所以直接写入到文件就行了
  63. # print("拍照已完成")
  64. sd_name="/sd/tu{}.jpg".format(count)
  65. with open(sd_name, "wb") as f:
  66. f.write(buf)
  67. if count < 2:
  68. led.value(1)
  69. time.sleep(0.1)
  70. led.value(0)
  71. time.sleep(0.1)
  72. # print(sd_name)
  73. time.sleep(3)#3s
  74. count +=1
  75. finally:
  76. camera.deinit()

结果:

ji代码是在这个网站学习的:

PDF文档下载 (itprojects.cn)

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/495837
推荐阅读
相关标签
  

闽ICP备14008679号