質問するログイン新規登録

質問編集履歴

3

補足説明の追加

2016/08/20 09:34

投稿

takpika
takpika

スコア9

title CHANGED
File without changes
body CHANGED
@@ -252,4 +252,11 @@
252
252
  sendimage(image)
253
253
  ```
254
254
  ※実際のプログラムです。まだ製作途中です。
255
+
256
+ ###追加補足
257
+ 使用するパーツは
258
+ [1](http://akizukidenshi.com/catalog/g/gI-05163/)
259
+ [2](http://akizukidenshi.com/catalog/g/gI-09634/)
260
+ [3](http://akizukidenshi.com/catalog/g/gI-08605/)
261
+ 参考にしているサイトは
255
- ※同じプログラムが並んでいるのはコピペを何回もしたからです。
262
+ [リンク](https://sakura87.net/archives/2545)

2

プログラムの変更、目的の変更、タイトルの変更

2016/08/20 09:34

投稿

takpika
takpika

スコア9

title CHANGED
@@ -1,1 +1,1 @@
1
- Raspberry Piで作っているプログラムについて
1
+ Raspberry Piで作っている電光掲示板用プログラムについて
body CHANGED
@@ -1,32 +1,255 @@
1
- Raspberry PiでPythonを使用して変数内の数字を1か0か判断し、それぞれの結果を別の変数にそれぞれ格納しLEDを光らせるというプログラムを作っています。
1
+ Raspberry PiでPythonを使用して変数内の数字を1か0か判断し、それぞれの結果を別の変数にそれぞれ格納し電光掲示板を光らせるというプログラムを作っています。SN74HC595Nというパーツを使用しています。
2
- 大量のLEDを光らせるため、SN74HC595Nというパーツを使用しています。
3
- ですが、判断する数字の量多く判断部分を入力するのが面倒です。
2
+ ですが、判断する数字の量512個と多く判断部分を入力するのが面倒です。
4
3
  これを短くすることはできないでしょうか?
5
4
 
6
5
  ###現在のプログラム
7
6
  ```Python
7
+ # -*- coding:utf-8 -*-
8
- def sendLEDdata(data(略))
8
+ import RPi.GPIO as GPIO
9
- n = len(data)
9
+ from time import sleep
10
10
 
11
- (略)
11
+ def sendLEDdata(data,ser,rclk,srclk):
12
- for i in range(n)
12
+ n = len(data)
13
- if data[i] == 1:
14
- (略)
15
- 変数1=[0,0,1,(略)]
16
13
 
14
+ GPIO.output(rclk,GPIO.LOW)
15
+ GPIO.output(srclk,GPIO.LOW)
16
+
17
+ for i in range(n):
18
+ if data[i] == 1:
19
+ GPIO.output(ser,GPIO.HIGH)
20
+ else:
21
+ GPIO.output(ser,GPIO.HIGH)
22
+
23
+ GPIO.output(srclk,GPIO.HIGH)
24
+ GPIO.output(srclk,GPIO.LOW)
25
+
26
+ GPIO.output(rclk,GPIO.HIGH)
27
+ GPIO.output(rclk,GPIO.LOW)
28
+
29
+ SER=25
30
+ RCLK=24
31
+ SRCLK=23
32
+
33
+ GPIO.setmode(GPIO.BCM)
34
+ GPIO.setup(SER,GPIO.OUT)
35
+ GPIO.setup(RCLK,GPIO.OUT)
36
+ GPIO.setup(SRCLK,GPIO.OUT)
37
+
38
+ flame0=[0,0,0,0,0,0,0,0,
39
+ 0,0,0,0,0,0,0,0,
40
+ 0,0,0,0,0,0,0,0,
41
+ 0,0,0,0,0,0,0,0,
42
+ 0,0,0,0,0,0,0,0,
43
+ 0,0,0,0,0,0,0,0,
44
+ 0,0,0,0,0,0,0,0,
45
+ 0,0,0,0,0,0,0,0,
46
+ 0,0,0,0,0,0,0,0,]#ベースとなるフレーム
47
+
48
+ image=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
49
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
50
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
51
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
52
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
53
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
54
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
55
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
56
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
57
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
58
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
59
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
60
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
61
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
62
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
63
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
64
+
17
- def 判断(Data):
65
+ def sendimage(Data):
66
+ f1=1
67
+ f2=2
68
+ f3=3
69
+ f4=4
70
+ f5=5
71
+ f6=6
72
+ f7=7
73
+ f8=8
18
- if Data[1] == 1:
74
+ if Data[f1] == 1:
75
+ flame1=[0,0,0,0,0,0,0,0,
76
+ 0,0,0,0,0,0,0,0,
77
+ 0,0,0,0,0,0,0,0,
78
+ 0,0,0,0,0,0,0,0,
79
+ 0,0,0,0,0,0,0,0,
80
+ 0,0,0,0,0,0,0,0,
81
+ 0,0,0,0,0,0,0,0,
82
+ 0,0,0,0,0,0,0,1,
19
- 変数2 = [0,0,0,(略)]
83
+ 0,0,0,0,0,0,0,1]
20
84
  else:
