firstinterhacktions.md 3.38 KB
Newer Older
Lila Fisch's avatar
Lila Fisch committed
1
2
# First interhacktions

Lila Fisch's avatar
Lila Fisch committed
3
The easiest way to make some LEDs blink is using python. There are two ways of executing python code: Using an interactive python command line, and saving `.py` files on the card10. The interactive command line is very practical to try out python commands, and debug '.py' files. Directly saving .py files makes the scripts you write available when you have card10 disconnected from your computer.
Lila Fisch's avatar
Lila Fisch committed
4
5

## Using the interactive command line
Lila Fisch's avatar
Lila Fisch committed
6
7
8
9
10
11
12
13
14
You will be working using the command line. Everything that you need to enter in a command line is written like this: `echo "hello"`
<!-- a link to command line tutorials here would be nice -->

You need:
- a laptop with a free USB-A or USB-C port
- depending on what USB connectors are available on your laptop a USB-A to USB-C cable, or a USB-C to USB-C cable
<!-- usb-A to usb-C and usb-C to usb-C photo would be helpful here -->
- an application for opening a serial connection, e.g. screen (installation via command line:`apt install screen`) or picocom (installation via command line: `apt install picocom`)

Lila Fisch's avatar
Lila Fisch committed
15
### Getting to the interactive python command line
Lila Fisch's avatar
Lila Fisch committed
16
Switch on your card10.
miriamino's avatar
miriamino committed
17
18

If your card10 display shows the text _USB activated._ your card10 is in the _USB storage_ mode, which is the wrong mode for the interactive python command line. If the device is mounted you need to eject it first. A brief press on the _power_ button will exit the _USB storage_ mode.
Lila Fisch's avatar
Lila Fisch committed
19
20
<!-- a picture here, indicating the right button would be nice -->

Julian's avatar
Julian committed
21
22
To get to the interactive command line, connect your card10 to your laptop. Typically, it will be called `/dev/ttyACM0` or `/dev/ttyACM1`, on Mac OS X likely `/dev/tty.usbmodem14101`.
You can find out what it is called on your machine by comparing the output of `ls /dev/tty*` (or `ls /dev/tty.*` on Mac OS X) before and after you connect your card10 to the laptop.
Lila Fisch's avatar
Lila Fisch committed
23

miriamino's avatar
miriamino committed
24
Depending on which tool you chose, you can open the interactive python command line. You might need to add "sudo" in front of the commands.
Lila Fisch's avatar
Lila Fisch committed
25
26
27
- using screen: `screen /dev/ttyACM0 115200`
- using picocom: `picocom -b 115200 /dev/ttyACM0`

miriamino's avatar
miriamino committed
28
29

If you don't see a line starting with _>>>_, try pressing _Ctrl+C_ (maybe more than once).
Lila Fisch's avatar
Lila Fisch committed
30

Lila Fisch's avatar
Lila Fisch committed
31
32
33
34
35
<div class="p-notification--information">
  <p class="p-notification__response">
    <span class="p-notification__status">Note:</span>The first line gives you the version of your firmware, e.g. "MicroPython v1.11-37-g62f004ba4 on 2019-08-17; card10 with max32666".
  </p>
</div>
Lila Fisch's avatar
Lila Fisch committed
36
37


Lila Fisch's avatar
Lila Fisch committed
38
39
40
41
42
43
Once you have a line starting with _>>>_, you are ready to start programming in python!

### Making an LED blink

There are some neat python functions prepared for making the leds blink. Let's import the library containing these functions by typing:

44
45
46
47
48
49
```python
import leds

# Next, we light up one of the r0kets by typing:
>>> leds.set_rocket(0, 31)
```
Lila Fisch's avatar
Lila Fisch committed
50

miriamino's avatar
miriamino committed
51
The first number entered is the index for selecting the r0ket LED. You can choose between 0 (blue, left) , 1 (yellow, middle) and 2 (green, right).
Lila Fisch's avatar
Lila Fisch committed
52

Lila Fisch's avatar
Lila Fisch committed
53
54

## Using card10 in USB storage mode
Lila Fisch's avatar
Lila Fisch committed
55

miriamino's avatar
miriamino committed
56
### Closing a session
Rahix's avatar
Rahix committed
57
To close a session in screen, press `Ctrl+A` then `k` then `y`.  In picocom, exit using `Ctrl+A`, then `Ctrl+Q`.
Lila Fisch's avatar
Lila Fisch committed
58

59
60
## Congratulations!
When applying your newly learned card10 skills, please have a look at the [general considerations for designing Interhacktions](/en/interhacktions). Also bear in mind that some blinking patterns have been assigned a special meaning for communicating a traveler's [personal state](/ps).