{ "metadata": { "name": "" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# [Morse code tutorial](http://www.cl.cam.ac.uk/projects/raspberrypi/tutorials/robot/morse_code/)" ] }, { "cell_type": "code", "collapsed": false, "input": [ "import RPi.GPIO as GPIO\n", "import time" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 1 }, { "cell_type": "code", "collapsed": false, "input": [ "pinNum = 25\n", "GPIO.setmode(GPIO.BCM) #numbering scheme that corresponds to breakout board and pin layout\n", "GPIO.setup(pinNum,GPIO.OUT) #replace pinNum with whatever pin you used, this sets up that pin as an output" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 5 }, { "cell_type": "code", "collapsed": false, "input": [ "#set LED to flash forever\n", "while True:\n", " GPIO.output(pinNum,GPIO.HIGH)\n", " time.sleep(0.5)\n", " GPIO.output(pinNum,GPIO.LOW)\n", " time.sleep(0.5)" ], "language": "python", "metadata": {}, "outputs": [ { "ename": "KeyboardInterrupt", "evalue": "", "output_type": "pyerr", "traceback": [ "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m\n\u001b[1;31mKeyboardInterrupt\u001b[0m Traceback (most recent call last)", "\u001b[1;32m\u001b[0m in \u001b[0;36m\u001b[1;34m()\u001b[0m\n\u001b[0;32m 4\u001b[0m \u001b[0mtime\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0msleep\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;36m0.5\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 5\u001b[0m \u001b[0mGPIO\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0moutput\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mpinNum\u001b[0m\u001b[1;33m,\u001b[0m\u001b[0mGPIO\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mLOW\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 6\u001b[1;33m \u001b[0mtime\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0msleep\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;36m0.5\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m", "\u001b[1;31mKeyboardInterrupt\u001b[0m: " ] } ], "prompt_number": 6 }, { "cell_type": "code", "collapsed": false, "input": [ "GPIO.output(pinNum,GPIO.LOW)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 7 }, { "cell_type": "code", "collapsed": false, "input": [ "CODE = {' ': ' ', \n", " \"'\": '.----.', \n", " '(': '-.--.-', \n", " ')': '-.--.-', \n", " ',': '--..--', \n", " '-': '-....-', \n", " '.': '.-.-.-', \n", " '/': '-..-.', \n", " '0': '-----', \n", " '1': '.----', \n", " '2': '..---', \n", " '3': '...--', \n", " '4': '....-', \n", " '5': '.....', \n", " '6': '-....', \n", " '7': '--...', \n", " '8': '---..', \n", " '9': '----.', \n", " ':': '---...', \n", " ';': '-.-.-.', \n", " '?': '..--..', \n", " 'A': '.-', \n", " 'B': '-...', \n", " 'C': '-.-.', \n", " 'D': '-..', \n", " 'E': '.', \n", " 'F': '..-.', \n", " 'G': '--.', \n", " 'H': '....', \n", " 'I': '..', \n", " 'J': '.---', \n", " 'K': '-.-', \n", " 'L': '.-..', \n", " 'M': '--', \n", " 'N': '-.', \n", " 'O': '---', \n", " 'P': '.--.', \n", " 'Q': '--.-', \n", " 'R': '.-.', \n", " 'S': '...', \n", " 'T': '-', \n", " 'U': '..-', \n", " 'V': '...-', \n", " 'W': '.--', \n", " 'X': '-..-', \n", " 'Y': '-.--', \n", " 'Z': '--..', \n", " '_': '..--.-'}" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 8 }, { "cell_type": "code", "collapsed": false, "input": [ "msg = \"Yoav Ram\"" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 9 }, { "cell_type": "code", "collapsed": false, "input": [ "for c in msg:\n", " print c,\n", " for signal in CODE[c.upper()]:\n", " print signal,\n", " if signal != ' ':\n", " GPIO.output(pinNum,GPIO.HIGH)\n", " if signal == '.':\n", " time.sleep(0.25)\n", " if signal == '-':\n", " time.sleep(0.5)\n", " GPIO.output(pinNum,GPIO.LOW)\n", " time.sleep(0.5)\n", " time.sleep(0.5)\n", "GPIO.output(pinNum,GPIO.LOW)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Y - " ] }, { "output_type": "stream", "stream": "stdout", "text": [ ". " ] }, { "output_type": "stream", "stream": "stdout", "text": [ "- " ] }, { "output_type": "stream", "stream": "stdout", "text": [ "- " ] }, { "output_type": "stream", "stream": "stdout", "text": [ "o - " ] }, { "output_type": "stream", "stream": "stdout", "text": [ "- " ] }, { "output_type": "stream", "stream": "stdout", "text": [ "- " ] }, { "output_type": "stream", "stream": "stdout", "text": [ "a . " ] }, { "output_type": "stream", "stream": "stdout", "text": [ "- " ] }, { "output_type": "stream", "stream": "stdout", "text": [ "v . " ] }, { "output_type": "stream", "stream": "stdout", "text": [ ". " ] }, { "output_type": "stream", "stream": "stdout", "text": [ ". " ] }, { "output_type": "stream", "stream": "stdout", "text": [ "- " ] }, { "output_type": "stream", "stream": "stdout", "text": [ " " ] }, { "output_type": "stream", "stream": "stdout", "text": [ "R . " ] }, { "output_type": "stream", "stream": "stdout", "text": [ "- " ] }, { "output_type": "stream", "stream": "stdout", "text": [ ". " ] }, { "output_type": "stream", "stream": "stdout", "text": [ "a . " ] }, { "output_type": "stream", "stream": "stdout", "text": [ "- " ] }, { "output_type": "stream", "stream": "stdout", "text": [ "m - " ] }, { "output_type": "stream", "stream": "stdout", "text": [ "-\n" ] } ], "prompt_number": 10 }, { "cell_type": "code", "collapsed": false, "input": [], "language": "python", "metadata": {}, "outputs": [] } ], "metadata": {} } ] }