关于树莓派(二):树莓派Pico W如何将LED灯变成呼吸灯?

一.引言


OLED屏幕则为我们提供了一种高质量但不能触碰的显示解决方案。在这篇文章中,这次讲解如何使用树莓派Pico W和OLED屏幕来显示实时天气信息。

二.所需材料


  • 树莓派Pico W
  • 0.96英寸OLED屏幕(带I2C接口)
  • 杜邦线

三.步骤


3.1连接硬件

  1. 将OLED屏幕的VCC引脚连接到Pico W的3.3V(倒数第5个)引脚。
  2. 将OLED屏幕的GND引脚连接到Pico W的GND引脚。
  3. 将OLED屏幕的SDA引脚连接到Pico W的GP0引脚。
  4. 将OLED屏幕的SCL引脚连接到Pico W的GP1引脚。

3.2编辑Python代码在Thonny IDE上。

首先,需要用一个开源的天气API Library,和用dafruit SSD1306库来控制OLED屏

pip install requests

#下载开源的天气API Library

pip install adafruit-circuitpython-ssd1306

#下载adafruit-circuitpython-ssd1306

其次,写一个Python代码,随便命名(自己知道就行)

import time

import requests

from board import SCL, SDA

import busio

import adafruit_ssd1306

974196e0ba774fb99f07b71724767355.jpg

 

# 设置OLED屏幕

i2c = busio.I2C(SCL, SDA)

oled = adafruit_ssd1306.SSD1306_I2C(128, 64, i2c)

660c338f4030499a8162feeaf89587cd.jpg

 

# 获取天气信息

def get_weather():

    api_key = "YOUR_API_KEY" # 替换为你的天气API密钥,端口有:https://www.seniverse.com/转载自"尾善爱看海"非常感谢(知心天气)

#注册知心天气账号,完成后进入“产品--天气数据API”,找到我的信息,记住我的API密钥和我的用户ID(后面有用的)(

    city = "YOUR_CITY" # 替换为你的城市名称

   urf=f"http://api.weatherapi.com/v1/current.json?key={api_key}&q={city}"

    response = requests.get(url)

    data = response.json()

    return data

7968c9a0b58a435fa888dfdf5d75516d.jpg

 

# 在OLED屏幕上显示天气信息

def display_weather(weather):

    oled.fill(0)

    oled.text("Weather Update:", 0, 0, 1)

    oled.text(f"City: {weather['location']['name']}", 0, 16, 1)

    oled.text(f"Temperature: {weather['current']['temp_c']}°C", 0, 32, 1)

    oled.text(f"Condition: {weather['current']['condition']['text']}", 0, 48, 1)

    oled.show()

 

# 主循环

while True:

    weather_data = get_weather()

    display_weather(weather_data)

    time.sleep(1800) # 每30分钟更新一次天气信息,1800s可以随自己意愿改。

2df7df736bf14633a267d7bb3390dd17.jpg

 

后记


通过这篇文章,讲解如何使用树莓派Pico W和OLED屏幕来显示实时天气信息。你可以根据自己的需求扩展代码,显示更多的天气参数。记得关注哦,作者也会回关。

 

 

 

  • 26
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值