Skip to content

Commit

Permalink
Formatting content for print
Browse files Browse the repository at this point in the history
  • Loading branch information
olasitarska committed Apr 23, 2014
1 parent 79a444d commit 7062a97
Show file tree
Hide file tree
Showing 17 changed files with 11,487 additions and 237 deletions.
54 changes: 27 additions & 27 deletions Makefile
Expand Up @@ -21,86 +21,86 @@ DIGITAL_PDF_BUILDER_FLAGS = \
--template templates/pdf.tex \
--toc

makerland print:
makerland_print:
$(PDF_BUILDER) $(PDF_BUILDER_FLAGS) $(SOURCE_FILE_NAME) -o $(BUILD_PRINT_DIR)/$(BOOK_FILE_NAME).pdf

makerland pdf:
makerland_pdf:
$(PDF_BUILDER) $(DIGITAL_PDF_BUILDER_FLAGS) $(SOURCE_FILE_NAME) -o $(BUILD_PDF_DIR)/$(BOOK_FILE_NAME).pdf

intro:
$(PDF_BUILDER) $(NOTOC_PDF_BUILDER_FLAGS) introduction.md -o $(BUILD_PDF_DIR)/introduction.pdf

3dmodeling print:
3dmodeling_print:
$(PDF_BUILDER) $(PDF_BUILDER_FLAGS) $(SOURCE_DIR)a_3dmodeling.md -o $(BUILD_PRINT_DIR)/3dmodeling.pdf

3dmodeling pdf:
3dmodeling_pdf:
$(PDF_BUILDER) $(DIGITAL_PDF_BUILDER_FLAGS) $(SOURCE_DIR)a_3dmodeling.md -o $(BUILD_PDF_DIR)/3dmodeling.pdf

buildbot print:
buildbot_print:
$(PDF_BUILDER) $(PDF_BUILDER_FLAGS) $(SOURCE_DIR)b_buildbot.md -o $(BUILD_PRINT_DIR)/buildbot.pdf

buildbot pdf:
buildbot_pdf:
$(PDF_BUILDER) $(DIGITAL_PDF_BUILDER_FLAGS) $(SOURCE_DIR)b_buildbot.md -o $(BUILD_PDF_DIR)/buildbot.pdf

drones print:
drones_print:
$(PDF_BUILDER) $(PDF_BUILDER_FLAGS) $(SOURCE_DIR)g_drones.md -o $(BUILD_PRINT_DIR)/drones.pdf

drones pdf:
drones_pdf:
$(PDF_BUILDER) $(DIGITAL_PDF_BUILDER_FLAGS) $(SOURCE_DIR)g_drones.md -o $(BUILD_PDF_DIR)/drones.pdf

firmata print:
firmata_print:
$(PDF_BUILDER) $(PDF_BUILDER_FLAGS) $(SOURCE_DIR)e_firmata.md -o $(BUILD_PRINT_DIR)/firmata.pdf

firmata pdf:
firmata_pdf:
$(PDF_BUILDER) $(DIGITAL_PDF_BUILDER_FLAGS) $(SOURCE_DIR)e_firmata.md -o $(BUILD_PDF_DIR)/firmata.pdf

hens print:
hens_print:
$(PDF_BUILDER) $(PDF_BUILDER_FLAGS) $(SOURCE_DIR)j_hens.md -o $(BUILD_PRINT_DIR)/hens.pdf

hens pdf:
hens_pdf:
$(PDF_BUILDER) $(DIGITAL_PDF_BUILDER_FLAGS) $(SOURCE_DIR)j_hens.md -o $(BUILD_PDF_DIR)/hens.pdf

home print:
home_print:
$(PDF_BUILDER) $(PDF_BUILDER_FLAGS) $(SOURCE_DIR)h_home.md -o $(BUILD_PRINT_DIR)/home.pdf

home pdf:
home_pdf:
$(PDF_BUILDER) $(DIGITAL_PDF_BUILDER_FLAGS) $(SOURCE_DIR)h_home.md -o $(BUILD_PDF_DIR)/home.pdf

lights print:
lights_print:
$(PDF_BUILDER) $(PDF_BUILDER_FLAGS) $(SOURCE_DIR)n_lights.md -o $(BUILD_PRINT_DIR)/lights.pdf

lights pdf:
lights_pdf:
$(PDF_BUILDER) $(DIGITAL_PDF_BUILDER_FLAGS) $(SOURCE_DIR)n_lights.md -o $(BUILD_PDF_DIR)/lights.pdf

