ROBOTER-IMST Raspberry PI 2 in der 9. Schulstufe. Mag. Dr. Klaus Misof Mag. Martin Gruber. BRG Kremszeile. K. Misof & M.

Ähnliche Dokumente
DC 5V Stepper Motor 28BYJ-48. Verwendung mit einem Arduino

LCD Display 20x4 mit Buttons

MotoPi. Ausgabe Copyright by Joy-IT 1

MotoPi. Ausgabe Copyright by Joy-IT 1

Moto1. 28BYJ-48 Stepper Motor. Ausgabe Copyright by Joy-IT 1

Minecraft. Starte anschließend die Programmiersprache Python, indem du folgenden Befehl in das Terminalfenster eingibst:

RFID RC522. Ausgabe Copyright by Joy-IT 1

Raspberry Pi Rezepte Teil 6 Das ADC des guten Geschmacks

am besten erst den ganzen Abschnitt lesen, besonders das mit dem patch!

KY-001 Temperatur Sensor Modul

I2C Serial 2.6 LCD Modul

I2C Serial 2.6 LCD Modul. Verwendung mit einem Arduino

Raspberry Pi Rezepte Teil 5

Linkerkit OLED Raspberry Pi und Arduino

RASPBERRY PI. Physical Computing

bedienerfreundlich plattformunabhängig Industrie 4.0 Web Viewer Smartphone-App kostenl. Hotline

Roboter-Arm-Bausatz Kalibrierung der Servomotoren mit Hilfe des Joy-IT MotoPi

Einführung in die Arduino Programmierung am Beispiel eines Roboters.

Softwareupdate-Anleitung // AC Porty L Netzteileinschub

Infrator Kit Der schlaue Schalter

Softwareentwicklung 2 (ILV) Übung 1

LEGO MINDSTORMS NXT Programming

Making the Internet of Things

Jugend Programmiert Die. Schlaue Pflanze.

Java Tools JDK. IDEs. Downloads. Eclipse. IntelliJ. NetBeans. Java SE 8 Java SE 8 Documentation

Einführung in Mikrokontroller Benutzung mit dem Arduino Board. Ramon Hofer ICVR

Raspberry Pi Basis-Workshop

Sehr geehrter Kunde, Seite 2

Raspberry Pi Lüftersteuerung

Steuern und Messen mit Raspberry Pi

Mojolicious. Ich zeige dir jetzt, wie du mit Mojolicious eine Vorlage. Das Mojolicious-Gerüst

1,8 Display Bedienungsanleitung Raspberry Pi

sudo diskutil unmount /dev/disk2s1 sudo diskutil eject /dev/rdisk2

Quick Guide Home Network Mode

Roboterprojekt Bluetooth RC Car


OMNITRONIC DSP Control Installationsanweisungen bis Version 1.3.1

Fakultät für Informatik, Institut für Robotik Laborpraktikum I - Medizinarena Legorobotik in C EV3

XML Kurs LRZ 1

Technische Informatik 1 Übung 5: Eingabe/Ausgabe (Computerübung) Georgia Giannopoulou, ETZ G & 18.


JOY-iT TFT-Display 1.8

M15 - Physical Computing mit dem Raspberry Pi I

Carlos Santos. Fachbereich Informatik Fakultät für Mathematik, Informatik und Naturwissenschaften. Universität Hamburg

Steht in der ersten Zeile #!/usr/bin/python und hat man die Ausführungsrechte gesetzt kann man es direkt ausführen.

docker.io Secure And Portable Containers Made Easy Jürgen Brunk München,

Readme-USB DIGSI V 4.82

Umstellung auf Systemd

Inhaltsverzeichnis Erste Schritte Grundprinzipien in Linux

Netbeans 6.1 mit SVN Server unter Debian etch mit Windows Clients

Introduction to Python. Introduction. First Steps in Python. pseudo random numbers. May 2016

Programmieren des NXT-Roboters mit LabView 2010

Tutotrial Raspberry pi B+ Setup:

StarLogo Befehle. Erzeugt number Schildkröten. Erzeugt number Schildkröten, die jeweils die list of commands ausführen. Entfernt alle Schildkröten.

Versuch 4 M_Dongle Servotester. Labor Mikrocontroller mit NUC130. Prof. Dr.-Ing. F. Kesel Dipl.-Ing. (FH) J. Hampel Dipl.-Ing. (FH) A.