85
+ flame1=[0,0,0,0,0,0,0,0,
86
+ 0,0,0,0,0,0,0,0,
87
+ 0,0,0,0,0,0,0,0,
88
+ 0,0,0,0,0,0,0,0,
89
+ 0,0,0,0,0,0,0,0,
90
+ 0,0,0,0,0,0,0,0,
91
+ 0,0,0,0,0,0,0,0,
92
+ 0,0,0,0,0,0,0,0,
21
- 変数2 = [0,0,1,(略)]
93
+ 0,0,0,0,0,0,0,0]
22
- if Data[2] == 1:
94
+ if Data[f2] == 1:
95
+ flame2=[0,0,0,0,0,0,0,0,
96
+ 0,0,0,0,0,0,0,0,
97
+ 0,0,0,0,0,0,0,0,
98
+ 0,0,0,0,0,0,0,0,
99
+ 0,0,0,0,0,0,0,0,
100
+ 0,0,0,0,0,0,0,0,
101
+ 0,0,0,0,0,0,0,0,
102
+ 0,0,0,0,0,0,1,0,
23
- 変数3 = [0,0,0,(略)]
103
+ 0,0,0,0,0,0,0,1]
104
+ else:
105
+ flame2=[0,0,0,0,0,0,0,0,
106
+ 0,0,0,0,0,0,0,0,
107
+ 0,0,0,0,0,0,0,0,
108
+ 0,0,0,0,0,0,0,0,
109
+ 0,0,0,0,0,0,0,0,
110
+ 0,0,0,0,0,0,0,0,
111
+ 0,0,0,0,0,0,0,0,
112
+ 0,0,0,0,0,0,0,0,
113
+ 0,0,0,0,0,0,0,0]
114
+ if Data[f3] == 1:
115
+ flame3=[0,0,0,0,0,0,0,0,
116
+ 0,0,0,0,0,0,0,0,
117
+ 0,0,0,0,0,0,0,0,
118
+ 0,0,0,0,0,0,0,0,
119
+ 0,0,0,0,0,0,0,0,
120
+ 0,0,0,0,0,0,0,0,
121
+ 0,0,0,0,0,0,0,0,
122
+ 0,0,0,0,0,1,0,0,
123
+ 0,0,0,0,0,0,0,1]
124
+ else:
125
+ flame3=[0,0,0,0,0,0,0,0,
126
+ 0,0,0,0,0,0,0,0,
127
+ 0,0,0,0,0,0,0,0,
128
+ 0,0,0,0,0,0,0,0,
129
+ 0,0,0,0,0,0,0,0,
130
+ 0,0,0,0,0,0,0,0,
131
+ 0,0,0,0,0,0,0,0,
132
+ 0,0,0,0,0,0,0,0,
133
+ 0,0,0,0,0,0,0,0]
134
+ if Data[f4] == 1:
135
+ flame4=[0,0,0,0,0,0,0,0,
136
+ 0,0,0,0,0,0,0,0,
137
+ 0,0,0,0,0,0,0,0,
138
+ 0,0,0,0,0,0,0,0,
139
+ 0,0,0,0,0,0,0,0,
140
+ 0,0,0,0,0,0,0,0,
141
+ 0,0,0,0,0,0,0,0,
142
+ 0,0,0,0,1,0,0,0,
143
+ 0,0,0,0,0,0,0,1]
144
+ else:
145
+ flame4=[0,0,0,0,0,0,0,0,
146
+ 0,0,0,0,0,0,0,0,
147
+ 0,0,0,0,0,0,0,0,
148
+ 0,0,0,0,0,0,0,0,
149
+ 0,0,0,0,0,0,0,0,
150
+ 0,0,0,0,0,0,0,0,
151
+ 0,0,0,0,0,0,0,0,
152
+ 0,0,0,0,0,0,0,0,
153
+ 0,0,0,0,0,0,0,0]
154
+ if Data[f5] == 1:
155
+ flame5=[0,0,0,0,0,0,0,0,
156
+ 0,0,0,0,0,0,0,0,
157
+ 0,0,0,0,0,0,0,0,
158
+ 0,0,0,0,0,0,0,0,
159
+ 0,0,0,0,0,0,0,0,
160
+ 0,0,0,0,0,0,0,0,
161
+ 0,0,0,0,0,0,0,0,
162
+ 0,0,0,1,0,0,0,0,
163
+ 0,0,0,0,0,0,0,1]
164
+ else:
165
+ flame5=[0,0,0,0,0,0,0,0,
166
+ 0,0,0,0,0,0,0,0,
167
+ 0,0,0,0,0,0,0,0,
168
+ 0,0,0,0,0,0,0,0,
169
+ 0,0,0,0,0,0,0,0,
170
+ 0,0,0,0,0,0,0,0,
171
+ 0,0,0,0,0,0,0,0,
172
+ 0,0,0,0,0,0,0,0,
173
+ 0,0,0,0,0,0,0,0]
174
+ if Data[f6] == 1:
175
+ flame6=[0,0,0,0,0,0,0,0,
176
+ 0,0,0,0,0,0,0,0,
177
+ 0,0,0,0,0,0,0,0,
178
+ 0,0,0,0,0,0,0,0,
179
+ 0,0,0,0,0,0,0,0,
180
+ 0,0,0,0,0,0,0,0,
181
+ 0,0,0,0,0,0,0,0,
182
+ 0,0,1,0,0,0,0,0,
183
+ 0,0,0,0,0,0,0,1]
184
+ else:
185
+ flame6=[0,0,0,0,0,0,0,0,
186
+ 0,0,0,0,0,0,0,0,
187
+ 0,0,0,0,0,0,0,0,
188
+ 0,0,0,0,0,0,0,0,
189
+ 0,0,0,0,0,0,0,0,
190
+ 0,0,0,0,0,0,0,0,
191
+ 0,0,0,0,0,0,0,0,
192
+ 0,0,0,0,0,0,0,0,
193
+ 0,0,0,0,0,0,0,0]
194
+ if Data[f7] == 1:
195
+ flame7=[0,0,0,0,0,0,0,0,
196
+ 0,0,0,0,0,0,0,0,
197
+ 0,0,0,0,0,0,0,0,
198
+ 0,0,0,0,0,0,0,0,
199
+ 0,0,0,0,0,0,0,0,
200
+ 0,0,0,0,0,0,0,0,
201
+ 0,0,0,0,0,0,0,0,
202
+ 0,1,0,0,0,0,0,0,
203
+ 0,0,0,0,0,0,0,1]
204
+ else:
205
+ flame7=[0,0,0,0,0,0,0,0,
206
+ 0,0,0,0,0,0,0,0,
207
+ 0,0,0,0,0,0,0,0,
208
+ 0,0,0,0,0,0,0,0,
209
+ 0,0,0,0,0,0,0,0,
210
+ 0,0,0,0,0,0,0,0,
211
+ 0,0,0,0,0,0,0,0,
212
+ 0,0,0,0,0,0,0,0,
213
+ 0,0,0,0,0,0,0,0]
214
+ if Data[f8] == 1:
215
+ flame8=[0,0,0,0,0,0,0,0,
216
+ 0,0,0,0,0,0,0,0,
217
+ 0,0,0,0,0,0,0,0,
218
+ 0,0,0,0,0,0,0,0,
219
+ 0,0,0,0,0,0,0,0,
220
+ 0,0,0,0,0,0,0,0,
221
+ 0,0,0,0,0,0,0,0,
222
+ 1,0,0,0,0,0,0,0,
223
+ 0,0,0,0,0,0,0,1]
224
+ else:
225
+ flame8=[0,0,0,0,0,0,0,0,
226
+ 0,0,0,0,0,0,0,0,
227
+ 0,0,0,0,0,0,0,0,
228
+ 0,0,0,0,0,0,0,0,
229
+ 0,0,0,0,0,0,0,0,
230
+ 0,0,0,0,0,0,0,0,
231
+ 0,0,0,0,0,0,0,0,
232
+ 0,0,0,0,0,0,0,0,
233
+ 0,0,0,0,0,0,0,0]
234
+ f1=f1+32
235
+ f2=f2+32
236
+ f3=f3+32
237
+ f4=f4+32
238
+ f5=f5+32
239
+ f6=f6+32
240
+ f7=f7+32
241
+ f8=f8+32
24
- (略)
242
+ 略)
243
+
244
+
245
+
25
- sendLEDdata(変数2,(GPIOピンの番号))
246
+ sendLEDdata(flame1,SER,RCLK,SRCLK)
26
- sendLEDdata(変数3,(略))
247
+
248
+
249
+
27
250
  try:
28
251
  While True:
29
- 判断(変数1)
252
+ sendimage(image)
30
253
  ```
31
- 変数などはすべて日本語にわざとしています。実際のプログラムでは英語にしています。
254
+ ※実際のプログラムです。だ製作途中です。
32
- 変数内数字適当です。
255
+ 同じプログラムが並んでいるのはコピペを何回もしたからです。

1

初心者マークをつけた

2016/08/20 09:26

投稿

takpika
takpika

スコア9

title CHANGED
File without changes
body CHANGED
File without changes