質問編集履歴

3

補足説明の追加

2016/08/20 09:34

投稿

takpika
takpika

スコア9

test CHANGED
File without changes
test CHANGED
@@ -506,4 +506,18 @@
506
506
 
507
507
  ※実際のプログラムです。まだ製作途中です。
508
508
 
509
+
510
+
511
+ ###追加補足
512
+
513
+ 使用するパーツは
514
+
515
+ [1](http://akizukidenshi.com/catalog/g/gI-05163/)
516
+
517
+ [2](http://akizukidenshi.com/catalog/g/gI-09634/)
518
+
519
+ [3](http://akizukidenshi.com/catalog/g/gI-08605/)
520
+
521
+ 参考にしているサイトは
522
+
509
- ※同じプログラムが並んでいるのはコピペを何回もしたからです。
523
+ [リンク](https://sakura87.net/archives/2545)

2

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

2016/08/20 09:34

投稿

takpika
takpika

スコア9

test CHANGED
@@ -1 +1 @@
1
- Raspberry Piで作っているプログラムについて
1
+ Raspberry Piで作っている電光掲示板用プログラムについて
test CHANGED
@@ -1,8 +1,6 @@
1
- Raspberry PiでPythonを使用して変数内の数字を1か0か判断し、それぞれの結果を別の変数にそれぞれ格納しLEDを光らせるというプログラムを作っています。
1
+ Raspberry PiでPythonを使用して変数内の数字を1か0か判断し、それぞれの結果を別の変数にそれぞれ格納し電光掲示板を光らせるというプログラムを作っています。SN74HC595Nというパーツを使用しています。
2
-
3
- 大量のLEDを光らせるため、SN74HC595Nというパーツを使用しています。
2
+
4
-
5
- ですが、判断する数字の量多く判断部分を入力するのが面倒です。
3
+ ですが、判断する数字の量512個と多く判断部分を入力するのが面倒です。
6
4
 
7
5
  これを短くすることはできないでしょうか?
8
6
 
@@ -12,52 +10,500 @@
12
10
 
13
11
  ```Python
14
12
 
15
- def sendLEDdata(data(略))
16
-
17
- n = len(data)
18
-
19
-
20
-
21
- (略)
22
-
23
- for i in range(n)
24
-
25
- if data[i] == 1:
26
-
27
- (略)
28
-
29
- 変数1=[0,0,1,(略)]
30
-
31
-
32
-
33
- def 判断(Data):
34
-
35
- if Data[1] == 1:
36
-
37
- 変数2 = [0,0,0,(略)]
38
-
39
- else:
40
-
41
- 変数2 = [0,0,1,(略)]
42
-
43
- if Data[2] == 1:
44
-
45
- 変数3 = [0,0,0,(略)]
46
-
47
- (略)
48
-
49
- sendLEDdata(変数2,GPIOピンの番号))
50
-
51
- sendLEDdata(変数3,(略))
13
+ # -*- coding:utf-8 -*-
14
+
15
+ import RPi.GPIO as GPIO
16
+
17
+ from time import sleep
18
+
19
+
20
+
21
+ def sendLEDdata(data,ser,rclk,srclk):
22
+
23
+ n = len(data)
24
+
25
+
26
+
27
+ GPIO.output(rclk,GPIO.LOW)
28
+
29
+ GPIO.output(srclk,GPIO.LOW)
30
+
31
+
32
+
33
+ for i in range(n):
34
+
35
+ if data[i] == 1:
36
+
37
+ GPIO.output(ser,GPIO.HIGH)
38
+
39
+ else:
40
+
41
+ GPIO.output(ser,GPIO.HIGH)
42
+
43
+
44
+
45
+ GPIO.output(srclk,GPIO.HIGH)
46
+
47
+ GPIO.output(srclk,GPIO.LOW)
48
+
49
+
50
+
51
+ GPIO.output(rclk,GPIO.HIGH)
52
+
53
+ GPIO.output(rclk,GPIO.LOW)
54
+
55
+
56
+
57
+ SER=25
58
+
59
+ RCLK=24
60
+
61
+ SRCLK=23
62
+
63
+
64
+
65
+ GPIO.setmode(GPIO.BCM)
66
+
67
+ GPIO.setup(SER,GPIO.OUT)
68
+
69
+ GPIO.setup(RCLK,GPIO.OUT)
70
+
71
+ GPIO.setup(SRCLK,GPIO.OUT)
72
+
73
+
74
+
75
+ flame0=[0,0,0,0,0,0,0,0,
76
+
77
+ 0,0,0,0,0,0,0,0,
78
+
79
+ 0,0,0,0,0,0,0,0,
80
+
81
+ 0,0,0,0,0,0,0,0,
82
+
83
+ 0,0,0,0,0,0,0,0,
84
+
85
+ 0,0,0,0,0,0,0,0,
86
+
87
+ 0,0,0,0,0,0,0,0,
88
+
89
+ 0,0,0,0,0,0,0,0,
90
+
91
+ 0,0,0,0,0,0,0,0,]#ベースとなるフレーム
92
+
93
+
94
+
95
+ 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,
96
+
97
+ 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,
98
+
99
+ 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,
100
+
101
+ 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,
102
+
103
+ 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,
104
+
105
+ 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,
106
+
107
+ 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,
108
+
109
+ 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,
110
+
111
+ 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,
112
+
113
+ 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,
114
+
115
+ 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,
116
+
117
+ 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,
118
+
119
+ 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,
120
+
121
+ 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,
122
+
123
+ 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,
124
+
125
+ 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]
126
+
127
+
128
+
129
+ def sendimage(Data):
130
+
131
+ f1=1
132
+
133
+ f2=2
134
+
135
+ f3=3
136
+
137
+ f4=4
138
+
139
+ f5=5
140
+
141
+ f6=6
142
+
143
+ f7=7
144
+
145
+ f8=8
146
+
147
+ if Data[f1] == 1:
148
+
149
+ flame1=[0,0,0,0,0,0,0,0,
150
+
151
+ 0,0,0,0,0,0,0,0,
152
+
153
+ 0,0,0,0,0,0,0,0,
154
+
155
+ 0,0,0,0,0,0,0,0,
156
+
157
+ 0,0,0,0,0,0,0,0,
158
+
159
+ 0,0,0,0,0,0,0,0,
160
+
161
+ 0,0,0,0,0,0,0,0,
162
+
163
+ 0,0,0,0,0,0,0,1,
164
+
165
+ 0,0,0,0,0,0,0,1]
166
+
167
+ else:
168
+
169
+ flame1=[0,0,0,0,0,0,0,0,
170
+
171
+ 0,0,0,0,0,0,0,0,
172
+
173
+ 0,0,0,0,0,0,0,0,
174
+
175
+ 0,0,0,0,0,0,0,0,
176
+
177
+ 0,0,0,0,0,0,0,0,
178
+
179
+ 0,0,0,0,0,0,0,0,
180
+
181
+ 0,0,0,0,0,0,0,0,
182
+
183
+ 0,0,0,0,0,0,0,0,
184
+
185
+ 0,0,0,0,0,0,0,0]
186
+
187
+ if Data[f2] == 1:
188
+
189
+ flame2=[0,0,0,0,0,0,0,0,
190
+
191
+ 0,0,0,0,0,0,0,0,
192
+
193
+ 0,0,0,0,0,0,0,0,
194
+
195
+ 0,0,0,0,0,0,0,0,
196
+
197
+ 0,0,0,0,0,0,0,0,
198
+
199
+ 0,0,0,0,0,0,0,0,
200
+
201
+ 0,0,0,0,0,0,0,0,
202
+
203
+ 0,0,0,0,0,0,1,0,
204
+
205
+ 0,0,0,0,0,0,0,1]
206
+
207
+ else:
208
+
209
+ flame2=[0,0,0,0,0,0,0,0,
210
+
211
+ 0,0,0,0,0,0,0,0,
212
+
213
+ 0,0,0,0,0,0,0,0,
214
+
215
+ 0,0,0,0,0,0,0,0,
216
+
217
+ 0,0,0,0,0,0,0,0,
218
+
219
+ 0,0,0,0,0,0,0,0,
220
+
221
+ 0,0,0,0,0,0,0,0,
222
+
223
+ 0,0,0,0,0,0,0,0,
224
+
225
+ 0,0,0,0,0,0,0,0]
226
+
227
+ if Data[f3] == 1:
228
+
229
+ flame3=[0,0,0,0,0,0,0,0,
230
+
231
+ 0,0,0,0,0,0,0,0,
232
+
233
+ 0,0,0,0,0,0,0,0,
234
+
235
+ 0,0,0,0,0,0,0,0,
236
+
237
+ 0,0,0,0,0,0,0,0,
238
+
239
+ 0,0,0,0,0,0,0,0,
240
+
241
+ 0,0,0,0,0,0,0,0,
242
+
243
+ 0,0,0,0,0,1,0,0,
244
+
245
+ 0,0,0,0,0,0,0,1]
246
+
247
+ else:
248
+
249
+ flame3=[0,0,0,0,0,0,0,0,
250
+
251
+ 0,0,0,0,0,0,0,0,
252
+
253
+ 0,0,0,0,0,0,0,0,
254
+
255
+ 0,0,0,0,0,0,0,0,
256
+
257
+ 0,0,0,0,0,0,0,0,
258
+
259
+ 0,0,0,0,0,0,0,0,
260
+
261
+ 0,0,0,0,0,0,0,0,
262
+
263
+ 0,0,0,0,0,0,0,0,
264
+
265
+ 0,0,0,0,0,0,0,0]
266
+
267
+ if Data[f4] == 1:
268
+
269
+ flame4=[0,0,0,0,0,0,0,0,
270
+
271
+ 0,0,0,0,0,0,0,0,
272
+
273
+ 0,0,0,0,0,0,0,0,
274
+
275
+ 0,0,0,0,0,0,0,0,
276
+
277
+ 0,0,0,0,0,0,0,0,
278
+
279
+ 0,0,0,0,0,0,0,0,
280
+
281
+ 0,0,0,0,0,0,0,0,
282
+
283
+ 0,0,0,0,1,0,0,0,
284
+
285
+ 0,0,0,0,0,0,0,1]
286
+
287
+ else:
288
+
289
+ flame4=[0,0,0,0,0,0,0,0,
290
+
291
+ 0,0,0,0,0,0,0,0,
292
+
293
+ 0,0,0,0,0,0,0,0,
294
+
295
+ 0,0,0,0,0,0,0,0,
296
+
297
+ 0,0,0,0,0,0,0,0,
298
+
299
+ 0,0,0,0,0,0,0,0,
300
+
301
+ 0,0,0,0,0,0,0,0,
302
+
303
+ 0,0,0,0,0,0,0,0,
304
+
305
+ 0,0,0,0,0,0,0,0]
306
+
307
+ if Data[f5] == 1:
308
+
309
+ flame5=[0,0,0,0,0,0,0,0,
310
+
311
+ 0,0,0,0,0,0,0,0,
312
+
313
+ 0,0,0,0,0,0,0,0,
314
+
315
+ 0,0,0,0,0,0,0,0,
316
+
317
+ 0,0,0,0,0,0,0,0,
318
+
319
+ 0,0,0,0,0,0,0,0,
320
+
321
+ 0,0,0,0,0,0,0,0,
322
+
323
+ 0,0,0,1,0,0,0,0,
324
+
325
+ 0,0,0,0,0,0,0,1]
326
+
327
+ else:
328
+
329
+ flame5=[0,0,0,0,0,0,0,0,
330
+
331
+ 0,0,0,0,0,0,0,0,
332
+
333
+ 0,0,0,0,0,0,0,0,
334
+
335
+ 0,0,0,0,0,0,0,0,
336
+
337
+ 0,0,0,0,0,0,0,0,
338
+
339
+ 0,0,0,0,0,0,0,0,
340
+
341
+ 0,0,0,0,0,0,0,0,
342
+
343
+ 0,0,0,0,0,0,0,0,
344
+
345
+ 0,0,0,0,0,0,0,0]
346
+
347
+ if Data[f6] == 1:
348
+
349
+ flame6=[0,0,0,0,0,0,0,0,
350
+
351
+ 0,0,0,0,0,0,0,0,
352
+
353
+ 0,0,0,0,0,0,0,0,
354
+
355
+ 0,0,0,0,0,0,0,0,
356
+
357
+ 0,0,0,0,0,0,0,0,
358
+
359
+ 0,0,0,0,0,0,0,0,
360
+
361
+ 0,0,0,0,0,0,0,0,
362
+
363
+ 0,0,1,0,0,0,0,0,
364
+
365
+ 0,0,0,0,0,0,0,1]
366
+
367
+ else:
368
+
369
+ flame6=[0,0,0,0,0,0,0,0,
370
+
371
+ 0,0,0,0,0,0,0,0,
372
+
373
+ 0,0,0,0,0,0,0,0,
374
+
375
+ 0,0,0,0,0,0,0,0,
376
+
377
+ 0,0,0,0,0,0,0,0,
378
+
379
+ 0,0,0,0,0,0,0,0,
380
+
381
+ 0,0,0,0,0,0,0,0,
382
+
383
+ 0,0,0,0,0,0,0,0,
384
+
385
+ 0,0,0,0,0,0,0,0]
386
+
387
+ if Data[f7] == 1:
388
+
389
+ flame7=[0,0,0,0,0,0,0,0,
390
+
391
+ 0,0,0,0,0,0,0,0,
392
+
393
+ 0,0,0,0,0,0,0,0,
394
+
395
+ 0,0,0,0,0,0,0,0,
396
+
397
+ 0,0,0,0,0,0,0,0,
398
+
399
+ 0,0,0,0,0,0,0,0,
400
+
401
+ 0,0,0,0,0,0,0,0,
402
+
403
+ 0,1,0,0,0,0,0,0,
404
+
405
+ 0,0,0,0,0,0,0,1]
406
+
407
+ else:
408
+
409
+ flame7=[0,0,0,0,0,0,0,0,
410
+
411
+ 0,0,0,0,0,0,0,0,
412
+
413
+ 0,0,0,0,0,0,0,0,
414
+
415
+ 0,0,0,0,0,0,0,0,
416
+
417
+ 0,0,0,0,0,0,0,0,
418
+
419
+ 0,0,0,0,0,0,0,0,
420
+
421
+ 0,0,0,0,0,0,0,0,
422
+
423
+ 0,0,0,0,0,0,0,0,
424
+
425
+ 0,0,0,0,0,0,0,0]
426
+
427
+ if Data[f8] == 1:
428
+
429
+ flame8=[0,0,0,0,0,0,0,0,
430
+
431
+ 0,0,0,0,0,0,0,0,
432
+
433
+ 0,0,0,0,0,0,0,0,
434
+
435
+ 0,0,0,0,0,0,0,0,
436
+
437
+ 0,0,0,0,0,0,0,0,
438
+
439
+ 0,0,0,0,0,0,0,0,
440
+
441
+ 0,0,0,0,0,0,0,0,
442
+
443
+ 1,0,0,0,0,0,0,0,
444
+
445
+ 0,0,0,0,0,0,0,1]
446
+
447
+ else:
448
+
449
+ flame8=[0,0,0,0,0,0,0,0,
450
+
451
+ 0,0,0,0,0,0,0,0,
452
+
453
+ 0,0,0,0,0,0,0,0,
454
+
455
+ 0,0,0,0,0,0,0,0,
456
+
457
+ 0,0,0,0,0,0,0,0,
458
+
459
+ 0,0,0,0,0,0,0,0,
460
+
461
+ 0,0,0,0,0,0,0,0,
462
+
463
+ 0,0,0,0,0,0,0,0,
464
+
465
+ 0,0,0,0,0,0,0,0]
466
+
467
+ f1=f1+32
468
+
469
+ f2=f2+32
470
+
471
+ f3=f3+32
472
+
473
+ f4=f4+32
474
+
475
+ f5=f5+32
476
+
477
+ f6=f6+32
478
+
479
+ f7=f7+32
480
+
481
+ f8=f8+32
482
+
483
+ (略)
484
+
485
+
486
+
487
+
488
+
489
+
490
+
491
+ sendLEDdata(flame1,SER,RCLK,SRCLK)
492
+
493
+
494
+
495
+
496
+
497
+
52
498
 
53
499
  try:
54
500
 
55
501
  While True:
56
502
 
57
- 判断(変数1)
503
+ sendimage(image)
58
504
 
59
505
  ```
60
506
 
61
- 変数などはすべて日本語にわざとしています。実際のプログラムでは英語にしています。
507
+ ※実際のプログラムです。だ製作途中です。
62
-
508
+
63
- 変数内数字適当です。
509
+ 同じプログラムが並んでいるのはコピペを何回もしたからです。

1

初心者マークをつけた

2016/08/20 09:26

投稿

takpika
takpika

スコア9

test CHANGED
File without changes
test CHANGED
File without changes