CentOS 7 Secure And Portable Containers Made Easy Jürgen Brunk Köln,

JOY-iT 10.1 Touchscreen-Display

DER MINI-PC, DER ALLES KANN. Raspberry Pi. für Einsteiger. Matt Richardson & Shawn Wallace. Übersetzung von Thomas Demmig

Softwareupdate-Anleitung // Porty L 600 / Porty L 1200

Eclipse Tutorial.doc

Sensor Kit. cw42.de//1. $ sudo raspi-config. Bash

Verzeichnis Einführung...3 Übersicht der Bauteile...4 i. Acrylplatten...4 ii. Mechanische Befestigungsteile...5 iii. Antriebsteile...6 iv. Elektrokomp

sudo diskutil unmount /dev/disk2s1 sudo diskutil eject /dev/rdisk2

Raspberry Pi. Einstieg - Optimierung - Projekte. Bearbeitet von Maik Schmidt

Hey Siri Hallo Jasper. Eike Holtz Infratix GmbH Chemnitzer Linuxtage 2017

Der Adapter Z250I / Z270I lässt sich auf folgenden Betriebssystemen installieren:

3.2 / 3.5 Touch-Display

Einführung in Ansible

analoge Ein- und Ausgänge

Cameraserver mini. commissioning. Ihre Vision ist unsere Aufgabe

Programmieren in Python

Hans-Georg Eßer Betriebssysteme, WS 2006/07. Fachbereich Informatik/Mathematik Übungsblatt 1, Seite 1/5 Fachhochschule München

Nebenläufige Programme mit Python

CNC ZUR STEUERUNG VON WERKZEUGMASCHINEN (GERMAN EDITION) BY TIM ROHR

R&R. Ges. für Rationalisierung und Rechentechnik mbh. R&R RR-P-508 / ST106-EX1 motor-control unit

How-To-Do. Hardware Configuration of the CC03 via SIMATIC Manager from Siemens

kepler robotik unser Weg

Einführung in die Arduino-Programmierung II

PWM. An-Phase Aus-Phase Tastverhältnis Helligkeit. Beispiel 1 8 ms 2 ms 8:2 bzw. 4:1 recht hell. Beispiel 2 3 ms 3 ms 3:3 bzw.

1 Axis Kamera-Konfiguration IP-Konfiguration Datum und Uhrzeit einstellen Die Option Anonymous viewer login...

Rechnerarchitekturen und Betriebssysteme (CS201): Einführungsveranstaltung

Einführung in die Kommandozeile

Bauanleitung für ein ferngesteuertes Roboter Auto mit dem Raspberry Pi

Startup, Shutdown und Reboot eines Raspberry Pi über die HomeMatic CCU

oscan ein präemptives Echtzeit-Multitasking-Betriebssystem

Eine Roboter-Kanone. Projekt 20

Zum Download von ArcGIS 10, 10.1 oder 10.2 die folgende Webseite aufrufen (Serviceportal der TU):

Installationshinweise Z501J / Z501K Adapter IrDa USB Installation hints Z501J / Z501K Adapter IrDa USB

EasyLine by Hama GmbH & Co KG Postfach Monheim/Germany Tel. +49 (0)9091/502-0 Fax +49 (0)9091/

Arduino Line Follower Roboter.