lilypad print:
lilypad_print:
$(PDF_BUILDER) $(PDF_BUILDER_FLAGS) $(SOURCE_DIR)i_lilypad.md -o $(BUILD_PRINT_DIR)/lilypad.pdf

lilypad pdf:
lilypad_pdf:
$(PDF_BUILDER) $(DIGITAL_PDF_BUILDER_FLAGS) $(SOURCE_DIR)i_lilypad.md -o $(BUILD_PDF_DIR)/lilypad.pdf

pythonruby print:
pythonruby_print:
$(PDF_BUILDER) $(PDF_BUILDER_FLAGS) $(SOURCE_DIR)c_pythonruby.md -o $(BUILD_PRINT_DIR)/pythonruby.pdf

pythonruby pdf:
pythonruby_pdf:
$(PDF_BUILDER) $(DIGITAL_PDF_BUILDER_FLAGS) $(SOURCE_DIR)c_pythonruby.md -o $(BUILD_PDF_DIR)/pythonruby.pdf

soldering print:
soldering_print:
$(PDF_BUILDER) $(PDF_BUILDER_FLAGS) $(SOURCE_DIR)d_soldering.md -o $(BUILD_PRINT_DIR)/soldering.pdf

soldering pdf:
soldering_pdf:
$(PDF_BUILDER) $(DIGITAL_PDF_BUILDER_FLAGS) $(SOURCE_DIR)d_soldering.md -o $(BUILD_PDF_DIR)/soldering.pdf

underwater print:
underwater_print:
$(PDF_BUILDER) $(PDF_BUILDER_FLAGS) $(SOURCE_DIR)f_underwater.md -o $(BUILD_PRINT_DIR)/underwater.pdf

underwater pdf:
underwater_pdf:
$(PDF_BUILDER) $(DIGITAL_PDF_BUILDER_FLAGS) $(SOURCE_DIR)f_underwater.md -o $(BUILD_PDF_DIR)/underwater.pdf

javarobots print:
javarobots_print:
$(PDF_BUILDER) $(PDF_BUILDER_FLAGS) $(SOURCE_DIR)p_javarobots.md -o $(BUILD_PRINT_DIR)/javarobots.pdf

javarobots pdf:
javarobots_pdf:
$(PDF_BUILDER) $(DIGITAL_PDF_BUILDER_FLAGS) $(SOURCE_DIR)p_javarobots.md -o $(BUILD_PDF_DIR)/javarobots.pdf

clean:
rm -f pdf/$(BOOK_FILE_NAME).pdf
rm -f_pdf/$(BOOK_FILE_NAME).pdf
5,431 changes: 5,431 additions & 0 deletions content/cover.ai

Large diffs are not rendered by default.

52 changes: 0 additions & 52 deletions content/introduction.md

This file was deleted.

Binary file added content/title-01.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
5,918 changes: 5,918 additions & 0 deletions content/title.ai

Large diffs are not rendered by default.

Binary file added content/title.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
62 changes: 62 additions & 0 deletions content/workshops/a_1introduction.md
@@ -0,0 +1,62 @@
\newpage
\thispagestyle{empty}
\mbox{}

\newpage

# Introduction

Dear Reader,

Welcome to the first edition of Makerland Tutorials: Your First Steps with the Internet of Things. You're looking at the open source book for experimental conference - Makerland 2014. We created this book to help our conference attendees successfully go through the workshops presented at Makerlan. We felt it's really wrong that only 300 people can use this resources to start their own journey with the Internet of Things, Arduino, 3D printing and more.

This book is not meant to be readed in the armchair, with a cup of latte, it's rather a hands on dive into world of Internet of Things. Each chapter is prepared by someone else, so you may notice a difference in style or formatting. We asked all of Makerland workshop leaders to prepare a tutorial for their workshop station and then we put it all together as a book.

At the beginning of each chapter, you'll find a list of things you need to have in order to accomplish the goal. Tutorials are structured as a step by step instructions. Most of them required some programming knowledge, but if you know nothing about coding, this book is going to teach you something about that too.

If you have any problem with a particular step in this book, please go here and open an issue:
<https://github.com/Makerland/book/issues>. We would love to help and improve this book with you.

## Who made this?

Our wonderful workshop leaders spent a lot of time and put a lot of effort to make those tutorials. All of them are amazing experts on what they do and have a great passion to teach people about hardware.

__Authors__:

- Miłosz Dąbrowski, Justyna Fałdzińska - 3D Modeling chapter
- Pawel Szymczykowski - Build-a-bot chapter
- Wojtek Siudzinski, Mateusz Kozak - Python & Ruby sitting in a tree chapter
- Szymon Kubicki - Soldier, wire, glue! chapter
- Mike Swift - Tinkering with Arduino chapter
- Martin Evans - Dive, dive, dive! chapter
- Andrew Nessbit, Felix Geisendörfer, Robin Mehner - Dancing Drones chapter
- Jon Gottfried - Hack Your House chapter
- Karolina Chmiel - Build Your Own Smartwatch chapter
- Alan McCullagh - Hacking Hens’ Happiness chapter
- Charalompos Doukas - Magic Lights chapter
- Stephen Chin - Retro Gaming on Raspberry Pi

We cannot thank you enough for your work, patience and understanding. This book could never happen without your amazing support.

## Feedback

We welcome any feedback on this book. We know it’s not yet perfect. It’s an open source book, that’s why you can improve it, too! We kindly ask you to make it constructive and the most effective way to change content of this book is to make a pull request on GitHub:
<https://github.com/Makerland/book>

## Copyrights

License for this book is Creative Commons Attribution NonCommercial ShareAlike (CC-NC-SA). This means that you can modify and distribute it, but not comercially. You also have to give credit to original authors of the work and you have to release your work based on this book under CC license. This way we can achieve our goal: give people a free way to learn about Internet of Things, and protect the hard work that workshop leaders put into this book.


## Enjoy!

Good luck and happy making!

\vspace{0.5in}
\hfill\textit{Ola Sitarska, Kuba Kucharski and Przemek Lewandowski}

\newpage
\thispagestyle{empty}
\mbox{}

\newpage
13 changes: 4 additions & 9 deletions content/workshops/c_pythonruby.md
Expand Up @@ -2,10 +2,6 @@
\thispagestyle{empty}
\mbox{}

\newpage
\thispagestyle{empty}
\mbox{}

\newpage

