1
00:00:00,660 --> 00:00:08,010
Like in the previous lecture, he learned how to use This is your boy six inch display, which based

2
00:00:08,010 --> 00:00:11,130
on the SSD, one three or six controlled chip.

3
00:00:11,640 --> 00:00:19,010
And in this lecture, I'll show you a slightly larger display again, eighty seven point three inch,

4
00:00:19,260 --> 00:00:23,340
using the one one zero six controller chip.

5
00:00:23,790 --> 00:00:29,730
I'm going to use the exact same connections between the screen and the three two.

6
00:00:29,730 --> 00:00:40,270
I'm using the square to see interface, which involves the ACL and the pins going to JBoss 25 and 26.

7
00:00:40,740 --> 00:00:50,490
Now, unlike our previous experiment with the SSD one three or six display, I was able to get this

8
00:00:50,490 --> 00:00:58,080
display to work both with software I could see and hardware I quite see and of course, hardware see,

9
00:00:58,090 --> 00:01:01,100
which is more efficient with resources.

10
00:01:01,380 --> 00:01:08,060
So in this demonstration here, I'm using the hardware interface instead of the software interface.

11
00:01:08,820 --> 00:01:17,610
Now, in terms of the driver Python Library that I'm using here, I found a really good one which is

12
00:01:18,120 --> 00:01:21,000
available at this location right here.

13
00:01:21,000 --> 00:01:26,700
And you can see its source code right here, really well documented up in the header.

14
00:01:27,210 --> 00:01:35,970
This library allows you to use this screen both with the FBI or the squared C interface for the module

15
00:01:35,970 --> 00:01:43,350
that I've got here, of course, only provides Pince for the ice Quixey interface, and that's how I'm

16
00:01:43,350 --> 00:01:44,310
using it here.

17
00:01:44,610 --> 00:01:52,650
But in a way, the library does allow you to use the same Oletta display with the as one one zero six

18
00:01:52,800 --> 00:01:59,720
controller, you know, using the S.P.I connection if the more to the to using breaks out those pins.

19
00:02:00,420 --> 00:02:00,610
Right.

20
00:02:00,690 --> 00:02:04,790
We may come back to this source code in a minute.

21
00:02:05,220 --> 00:02:11,640
Let's go back to the example script of code information about the connections right here.

22
00:02:12,000 --> 00:02:22,260
You can go ahead and wire up your screen just to change this to software or hardware.

23
00:02:22,380 --> 00:02:25,290
I could see because the both work fine.

24
00:02:25,950 --> 00:02:33,480
Now, down here in the actual code, I'm importing the ice quazi and PIN modules as well as the driver

25
00:02:33,480 --> 00:02:33,960
code.

26
00:02:34,440 --> 00:02:45,480
And you can see that I'm creating the ice quazi object by using the minimal version of the constructor.

27
00:02:45,480 --> 00:02:50,520
I'm just passing the idea of the hardware interface being No.

28
00:02:50,520 --> 00:02:55,170
One just remind you could go to the macro python documentation.

29
00:02:55,170 --> 00:03:04,800
You'll see that the eight squared C ID one channel means that a seal is connected to your twenty five

30
00:03:04,800 --> 00:03:08,750
a.D.A, the GPO twenty six, which is how often the wiring here.

31
00:03:09,690 --> 00:03:13,640
So that's all the code you need in order to create the ice.

32
00:03:13,680 --> 00:03:17,520
Quixey object also mentioned that I have tried software.

33
00:03:17,530 --> 00:03:19,860
It's Quassey and that works as well.

34
00:03:19,860 --> 00:03:22,650
I've just committed out that code in case you want to use it.

35
00:03:22,860 --> 00:03:24,660
It's a very flexible library.

36
00:03:25,290 --> 00:03:33,030
Then in line forty one, we are creating the display object by calling the Hajj one one zero six and

37
00:03:33,030 --> 00:03:35,130
the skylights could see constructor.