p^db=`oj===pìééçêíáåñçêã~íáçå=

VPN für Linux (Ubuntu + Kubuntu)

Karten aktualisieren Don t Panik

Chrosziel GmbH Klausnerring Kirchheim b. München Germany Tel , Fax

Ruby Die bebilderte Anleitung

Universalfernbedienung URC22B für Video- Disk-Recorder

3,2 Touch-Display-V2 / 3,5 Touch-Display Bedienungsanleitung [Version ]

Installation Raspberry Pi + Siemens MC35i

Seite 1/6. ModellFerienPass.pdf).

Transkript:

ROBOTER-IMST 2016 Raspberry PI 2 in der 9. Schulstufe Mag. Dr. Klaus Misof Mag. Martin Gruber & BRG Kremszeile

PC-Labor Neues Fach in der 9. Schulstufe AHS Kombination aus Physik, Informatik & Mechanik Team-Teaching

Motivation Plichtfach Informatik mit Praxis ergänzen Fortsetzung der Kenntnisse aus Physik, Informatik und Technischen Werken aus der Unterstufe Förderung des kreativen Gestaltens Selbständiges Arbeiten an einem konkretem Projekt

Auswahl der Hardware Raspberry Pi 2? Arduino? Chassis?

Robots &Sensoren steuern und verstehen Wie steuert man mit dem PI DC- Motoren oder Servos? Wie kann man sich mit dem Handy verbinden? Wie kann der ROBO seine Umwelt wahrnehmen? Welches Wissen ist über Hardware notwendig? Welche Sensoren sind leicht zu handhaben?

Raspberry PI 2

GPIO

RASPBERRY PI & TERMINAL

RASPBERRY PI & TERMINAL In der Datei : /etc/wpa_supplicant/wap_supplicant.conf : ctrl_interface=dir=/var/run/wpa_supplica nt GROUP=netdev update_conig=1 network={ ssid="schule" psk="xxxxxx" key_mgmt=wpa-psk }

Chassis

Chassis

Chassis

Chassis

Chassis

Chassis

Chassis

Chassis

Chassis

DC-MOTOREN & H-BRÜCKE

DC-MOTOREN & H-BRÜCKE

H-BRÜCKE

Fritzing-Software

SERVO & PWM-SIGNAL

SERVO & UMBAU

ENERGIEVERSORGUNG

L298N -Dual- H-Brücke EnableA MotorA1 MotorA2 Wirkung 0 0 0 Motor läuft aus 1 1 1 Motor stoppt 1 1 0 Motor dreht nach links 1 0 1 Motor dreht nach rechts 1 0 0 Motor stoppt

Code: PIN-Nummern #!/usr/bin/python import RPi.GPIO as GPIO MotorEnableA = 37 Motor1A = 35 Motor2A = 33 MotorEnableB = 40 Motor2B = 38 Motor1B = 36 GPIO.setmode(GPIO.BOARD) GPIO.setwarnings(False)

Code: PIN-Nummern #!/usr/bin/python import RPi.GPIO as GPIO MotorEnableA = 37 Motor1A = 35 Motor2A = 33 MotorEnableB = 40 Motor2B = 38 Motor1B = 36 GPIO.setmode(GPIO.BOARD) GPIO.setwarnings(False)

Code: PIN-Setup GPIO.setup(MotorEnableA,GPIO.OUT) GPIO.setup(Motor1A,GPIO.OUT) GPIO.setup(Motor2A,GPIO.OUT) GPIO.setup(MotorEnableB,GPIO.OUT) GPIO.setup(Motor1B,GPIO.OUT) GPIO.setup(Motor2B,GPIO.OUT) pulsa=gpio.pwm(motorenablea,100) pulsb=gpio.pwm(motorenableb,100) GeschwindigkeitA=100 GeschwindigkeitB=100 geschwindigkeita_langsam=100 geschwindigkeitb_langsam=100

Code: DC-Ansteuerung def all_off() : GPIO.output(Motor1A,GPIO.LOW) GPIO.output(Motor2A,GPIO.LOW) GPIO.output(Motor1B,GPIO.LOW) GPIO.output(Motor2B,GPIO.LOW) GPIO.output(MotorEnableA,GPIO.LOW) GPIO.output(MotorEnableB,GPIO.LOW) def motora(move): if move == 0 : GPIO.output(Motor1A,GPIO.LOW) GPIO.output(Motor2A,GPIO.LOW) #MotorA vorwaerts if move == 1 : GPIO.output(Motor1A,GPIO.LOW) GPIO.output(Motor2A,GPIO.HIGH) #MotorA rueckwerts if move == 2 : GPIO.output(Motor1A,GPIO.HIGH) GPIO.output(Motor2A,GPIO.LOW)

Code: DC-Funktionen def forward(): pulsa.start(geschwindigkeita) pulsb.start(geschwindigkeitb) motora(1) motorb(1) def back(): pulsa.start(geschwindigkeita) pulsb.start(geschwindigkeitb) motora(2) motorb(2) def stop(): #pulsa.start(geschwindigkeita) #pulsb.start(geschwindigkeitb) motora(0) motorb(0) def right(): pulsa.start(geschwindigkeita_langsam) pulsb.start(geschwindigkeitb_langsam) motora(2) motorb(1) def left(): pulsa.start(geschwindigkeita_langsam) pulsb.start(geschwindigkeitb_langsam) motora(1) motorb(2)

Code: Funktionen testen #main forward() time.sleep(2) stop() Back() time.sleep2) stop() left() time.sleep(2) stop() right() time.sleep(2) stop() GPIO.cleanup()

Cursor-Tasten import curses stdscr = curses.initscr() while 1: c = stdscr.getch() if c == ord('q'): stop() break if c == 65: #print "Vorwaerts" forward() if c == 66: #print "Rueckwaerts" back() if c == 67: #print "Rechts" right() if c == 68: #print "Links" left() curses.endwin()

Code: Command Web import sys if sys.argv[1] == "forward" : kmmotor.forward() if sys.argv[1] == "back" : kmmotor.back() if sys.argv[1] == "left" : kmmotor.left() if sys.argv[1] == "right" : kmmotor.right(l) if sys.argv[1] == "stop" : kmmotor.stop() #GPIO.cleanup()

Ultraschallsensor Betriebsspannung: U=5V Echo-Signal: Ebenfalls 5V, aber zu groß für den Raspberry PI!!! (max. 3,2V!!!) Spannuntgsteiler

Spannungsteiler

Spannungsteiler

Code: Ultraschallsensor import RPi.GPIO as GPIO import time import os GPIO.setmode(GPIO.BOARD) TRIG = 29 #PIN 29 ECHO = 31 #PIN 31 GPIO.setup(TRIG,GPIO.OUT) GPIO.setup(ECHO,GPIO.IN) GPIO.output(TRIG,0) maxabstand=50 ruhezeit=0.2 maxzeit=1

Code: Ultraschallsensor def distance(): abstand = 0 zeit = time.time() start = time.time() #GPIO.output(TRIG,0) #time.sleep(0.1) GPIO.output(TRIG,1) time.sleep(0.000001) GPIO.output(TRIG,0) #start = time.time() while (GPIO.input(ECHO) == 0): start = time.time() while (GPIO.input(ECHO) == 1): stop = time.time() abstand=(stop-start)*17000 time.sleep(ruhezeit) print(int(abstand)) return int(abstand) #while True: # test=distance() # print(test) #GPIO.cleanup

Code: Ultraschallsensor import RPi.GPIO as GPIO GPIO.setup(servoC,GPIO.OUT) pwmc=gpio.pwm(servoc,50) neutral=7.5 max=12 min=4 spanne=4.8 winkel=90.0 Stellzeit=0.2 ef position(pos): #pwmc.start(pos) wert=neutral+pos/winkel*spanne pwmc.changedutycycle(wert) time.sleep(stellzeit) pwmc.start(0) time.sleep(0.2)

WEBCAM & MJPG-STREAMER apt-get install subversion apt-get install libv4l-dev apt-get install libjpeg8-dev apt-get install imagemagick

MJPG-STREAMER & Compilieren svn co https://svn.code.sf.net/p/mjpgstreamer/code/ cd mjpg-streamer/mjpg-streamer make USE_LIBV4L2=true clean all make DESTDIR=/usr install

Bilder Gallerie sudo nano /usr/sbin/webcam.sh mjpg_streamer -i "/usr/lib/input_uvc.so -d /dev/video0 -r 640x480 -f 1" -o "/usr/lib/output_http.so -p 8090 -w /var/www/mjpg_streamer" Save the file and give it exec permission sudo chmod 755 /usr/sbin/webcam.sh Create a link to global applications folder so you can run it from any folder sudo ln -s /usr/sbin/webcam.sh /etc/init.d/webcam.sh Make sure it gets executed during boot update-rc.d webcam.sh defaults 94 6

Webpage-Example sudo nano /var/www/video.html <html> <head><title>mjpg Streamer</title></head> <body> <h1>mjpg video of ELMTREE Lounge Room</h1> <img src= http://10.0.0.38:8090/?action=stream width= 752 > <br><a href= http://10.0.0.38:8090/?action=stream >View</a> <body> </html>

Bilder Gallerie

Bilder Gallerie

Bilder Gallerie

Bilder Gallerie

Bilder Gallerie

Bilder Gallerie

Self-Balancing Robot

Bilder Gallerie

Workshops Viel Erfolg bei der Robotik Workshops: klausmisof@gmx.at