更新的代码 我们仍然无法在面包板上实现按钮以便在按下时运行所有这些代码(即,获取最近的推文并在液晶显示屏上显示它们),并且当按下按钮或LCD写入时,小LED亮起字符串。
非常感谢任何帮助。
import twitter
from RPLCD import CharLCD
import RPi.GPIO as GPIO
import time
from html.parser import HTMLParser
lcd = CharLCD(cols=24,rows=2,pin_rs=26, pin_e=24, pins_data=[22, 18, 16, 12],numbering_mode=GPIO.BCM)
api = twitter.Api(consumer_key = 'jGuhu2M0luIBw7B713re7EGNp',
consumer_secret = 'YGazMMJbE0RzHBUy0zOhU9QbBtKLYLFcz5PiWDkYYulEq5pOKE',
access_token_key = '788782390873391104-DAykFUDPkj0lO3rMGln3F2D5ZT1auro',
access_token_secret = '9WiJeEbOYeEGMkGh6jr8UKsOt0aXAyUarH1Qzhjp74Qba')
#htmlParser = html.parser.HTMLParser()\
htmlParser = HTMLParser()
try:
while True:
try:
homeTimeline = api.GetHomeTimeline(count=1)
except:
lcd.clear()
lcd.write_string(u'An Error occurred! Retrying')
continue
tweetUser = homeTimeline[0].user.screen_name
tweetText = homeTimeline[0].text
tweetText = htmlParser.unescape(tweetText) # convert HTML symbols like &
tweetText = tweetText.replace('\n',' ') # replace newlines with space
tweetText = tweetText[12:]
# Break the tweet into two parts as the LCD screen can display
# only 80 characters at a time
seg1_len = 80 - len(tweetUser) - 2
tweetText1 = tweetText[:seg1_len]
tweetText2 = tweetText[seg1_len:]
lcd.clear()
lcd.write_string(tweetText1)
if tweetText2:
for i in range(7):
time.sleep(8)
lcd.clear()
lcd.write_string(tweetText2)
time.sleep(8)
lcd.clear()
lcd.write_string(tweetText1)
else:
time.sleep(60)
except KeyboardInterrupt:
pass
finally:
lcd.clear()
lcd.write_string(u'Twitter feed stopped'
=========================更新===================== ================ 我们要克服的问题是: 1.实现搜索特定主题标签的方法 2.使用LCD上的#标签显示推文 3.检索到新推文时点亮LED 4.按下按钮使显示屏变亮或变暗 5.按下按钮时,检索具有指定标签的新推文
我试图弄清楚如何编写代码来搜索hashtag以及如何在LCD上显示它。目前的代码似乎只通过代码中定义的Twitter API从我的Twitter帐户中检索和显示推文。我也不确定将GPIO输入或输出放在代码中的哪个位置,以便在按下按钮时获取新推文或在收到某些内容时如何点亮LED。
LED连接到GPIO(5) 按钮1连接到GPIO(20) 按钮2连接到GPIO(21)
我将上传更好的面包板设置图片。
在网上大纲中制作面包板上的设计。