Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
198 commits
Select commit Hold shift + click to select a range
e29e01d
Update README.md
wendyju Aug 24, 2021
00ba454
Update README.md
rei039474 Aug 27, 2021
065cce0
Updated Fall2021 Lab1
rei039474 Aug 30, 2021
879de4e
Updated Lab content
rei039474 Aug 30, 2021
cd407e4
Updated lab list
rei039474 Aug 30, 2021
47f559d
Update README.md
bremers Aug 30, 2021
75d623f
Merge pull request #1 from FAR-Lab/Fall2021
bremers Sep 2, 2021
e12a08c
Created a test file during Lab1-1
bremers Sep 2, 2021
2caa12f
fix mistake
bremers Sep 2, 2021
8f9a65f
upload the content for Lab 2 Fall2021
rei039474 Sep 9, 2021
be20a71
Merge branch 'Fall2021-Shadow' of https://github.com/FAR-Lab/Interact…
rei039474 Sep 9, 2021
a3385e4
Merge pull request #47 from FAR-Lab/Spring2021
rei039474 Sep 9, 2021
4833398
update Lab 2
rei039474 Sep 9, 2021
e376f53
update Lab 2
rei039474 Sep 9, 2021
8086c80
update Lab 2 Fall2021
rei039474 Sep 9, 2021
45428eb
Update README.md
rei039474 Sep 9, 2021
51ac638
Update README.md
rei039474 Sep 9, 2021
986e3a2
Update README.md
rei039474 Sep 13, 2021
19756ae
Update kit parts
rei039474 Sep 13, 2021
033c93e
Update kit parts
rei039474 Sep 13, 2021
f63138a
Update README.md
rei039474 Sep 13, 2021
62c9fc5
Update kit parts list
rei039474 Sep 13, 2021
9ee3bda
Merge pull request #48 from FAR-Lab/Fall2021-Shadow
rei039474 Sep 14, 2021
10fae16
Update info of installing thonny on Pi
rei039474 Sep 15, 2021
5ff91c9
Update Part E instruction
rei039474 Sep 15, 2021
d67ab9e
Merge pull request #2 from FAR-Lab/Fall2021
bremers Sep 15, 2021
9f7622a
Update README.md
rei039474 Sep 16, 2021
86805ce
Update info about pulling upstream class lab-hub
rei039474 Sep 16, 2021
84cbb3e
Update Extending the Pi.md
rei039474 Sep 20, 2021
0939968
Update Extending the Pi.md
rei039474 Sep 20, 2021
0379dc0
re-arranging the content
rei039474 Sep 20, 2021
ea9c3b8
Update README.md
rei039474 Sep 21, 2021
2622546
Merge pull request #53 from FAR-Lab/Fall2021-Shadow
rei039474 Sep 21, 2021
89eb64d
Upload Lab 3 content
rei039474 Sep 21, 2021
5e6b98c
Update README.md
rei039474 Sep 21, 2021
77c09e7
Update README.md
rei039474 Sep 21, 2021
8fe0007
Merge branch 'Fall2021' into Fall2021-Shadow
rei039474 Sep 21, 2021
17e775e
Merge branch 'Fall2021' into Fall2021
rei039474 Sep 21, 2021
2efb6e9
Update README.md
rei039474 Sep 21, 2021
a5c00a9
Update Extending the Pi.md
rei039474 Sep 21, 2021
2a82684
Push instructions
rei039474 Sep 21, 2021
7645bb7
Update pull/push instructions
rei039474 Sep 21, 2021
354c747
Update README.md
rei039474 Sep 21, 2021
1f5284d
Update README.md
rei039474 Sep 21, 2021
74ef016
Update README.md
rei039474 Sep 21, 2021
eb5421b
Update README.md
rei039474 Sep 21, 2021
2ab9193
Update README.md
rei039474 Sep 21, 2021
4c50761
Update README.md
rei039474 Sep 21, 2021
74cb1f6
Update README.md
rei039474 Sep 21, 2021
3f24666
Update partslist.md
rei039474 Sep 23, 2021
1928075
Update part list
rei039474 Sep 23, 2021
9e7a573
Update Extending the Pi.md
rei039474 Sep 23, 2021
9774207
Update Extending the Pi.md
rei039474 Sep 23, 2021
7060063
Update Extending the Pi.md
rei039474 Sep 23, 2021
182eb5f
Update Extending the Pi.md
rei039474 Sep 23, 2021
ec93530
Update Extending the Pi.md
rei039474 Sep 23, 2021
5536e65
Update README.md
wendyju Sep 28, 2021
aeb7d40
Update README.md
rei039474 Sep 28, 2021
0c8958d
Updating info for creating new virtual environment
rei039474 Sep 28, 2021
037431e
Update README.md
rei039474 Sep 28, 2021
45c8cdd
Update README.md
rei039474 Sep 28, 2021
526011d
Update details of template
rei039474 Sep 28, 2021
e016721
Update README.md
rei039474 Sep 28, 2021
3730502
Update README.md
rei039474 Sep 28, 2021
8bcce71
Create README.md
wendyju Sep 28, 2021
6684c53
Update README.md
wendyju Sep 28, 2021
ed95d08
Update README.md
rei039474 Sep 28, 2021
ce5a082
Create README.md
wendyju Sep 28, 2021
25087b2
Update README.md
rei039474 Sep 28, 2021
237c4c8
Update README.md
rei039474 Sep 28, 2021
a2c5a4b
Update README.md
rei039474 Sep 28, 2021
1e66722
Update README.md
rei039474 Sep 28, 2021
f4ca4b0
Update README.md
rei039474 Sep 28, 2021
496a86f
Update README.md
rei039474 Sep 28, 2021
d792dea
Update README.md
wendyju Sep 28, 2021
dcc1280
Merge branch 'Fall2021' into Fall2021-Shadow
rei039474 Sep 28, 2021
584de3c
Merge pull request #54 from FAR-Lab/Fall2021-Shadow
rei039474 Sep 28, 2021
d3478dc
Update README.md
rei039474 Sep 28, 2021
90ac237
Update README.md
rei039474 Sep 28, 2021
8c2c415
Update README.md
rei039474 Sep 28, 2021
840ff2b
Update README.md
rei039474 Sep 28, 2021
a45aef9
Update README.md
rei039474 Sep 28, 2021
f6356f9
Update setting VAD
rei039474 Sep 28, 2021
ca8ccf6
Update README.md
rei039474 Sep 28, 2021
bafc036
Update README.md
wendyju Sep 30, 2021
b4f31bc
Create README.md
wendyju Sep 30, 2021
89725ed
Merge branch 'Fall2021' into Fall2021
bremers Oct 7, 2021
1e60fa5
Update README.md
bremers Oct 7, 2021
b9b870e
Lab 4 Content
rei039474 Oct 12, 2021
e7e8f43
Update README.md
rei039474 Oct 12, 2021
ad53cff
Delete servo_control.py
rei039474 Oct 12, 2021
2a3a720
Delete servo.png
rei039474 Oct 12, 2021
0f074af
Add files via upload
rei039474 Oct 12, 2021
e1e675f
Update README.md
rei039474 Oct 12, 2021
1d3126d
Delete diagram.png
rei039474 Oct 12, 2021
e3d1298
Delete wires.png
rei039474 Oct 12, 2021
e741624
Adding banana back!
rei039474 Oct 12, 2021
6e7645b
Update README.md
rei039474 Oct 12, 2021
6f17641
Update README.md
rei039474 Oct 12, 2021
195233d
Update README.md
rei039474 Oct 12, 2021
55fca15
Update cap_test.py
rei039474 Oct 12, 2021
7fdc87a
Update README.md
rei039474 Oct 12, 2021
1b0fde7
Update README.md
rei039474 Oct 12, 2021
070674d
Merge pull request #58 from FAR-Lab/Fall2021-Shadow
rei039474 Oct 12, 2021
e0a9526
Part 2 Servo Example
rei039474 Oct 12, 2021
507a072
Update README.md
rei039474 Oct 12, 2021
97fb45a
Update README.md
wendyju Oct 12, 2021
c36fecc
Update README.md
wendyju Oct 12, 2021
343efd4
Update README.md
wendyju Oct 12, 2021
c77a799
Update README.md
wendyju Oct 12, 2021
a8b1ad4
Update README.md
wendyju Oct 12, 2021
39982c2
Update requirements.txt
rei039474 Oct 12, 2021
c3e7611
Update README.md
wendyju Oct 12, 2021
54d4749
Update README.md
wendyju Oct 12, 2021
2111d2f
Update README.md
wendyju Oct 12, 2021
3d3ffe9
Add files via upload
rei039474 Oct 12, 2021
65c5b00
Add files via upload
rei039474 Oct 12, 2021
d83760f
Add files via upload
rei039474 Oct 12, 2021
bde7dc4
Add files via upload
rei039474 Oct 12, 2021
2203713
Update README.md
rei039474 Oct 13, 2021
6981aec
Update README.md
rei039474 Oct 13, 2021
a736212
Update README.md
rei039474 Oct 13, 2021
f8ffc84
Update README.md
rei039474 Oct 13, 2021
bb62d4b
Update README.md
rei039474 Oct 13, 2021
0ccea0a
Add files via upload
rei039474 Oct 13, 2021
e796720
Rename qwiic_servo_example.py to servo_test.py
rei039474 Oct 13, 2021
f760bff
Add files via upload
rei039474 Oct 13, 2021
433a47f
Add files via upload
rei039474 Oct 13, 2021
fbfbfa6
Update README.md
rei039474 Oct 13, 2021
7fd64fa
Update README.md
rei039474 Oct 13, 2021
73dc260
Update requirements.txt
rei039474 Oct 13, 2021
d688531
Update README.md
rei039474 Oct 13, 2021
482f331
Soldering instructions
rei039474 Oct 13, 2021
4778499
Update Servo Exercise
rei039474 Oct 13, 2021
7943ba8
Update cap_test.py
rei039474 Oct 13, 2021
4b406f5
Pull Latest Files
rei039474 Oct 13, 2021
508ae80
Update README.md
rei039474 Oct 13, 2021
55d56c9
Update README.md
rei039474 Oct 13, 2021
49bd2bf
Update README.md
rei039474 Oct 14, 2021
d6937e6
Update README.md
rei039474 Oct 14, 2021
680376b
upload Lab 5 content
rei039474 Oct 25, 2021
8adcb1d
Update README.md
rei039474 Oct 25, 2021
a80a1f2
Update README.md
rei039474 Oct 25, 2021
6617884
Update README.md
rei039474 Oct 25, 2021
cafcb4b
tree command instruction
rei039474 Oct 25, 2021
c47c905
VNC for openCV examples
rei039474 Oct 25, 2021
3defe8e
Update README.md
rei039474 Oct 25, 2021
117fe74
Update README.md
rei039474 Oct 25, 2021
d2563e9
Update README.md
rei039474 Oct 25, 2021
a17f288
Update README.md
rei039474 Oct 25, 2021
1469c40
Update README.md
rei039474 Oct 25, 2021
4a01aac
Update README.md
rei039474 Oct 25, 2021
4ee15dd
Update README.md
rei039474 Oct 25, 2021
b2722fb
Update README.md
rei039474 Oct 25, 2021
f5b6ce3
Delete HandTrackingModule.py
rei039474 Oct 25, 2021
017b3c5
Create HandTrackingModule.py
rei039474 Oct 25, 2021
1484e95
Update README.md
rei039474 Oct 25, 2021
faeb81c
Update README.md
rei039474 Oct 25, 2021
106efac
Update README.md
rei039474 Oct 26, 2021
51b3ce6
Merge pull request #59 from FAR-Lab/Fall2021-Shadow
rei039474 Oct 26, 2021
c721c3b
Lab 6 Content
rei039474 Nov 3, 2021
1d34758
Update README.md
rei039474 Nov 3, 2021
589f93c
MQTT connection demo update
rei039474 Nov 4, 2021
1334b36
Update README.md
rei039474 Nov 4, 2021
9d48a86
Update README.md
rei039474 Nov 4, 2021
d08014f
Update README.md
rei039474 Nov 4, 2021
f0d8a83
Update README.md
rei039474 Nov 4, 2021
b9525b2
Add files via upload
rei039474 Nov 4, 2021
e6c7e8b
Update README.md
rei039474 Nov 4, 2021
400edc4
Update README.md
rei039474 Nov 4, 2021
7169fa7
Add files via upload
rei039474 Nov 4, 2021
546d60d
Update README.md
rei039474 Nov 4, 2021
560fbed
Update README.md
rei039474 Nov 4, 2021
c75caa5
Update README.md
rei039474 Nov 4, 2021
972feba
Update README.md
rei039474 Nov 4, 2021
fae25d2
Update README.md
rei039474 Nov 4, 2021
51d529c
Update README.md
rei039474 Nov 4, 2021
b0cac24
Update README.md
rei039474 Nov 4, 2021
03dcbc1
Update and rename distributed_banana_sender.py to distributed_twizzle…
rei039474 Nov 4, 2021
9819293
Update README.md
rei039474 Nov 4, 2021
1019275
Update README.md
rei039474 Nov 4, 2021
00ad3d2
Update README.md
rei039474 Nov 4, 2021
81a90a7
feedback
rei039474 Nov 8, 2021
0c2ba4f
Update README.md
rei039474 Nov 8, 2021
6576ed1
Update README.md
rei039474 Nov 8, 2021
753d012
Update README.md
wendyju Nov 9, 2021
a9ed1b8
Update README.md
wendyju Nov 9, 2021
ef4d0fc
Merge pull request #61 from FAR-Lab/Fall2021-Shadow
rei039474 Nov 9, 2021
2574624
Add files via upload
rei039474 Nov 9, 2021
9bd6617
Add files via upload
rei039474 Nov 9, 2021
cee9279
Delete mqtt_explorer.png
rei039474 Nov 9, 2021
4131a57
Add files via upload
rei039474 Nov 9, 2021
51d156d
Delete mqtt_explorer.png
rei039474 Nov 9, 2021
9f64cf1
with pwd
rei039474 Nov 9, 2021
0af45da
Update distributed_twizzlers_sender.py
rei039474 Nov 11, 2021
26d7d31
Update README.md
rei039474 Nov 15, 2021
bde2255
Add files via upload
rei039474 Nov 15, 2021
fe767c5
Update README.md
bremers Sep 6, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
37 changes: 0 additions & 37 deletions Final Project/README.md