38
00:03:35,520 --> 00:03:41,790
You can search for that constructor function in the source code and you'll take it to this and you can

39
00:03:41,790 --> 00:03:48,900
see the initialization function and its parameters, the width to hide the object.

40
00:03:48,900 --> 00:03:53,220
I'm not sure what this is, but I'm just going to go with the default of none.

41
00:03:53,580 --> 00:04:01,640
And finally, you've got the address here, so you've got the display object here and then initialize

42
00:04:01,650 --> 00:04:01,980
it.

43
00:04:02,340 --> 00:04:07,980
And the contents lead to true if you want to minimize the power consumption.

44
00:04:07,980 --> 00:04:14,340
But of course, make sure that the display is awake by passing falls to the sleep function, then we'll

45
00:04:14,340 --> 00:04:18,780
start printing out some various test text or patterns.

46
00:04:19,170 --> 00:04:21,840
In this case, turn the screen to black.

47
00:04:21,840 --> 00:04:25,050
Surpassing zero means all the pixels are turned off.

48
00:04:25,680 --> 00:04:29,040
Then I'm writing a bit of text here at this location.

49
00:04:29,040 --> 00:04:32,070
This is X and Y.

50
00:04:32,100 --> 00:04:37,620
You can see if you search for text, you can see the.

51
00:04:42,330 --> 00:04:48,990
Come right here, this shackled to the frame buffer implementation of text function.

52
00:04:51,280 --> 00:04:57,910
So you've got a bit of text pointing out and then we call show to bring this drawing out of the box

53
00:04:58,060 --> 00:05:01,090
and implemented and show it onto the screen.

54
00:05:02,410 --> 00:05:09,610
Go to sleep for a second, then fill the screen by turning all the lights on so that we light up the

55
00:05:09,610 --> 00:05:12,760
whole screen, then I'm going to print out a bit of text.

56
00:05:12,760 --> 00:05:18,550
But this time I'm going to print it in black and turn off its pixels.

57
00:05:19,560 --> 00:05:27,360
You can also rotate the screen so that you can have the screen pointing upside down if you need, depending

58
00:05:27,360 --> 00:05:28,320
on the orientation.

59
00:05:28,350 --> 00:05:35,070
So this is something that the library for the SSD one three zero six in the previous lecture did not

60
00:05:35,190 --> 00:05:37,470
provide us with such rotate function.

61
00:05:37,920 --> 00:05:42,780
So we can flip things around and then we can print a rectangle.

62
00:05:44,130 --> 00:05:50,360
And in this case here, I'm filling the screen by printing multiple rectangles.

63
00:05:50,370 --> 00:05:54,630
Each one is larger than the previous until eventually fills the whole screen.

64
00:05:55,810 --> 00:06:01,900
And then finally, I've got a little bit of an animation going on here, I've got a little box that

65
00:06:01,900 --> 00:06:07,840
is travelling from the left end of the screen to the right and then back to the left, which is what

66
00:06:07,840 --> 00:06:09,540
you can see happening right here.

67
00:06:10,120 --> 00:06:13,440
The little box there is bouncing off the sides of the screen.

68
00:06:14,500 --> 00:06:17,150
I'm going to get control, see?

69
00:06:18,380 --> 00:06:22,670
To stop the program from running and then I'm going to start from the beginning so we can see what is

70
00:06:22,670 --> 00:06:25,640
going on until we get see the bouncing ball segment.

71
00:06:27,240 --> 00:06:34,440
You're testing one, two inverted, it's a box in the middle and then the full screen, the gradual

72
00:06:34,440 --> 00:06:35,280
full screen.

73
00:06:37,600 --> 00:06:41,580
And finally, the bouncing ball is an example of a simple animation.

74
00:06:42,070 --> 00:06:43,810
Now this is happening using hardware.

75
00:06:43,820 --> 00:06:47,670
It's quite easy so that it's an efficient way to drive this great.
