跑马灯程序

 1 void setup() {
 2   // put your setup code here, to run once:
 3   int i;
 4   for(i = 7;i <= 12;i++){
 5     pinMode(i,OUTPUT);
 6   }
 7 
 8 }
 9 int now=  7;
10 int mode = 0;
11 void loop() {
12   // put your main code here, to run repeatedly
13   if(mode == 0){
14   int i;
15   for(i = 7;i <= 12;i++){
16     digitalWrite(i,LOW);
17   }
18   digitalWrite(now,HIGH);
19   delay(200);
20   now++;
21   if(now > 12){now = 12;mode = 1;}
22   
23   }
24   else if (mode == 1)
25   {
26     int i;
27   for(i = 7;i <= 12;i++){
28     digitalWrite(i,LOW);
29   }
30   digitalWrite(now,HIGH);
31   delay(200);
32   now--;
33   if(now < 7){now = 7;mode = 0;}
34   
35   }
36 
37 }
View Code

6个灯采用共阴接法,LED接330欧电阻,然后接地,没有接5V

转载于:https://www.cnblogs.com/lwy-kitty/p/4896238.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个简单的跑马灯程序,使用Python的Tkinter模块实现: ```python from tkinter import * class Marquee(Frame): def __init__(self, parent, text, bg, fg, font, width): Frame.__init__(self, parent, bg=bg) self.text = text self.font = font self.fg = fg self.width = width self.canvas = Canvas(self, bg=bg, width=width, height=font[1]) self.canvas.pack(side=LEFT) self.label = Label(self.canvas, text=text, bg=bg, fg=fg, font=font) self.label.pack(side=LEFT, padx=(0, width)) self.canvas.create_window(width, font[1]//2, window=self.label, anchor=W) self.bind('<Configure>', self.on_configure) self.offset = 0 self.tick() def tick(self): self.offset -= 1 if self.offset < -self.label.winfo_width(): self.offset = self.width self.canvas.coords(self.label, self.offset, 0) self.after(10, self.tick) def on_configure(self, event): self.canvas.configure(scrollregion=self.canvas.bbox('all')) root = Tk() root.title('跑马灯程序') root.geometry('500x50') marquee = Marquee(root, text='欢迎使用跑马灯程序', bg='black', fg='white', font=('Arial', 20), width=500) marquee.pack(fill=X) root.mainloop() ``` 这个程序创建了一个Marquee类,用于实现跑马灯效果。Marquee类继承自Frame类,并包含一个Canvas和一个Label。 Canvas用于显示跑马灯文字,而Label则是Canvas中的一个子组件,用于显示具体的文字内容。Canvas和Label的大小都是根据文字内容和字体大小计算得到的。 Marquee类有一个tick()方法,用于不断地更新Canvas中Label的位置,从而实现跑马灯效果。在这个方法中,使用after()函数实现了定时器,每隔10毫秒调用一次tick()方法。 程序主要部分是在Marquee类的构造函数中。在这里,我们创建了一个Canvas,然后将Label放在Canvas中,使用create_window()方法实现。然后绑定了Configure事件,当窗口大小改变时,重新计算Canvas的scrollregion,以便实现滚动效果。 最后,在程序的主函数中,创建了一个Marquee对象,并将其放在窗口中间。运行程序后,将会看到一个跑马灯效果的字符串。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值