This file was deleted.

3 changes: 1 addition & 2 deletions Lab 1/demo.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,2 @@
## This line is comment
## for demo during the class

print("Hello World")
46 changes: 28 additions & 18 deletions Lab 2/Extending the Pi.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Extending the Pi

To extend the Pi, we are using breakout boards that connect to the PI using a standard communication bus (I2C)(https://learn.sparkfun.com/tutorials/i2c/all). [StemmaQT](https://learn.adafruit.com/introducing-adafruit-stemma-qt/what-is-stemma) and [Qwiic](https://www.sparkfun.com/qwiic#overview) use a standardized 4-pin connector to connect devices using the I2C protocol.
To extend the Pi, we are using breakout boards that connect to the PI using a standard communication bus [I2C](https://learn.sparkfun.com/tutorials/i2c/all). [StemmaQT](https://learn.adafruit.com/introducing-adafruit-stemma-qt/what-is-stemma) and [Qwiic](https://www.sparkfun.com/qwiic#overview) use a standardized 4-pin connector to connect devices using the I2C protocol.

The StemmaQT and I2C parts often have a fixed I2C address; to differentiate between similar parts, the devices often have pads that allow additional bits to be pulled high or low. The addresses are in [hexidecimal](https://learn.sparkfun.com/tutorials/hexadecimal/introduction) format, things like `0x6f`. This is the hexadecimal (or hex) representation for the decimal number `111` which is represented as `1101111` in binary. You are not expected to make any kinds of conversions but should have some conceptual grasp that a hex value is just a number shown another way. [This Python library](https://towardsdatascience.com/binary-hex-and-octal-in-python-20222488cee1) will assist you if you need help manipulating hexidecimal numbers.

Expand Down Expand Up @@ -30,16 +30,17 @@ As before, connect to your Pi and activate your virtual environment.
ssh pi@ixe00
pi@ixe00:~ $ source circuitpython/bin/activate
(circuitpython) pi@ixe00:~ $

```

Navigate to your interactive lab hub, pull changes from upstream, and install new packages. If you have [merge conflicts](https://www.atlassian.com/git/tutorials/using-branches/merge-conflicts), you need to resolve them. If you've never done this before ask people in your group for help. Otherwise ask yout TA!
On the pi, Navigate to your interactive lab hub, pull changes from upstream, and install new packages. If you have [merge conflicts](https://www.atlassian.com/git/tutorials/using-branches/merge-conflicts), you need to resolve them. If you've never done this before ask people in your group for help.

```
(circuitpython) pi@ixe00:~$ cd Interactive-Lab-Hub
(circuitpython) pi@ixe00:~/Interactive-Lab-Hub $ git pull upstream Spring2021
(circuitpython) pi@ixe00:~/Interactive-Lab-Hub $ git remote add upstream https://github.com/FAR-Lab/Interactive-Lab-Hub.git
(circuitpython) pi@ixe00:~/Interactive-Lab-Hub $ git pull upstream Fall2021
(circuitpython) pi@ixe00:~/Interactive-Lab-Hub $ git add .
(circuitpython) pi@ixe00:~/Interactive-Lab-Hub $ git commit -m'merge'
(circuitpython) pi@ixe00:~/Interactive-Lab-Hub $ git commit -m "merge"
(circuitpython) pi@ixe00:~/Interactive-Lab-Hub $ git push
(circuitpython) pi@ixe00:~/Interactive-Lab-Hub $ cd Lab\ 2/
(circuitpython) pi@ixe00:~/Interactive-Lab-Hub/Lab 2 $ pip install -r requirements.txt
```
Expand All @@ -55,21 +56,10 @@ Try running `python library_example.py`.
Some important things to note from the code:

* We create an I2C device to handle communication with the pi.
* We then scan for devices on the bus
* We then scan for devices on the bus.
* We check if `default_addr = 0x6f` is listed in the found devices. This is the address your button comes programmed with, you can also change this and have it store the update on the button.
* Once we initialize the I2C_Button object the rest of the code shows us some of the builtin capabilities.

## Connecting a Sensor

Your kit is full of sensors! Look up what they can do and feel free to ask your TAs, We love to talk sensors. We will go further in depth into sensors in the coming weeks, but we put this small sample here to demonstrate how you can get sensor data if you want to use it for your project this week.

We are going to connect the [Adafruit APDS9960 Proximity, Light, RGB, and Gesture Sensor](https://www.adafruit.com/product/3595). You can leave the button plugged in and daisy-chain the sensor, this is part of the magic of I2C.

<img src="https://cdn-shop.adafruit.com/1200x900/3595-03.jpg" height="200" />


Now run `python proximity.py`.


## Under the I2C curtain (optional: complete only after working on your projects in groups)

Expand All @@ -79,7 +69,6 @@ Run the file `I2C_scan.py` and the output should look like:
(circuitpython) pi@ixe00:~/Interactive-Lab-Hub/Lab 2 $ python I2C_scan.py
I2C ok!
I2C addresses found: []

```

Now plug the other end of the cable into the ports on the right of the button board. The pwr LED should turn on. Run the file again and you should see the device ID. You can also try daisy chaining multiple devices and sensors and running again.
Expand All @@ -100,3 +89,24 @@ Use a higher level device interface can make reading and writing registers for I
```
56 write_register(device, STATUS, 0)
```

#### Connecting more that one button

The more buttons the merrier! ...but how do you control them individually when they are come with the same default I2C address `0x6f`?

Option 1 - Software: Look into the [list of registers](https://cdn.sparkfun.com/assets/learn_tutorials/1/1/0/8/Qwiic_Button_I2C_Register_Map.pdf) of the buttons again, is it possible to change the I2C address through software progrmming?

Option 2 - Hardware: Look at the bottom right corner of the back of the button, you should be able to local a sign of ADR with A0 - A3 jumpers. By solding these I2C address jumpers, you can actually change the address directly! Check [here](https://learn.sparkfun.com/tutorials/sparkfun-qwiic-button-hookup-guide/all) to see how the I2C address change!

<img src="https://cdn.sparkfun.com/assets/learn_tutorials/1/1/0/8/SparkFun_Qwiic_Button_ADR_Jumpers.jpg" height="200" />

## Connecting a Sensor

Your kit is full of sensors! Look up what they can do and feel free to ask your TAs, we love to talk sensors. We will go further in depth into sensors in the coming weeks, but we put this small sample here to demonstrate how you can get sensor data if you want to use it for your project this week.

We are going to connect the [Adafruit APDS9960 Proximity, Light, RGB, and Gesture Sensor](https://www.adafruit.com/product/3595). You can leave the button plugged in and daisy-chain the sensor, this is part of the magic of I2C.

<img src="https://cdn-shop.adafruit.com/1200x900/3595-03.jpg" height="200" />


Now run `python proximity.py`. What did you see? Check out [here](https://learn.adafruit.com/adafruit-apds9960-breakout/circuitpython) to learn more about the sensor and think about how you might be able to apply it in the future projects!
42 changes: 31 additions & 11 deletions Lab 2/README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# The Clock of Pi
# Interactive Prototyping: The Clock of Pi

Does it feel like time is moving strangely during the pandemic?
Does it feel like time is moving strangely during this semester?

For our first Pi project, we will pay homage to the [timekeeping devices of old](https://en.wikipedia.org/wiki/History_of_timekeeping_devices) by making simple clocks.

Expand All @@ -11,24 +11,31 @@ Be generous in acknowledging their contributions! And also recognizing any other

## Prep

[Lab prep](prep.md) is extra long this week! Make sure you read it over in time to prepare for lab on Wednesday.
[Lab prep](prep.md) is extra long this week! Make sure you read it over in time to prepare for lab on Thursday.

### Get your kit
If you are remote but in the US, let the teaching team know you need the parts mailed.

If you are in New York, you can come to the campus and pick up your parts. If you have not picked up your parts by class you should come to Tata 351.

If you are in New York, you can come to the campus and pick up your parts. If you have not picked up your parts by Thursday lab you should come to Tata 351.


### Set up your Lab 2

1. [Pull changes from the Interactive Lab Hub](https://github.com/FAR-Lab/Developing-and-Designing-Interactive-Devices/blob/2021Fall/readings/Submitting%20Labs.md#to-pull-lab-updates) so that you have your own copy of Lab 2 on your own lab hub. (This may have to be done again at the start of lab on Thursday.)

If you are organizing your Lab Hub through folder in local machine, go to terminal, cd into your Interactive-Lab-Hub folder and run:

```
Interactive-Lab-Hub $ git remote add upstream https://github.com/FAR-Lab/Interactive-Lab-Hub.git
Interactive-Lab-Hub $ git pull upstream Spring2021
Interactive-Lab-Hub $ git pull upstream Fall2022
```

The reason why we are adding a upstream with **course lab-hub** instead of yours is because the local Interactive-Lab-Hub folder is linked with your own git repo already. Try typing ``git remote -v`` and you should see there is the origin branch with your own git repo. We here add the upstream to get latest updates from the teaching team by pulling the **course lab-hub** to your local machine. After your local folder got the latest updates, push them to your remote git repo by running:

```
Interactive-Lab-Hub $ git add .
Interactive-Lab-Hub $ git commit -m'merge'
Interactive-Lab-Hub $ git commit -m "message"
Interactive-Lab-Hub $ git push
```
Your local and remote should now be up to date with the most recent files.
Expand Down Expand Up @@ -73,7 +80,8 @@ pi@ixe00:~ $ source circuitpython/bin/activate
### Setup Personal Access Tokens on GitHub
The support for password authentication of GitHub was removed on August 13, 2021. That is, in order to link and sync your own lab-hub repo with your Pi, you will have to set up a "Personal Access Tokens" to act as the password for your GitHub account on your Pi when using git command, such as `git clone` and `git push`.

Following the steps listed [here](https://docs.github.com/en/github/authenticating-to-github/keeping-your-account-and-data-secure/creating-a-personal-access-token) from GitHub to set up one for your Pi to use. Depends on your preference, you can set up and select the scopes, or permissions, you'd like to grant the token your Pi is going to use. This token will act as your GitHub password later when you use the terminal on you Pi to sync files with your lab-hub repo.
Following the steps listed [here](https://docs.github.com/en/github/authenticating-to-github/keeping-your-account-and-data-secure/creating-a-personal-access-token) from GitHub to set up a token. Depends on your preference, you can set up and select the scopes, or permissions, you would like to grant the token. This token will act as your GitHub password later when you use the terminal on your Pi to sync files with your lab-hub repo.


## Part B.
### Try out the Command Line Clock
Expand Down Expand Up @@ -149,13 +157,21 @@ You can look in `image.py` for an example of how to display an image on the scre
Work on `screen_clock.py`, try to show the time by filling in the while loop (at the bottom of the script where we noted "TODO" for you). You can use the code in `cli_clock.py` and `stats.py` to figure this out.

### How to Edit Scripts on Pi
One of the ways for you to edit scripts on Pi through terminal is using [`nano`](https://linuxize.com/post/how-to-use-nano-text-editor/) command. You can go into the `screen_clock.py` by typing the follow command line:
Option 1. One of the ways for you to edit scripts on Pi through terminal is using [`nano`](https://linuxize.com/post/how-to-use-nano-text-editor/) command. You can go into the `screen_clock.py` by typing the follow command line:
```
(circuitpython) pi@ixe00:~/Interactive-Lab-Hub/Lab 2 $ nano screen_clock.py
```
You can make changes to the script this way, remember to save the changes by pressing `ctrl-o` and press enter again. You can press `ctrl-x` to exit the nano mode. There are more options listed down in the terminal you can use in nano.

Another way for you to edit scripts is to use VNC on your laptop to remotely connect your Pi. Try to open the files directly like what you will do with your laptop and edit them.
Option 2. Another way for you to edit scripts is to use VNC on your laptop to remotely connect your Pi. Try to open the files directly like what you will do with your laptop and edit them. Since the default OS we have for you does not come up a python programmer, you will have to install one yourself otherwise you will have to edit the codes with text editor. [Thonny IDE](https://thonny.org/) is a good option for you to install, try run the following command lines in your Pi's ternimal:

```
pi@ixe00:~ $ sudo apt install thonny
pi@ixe00:~ $ sudo apt update && sudo apt upgrade -y
```

Now you should be able to edit python scripts with Thonny on your Pi.



## Part E.
Expand All @@ -165,6 +181,9 @@ Does time have to be linear? How do you measure a year? [In daylights? In midni

Can you make time interactive? You can look in `screen_test.py` for examples for how to use the buttons.

**We strongly discourage and will reject the results of literal digital or analog clock display.**


\*\*\***A copy of your code should be in your Lab 2 Github repo.**\*\*\*

After you edit and work on the scripts for Lab 2, the files should be upload back to your own GitHub repo! You can push to your personal github repo by adding the files here, commiting and pushing.
Expand All @@ -189,7 +208,8 @@ After that, Git will ask you to login to your GitHub account to push the updates

# Prep for Part 2

1. Pick up remaining parts for kit.
1. Pick up remaining parts for kit on Thursday lab class. Check the updated [parts list inventory](partslist.md) and let the TA know if there is any part missing.


2. Look at and give feedback on the Part G. for at least 2 other people in the class (and get 2 people to comment on your Part G!)

Expand Down
46 changes: 46 additions & 0 deletions Lab 2/partslist.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,48 @@
# Parts list inventory

## Parts in the kit by Thursday class Sep. 16th

1 x [Raspberry Pi 4 Computer Kit](https://www.amazon.com/Raspberry-USB-C-Adapters-Vilros-Quickstart/dp/B089ZSGF8M/ref=sr_1_14?dchild=1&keywords=vilros+pi+4+heatsink&qid=1630441198&sr=8-14)

1 x [32GB MicroSD Cards w/ Card Reader](https://www.digikey.com/en/products/detail/seeed-technology-co-ltd/112990066/10290294)

1 x [Raspberry Pi 4 Case](https://www.adafruit.com/product/4301)

1 x [Raspberry Pi 4 Power Supply with USB C](https://www.adafruit.com/product/4298)

1 x [Copper Foil Tape](https://www.amazon.com/Conductive-Shielding-Repellent-Electrical-Grounding/dp/B0741ZRP4W/ref=sr_1_5?dchild=1&keywords=conductive+copper+tape&qid=1628142003&sr=8-5)

1 x [Alligator Clips](https://www.amazon.com/WGGE-WG-026-Pieces-Colors-Alligator/dp/B06ZXSCLDH/ref=sr_1_3?dchild=1&keywords=alligator%2Bclips&qid=1611164254&sr=8-3&th=1)

1 x [Micro Servo Motor SG51](https://www.amazon.com/Smraza-Helicopter-Airplane-Control-Arduino/dp/B07L2SF3R4/ref=sr_1_3?dchild=1&keywords=micro+servo+motor&qid=1628142137&sr=8-3)

1 x [Qwiic Servo Controller](https://www.sparkfun.com/products/16773)

1 x [Adafruit Mini PiTFT](https://www.adafruit.com/product/4393)

1 x [Adafruit APDS9960 Proximity, Light, RBG, Gesture Sensor](https://www.adafruit.com/product/3595)

1 x [Adafruit I2C QT Rotery Encoder](https://www.adafruit.com/product/4991)

1 x [Adafruit MPU-6050 6 DoF Accel & Gyro Sensor](https://www.adafruit.com/product/3886)

1 x [Adafruit MPR121 Capacitive Touch Sensor QT](https://www.adafruit.com/product/4830)


## Parts in the kit by Thursday class Sep. 22th

1 x [SparkFun Qwiic Cable Kit](https://www.sparkfun.com/products/15081)

1 x [SparkFun Qwiic Joystick](https://www.sparkfun.com/products/15168)

1 x [SparkFun Qwiic OLED Display](https://www.sparkfun.com/products/17153)

1 x [SparkFun Qwiic Button - Red LED](https://www.sparkfun.com/products/15932)

1 x [SparkFun Qwiic Button - Green LED](https://www.sparkfun.com/products/16842)

1 x [HD Webcam](https://www.amazon.com/Webcam-Speakers-2021-Microphone-Compatible/dp/B08QRGCW6K/ref=pd_lpo_147_t_0/134-8136290-7363941?_encoding=UTF8&pd_rd_i=B08QRGCW6K&pd_rd_r=a70c666b-ee4f-43c8-ae23-0be491319204&pd_rd_w=AEVHh&pd_rd_wg=iHZYM&pf_rd_p=fb1e266d-b690-4b4f-b71c-bd35e5395976&pf_rd_r=0CZ6ZZZ0XRRVRAGSGHDK&psc=1&refRID=0CZ6ZZZ0XRRVRAGSGHDK#customerReviews)


## Missing Parts here
\*\*\***List down parts you did not get from the kit here**\*\*\*
Loading