Raspberry Pi

From Sketching with Hardware at LMU Wiki
Revision as of 16:22, 18 November 2020 by Weingahe (talk | contribs) (→‎HW)
Jump to navigation Jump to search

There are different version of the Raspberry Pi https://www.raspberrypi.org/, e.g.

  • Raspberry Pi 4 Model B
  • Raspberry Pi Zero W
  • Raspberry Pi Zero
  • Raspberry Pi 400
  • Raspberry Pi 3 Model B

The Raspberry Pi is a Linux computer that has a multitude of connectors and in particular, it provides GPIO pins. The connector (HAT) provides an easy way to add your own sensors and actuators and there are many boars that can be connected.

Audio input and output are not very good, hence we recommend using a USB Sound Adapter (the 5€ versions work very well).

For programming, we will use python.

For controlling the Pins on the Raspberry Pi, you may want to look at the following library


Web server on the Raspberry Pi

Resources

Pinout of Pi Zero

physical connections
JL: https://peppe8o.com/raspberry-pi-zero-pinout/
CR: https://de.pinout.xyz/pinout/io_pi_zero
HW: https://www.argon40.com/learn/index.php/2020/03/06/a-comprehensive-guide-on-raspberry-pi-3-and-raspberry-pi-zero-and-zero-w-gpio-pinout/

Setting up Python

NOOBS configure
JL: https://www.tutorialspoint.com/python/python_environment.htm
CR: https://learn.adafruit.com/setting-up-a-raspberry-pi-with-noobs/download-noobs
HW: https://www.raspberrypi.org/help/noobs-setup./

Access to GPIO

JL: http://codefoster.com/pi-basicgpio/
CR: https://fedoramagazine.org/raspberry-pi-zero-gpio-fedora/
HW: https://webnist.de/raspberry-pi-zero-gpio-pins-ueber-den-desktop-steuern/

Blinking an LED

JL: https://raspberrypihq.com/making-a-led-blink-using-the-raspberry-pi-and-python/
CR: https://fedoramagazine.org/raspberry-pi-zero-gpio-fedora/
HW: https://webnist.de/raspberry-pi-zero-gpio-pins-ueber-den-desktop-steuern/

Reading a Pin

JL: http://raspberry.io/projects/view/reading-and-writing-from-gpio-ports-from-python/
CR: https://learn.sparkfun.com/tutorials/raspberry-gpio/all
HW: https://mjrobot.org/rpi-gpiozero/

Runing a Webserver that access GPIO

JL: https://towardsdatascience.com/python-webserver-with-flask-and-raspberry-pi-398423cc6f5d
CR: https://www.e-tinkers.com/2018/04/how-to-control-raspberry-pi-gpio-via-http-web-server/
HW: https://hackaday.io/project/173322-controlling-gpio-outputs-using-a-web-interface-wit

Restful API

JL: https://sites.google.com/site/cartwrightraspberrypiprojects/home/other-projects/rest-api
CR: https://docs.dataplicity.com/docs/control-gpios-using-rest-api
HW: https://www.youtube.com/watch?v=JZfevVG-VuA&list=PLLIDdNg0t5ceg3mI3vn0YJocJ4ndMtM98&index=4&t=0s

Description of the components

JL: https://www.adafruit.com/product/3411
CR: https://computer.howstuffworks.com/raspberry-pi2.htm
HW: https://learn.adafruit.com/introducing-the-raspberry-pi-zero

Project Ideas

SG

JL

JP

CR

Problem: Tension due to prolonged sitting and incorrect sitting positions (e.g. crooked shoulders)
Sensors: Kinect for analysis of posture, sensors that measure the tension in the neck
The longer one maintains a bad sitting position, the older/bent an avatar becomes on the screen. Through movement the avatar becomes younger/upright again.

YS

JW

HW

Problem: Pain in the hand and wrist due to consistent movement or incorrect hand/arm position
Sensors: e.g. Leap Motion for motion and posture detection, keyboard/mouse to track activity (?)
Vibration of the mouse/keyboard if the same position was kept for too long or no pause was made. A visualization of an inflammation (red pulsating circles) is displayed, which gets worse/better depending on user behavior. This warns the user when his hand position is worsening. The user may choose to be prevented from continuing to work or not.