![](content/workshop_images/pythonruby.jpg)
Expand Down Expand Up @@ -202,6 +198,8 @@ But firstly the wires. Lets start with DHT11 (don’t disconnect the sonar, it w

![](content/workshops/pythonruby/4_meteo_dht_bb.jpg)

\newpage

Now connect VCNL4000:

![](content/workshops/pythonruby/4_meteo_vcnl_bb.jpg)
Expand Down Expand Up @@ -247,8 +245,6 @@ You have one sensor left: HC-SR501 PIR motion detector. This sensor detects moti

Other quirk of this sensor is long lag after detecting motion. There’s potentiometer on a back of it which allows to change it, but event with minimal setting it’s about 3 seconds.

\newpage

Connect the wires like this:

![HC-SR501](content/workshops/pythonruby/5_alarm_bb.jpg)
Expand Down Expand Up @@ -382,8 +378,6 @@ You can stop this now, pressing `Ctrl+C`.

You’ve just used your code to play with something already built, lets get to something more advanced.

\newpage

### Time for some measurements

Before you write anything lets have fun with wires. Grab HC-SR04 ultrasonic ranging module, Arduino, your breadboard, some wires and connect them all together this way:
Expand Down Expand Up @@ -420,6 +414,8 @@ Start with the wires. Don’t disconnect sonar, it will be required late. First

![DHT11](content/workshops/pythonruby/4_meteo_dht_bb.jpg)

\newpage

Now connect VCNL4000:

![VCNL4000](content/workshops/pythonruby/4_meteo_vcnl_bb.jpg)
Expand Down Expand Up @@ -460,7 +456,6 @@ Now you have your own meteo station, hooray!

**BTW:** you should find source to this exercise in `Python/4_meteo.py` file.


### INTRUDER ALERT

There is one sensor left: HC-SR501 PIR motion detector. Based on infrared light, this sensor, similar to those used in public bathrooms to turn the lights on, detects moves. As it works with infrared it only detects objects which exude heat (i.e. human body, running car). What is important, it detects **motion** not presence. So if you’ll hold still in front of it, it won’t detect you
Expand Down
7 changes: 5 additions & 2 deletions content/workshops/d_soldering.md
@@ -1,6 +1,11 @@
\newpage
\thispagestyle{empty}
\mbox{}

\newpage
\thispagestyle{empty}
\mbox{}

\newpage

![](content/workshop_images/soldering.jpg)
Expand Down Expand Up @@ -114,8 +119,6 @@ Do you feel good with your skills? If so let’s get to the next step if not kee
- plan the location of connectors through which you will connect to the Arduino Uno board. You should push your shield into the Arduino Uno.
- connect the MCP23017 expander with the appropriate pin connectors to the Arduino Uno. Pay attention to: power supply and the I2C bus.

\newpage

![](content/workshops/soldering/10.jpg)

2. A port expander is used to ensure that your microprocessor system has more available ports than a microcontroller does. It is not only LEDs and buttons that you can connect to the system plugs. You can connect any other element which works with the digital (two-state) port of the microcontroller. Through the expander you can control a transistor, a buzzer, a tilt sensor, a servo driver. You can even connect an LCD display.
Expand Down
5 changes: 5 additions & 0 deletions content/workshops/e_firmata.md
Expand Up @@ -2,6 +2,11 @@
\thispagestyle{empty}
\mbox{}

\newpage
\thispagestyle{empty}
\mbox{}


\newpage

![](content/workshop_images/firmata.jpg)
Expand Down
12 changes: 12 additions & 0 deletions content/workshops/h_home.md
@@ -1,3 +1,11 @@
\newpage
\thispagestyle{empty}
\mbox{}

\newpage
\thispagestyle{empty}
\mbox{}

\newpage

![](content/workshop_images/home.jpg)
Expand Down Expand Up @@ -209,6 +217,8 @@ For the purpose of prototyping, we will be using cardboard and duct tape to moun

Attach the two metal rods to your servo with screws and washers.

\newpage

![](content/workshops/home/image00.jpg)

Now use a piece of cardboard (or other stiff material) to make a tighter bond between the servo and the lock:
Expand All @@ -219,6 +229,8 @@ Now use a piece of cardboard (or other stiff material) to make a tighter bond be

Now you can tape the servo to the deadbolt lock. Make sure it is positioned on the correct side so that the direction that the servo turns in is aligned with the direction that the lock turns in:

\newpage

![](content/workshops/home/image11.jpg)

And last but not least, we will tape our servo’s arms to the deadbolt itself:
Expand Down
16 changes: 3 additions & 13 deletions content/workshops/i_lilypad.md
Expand Up @@ -2,10 +2,6 @@
\thispagestyle{empty}
\mbox{}

\newpage
\thispagestyle{empty}
\mbox{}

\newpage

![](content/workshop_images/lilypad.jpg)
Expand All @@ -25,19 +21,13 @@ spare time cutting, sewing, and experimenting with various materials to create i

## Overview

Create your own multifunctional smart watch with the LilyPad Arduino, a microcontroller board designed for wearables and e-textiles. It can be sewn to fabric and similarly mounted power supplies, sensors and actuators with conductive thread.

During this workshop you will learn how to sew and connect whole elements.
Create your own multifunctional smart watch with the LilyPad Arduino, a microcontroller board designed for wearables and e-textiles. It can be sewn to fabric and similarly mounted power supplies, sensors and actuators with conductive thread. During this workshop you will learn how to sew and connect whole elements.

Have you ever heard about pomodoro technique? When whole leds are bright, that means you are very busy and nobody should disturb you. When leds are off, buzzer sound tells you that this is brake time. This management method uses a timer to break down work into intervals and it is based on the idea that frequent breaks can improve mental agility.

Blinking leds measuring our time is the first goal. Then we will upgrade our circuit to create light piano instrument and memory game.

## Preparations

We have two different Lilypad boards available: Arduino LilyPad FTDI and Arduino LilyPad USB. The difference is that Arduino LilyPad USB is simpler: it connects directly with computer by micro-USB cable and have less pins. Arduino LilyPad FTDI needs to be connected through FTDI Breakout (drivers are needed). Feel free to choose one of them and follow appropriate instruction.

__Make sure that you have collected:__
We have two different Lilypad boards available: Arduino LilyPad FTDI and Arduino LilyPad USB. The difference is that Arduino LilyPad USB is simpler: it connects directly with computer by micro-USB cable and have less pins. Arduino LilyPad FTDI needs to be connected through FTDI Breakout (drivers are needed). Feel free to choose one of them and follow appropriate instruction. __Make sure that you have collected:__

Arduino LilyPad FTDI, FTDI Breakout and mini USB cable

Expand All @@ -47,7 +37,7 @@ or Arduino LilyPad USB and micro USB cable

![](content/workshops/lilypad/2.jpg) \

###
\newpage

Battery Holder and Cell batery

Expand Down

0 comments on commit 7062a97

Please sign in to comment.