PyPrintPi på en Raspberry Pi (20 / 23 steg)

Steg 20: Skapa ett sista bibliotek

I nästa svarar några steg vi ska skapa ett användargränssnitt där Pi skriver ut instruktioner och användaren med hjälp av knapparna.

För att göra så vi behöver att expandera gauss_pi_lib biblioteket vi skapade tidigare. Det nya biblioteket kallas PiPrintLib. Här är det:

från decimal import *
importera os

def gauss_pi_method(decimals):
getcontext () .prec = decimaler + 10 #sets precision med 10 fler decimaler än bad om.
PI = 4*(12*arctan(18) + 8*arctan(57) - 5*arctan(239))

getcontext () .prec = decimaler #this kodblock rundor pi antal decimaler som bad om
PI = + pi

f = öppna ('pi.txt', 'w') #this block sparar våra värdet på pi till pi.txt
f.write(Str(PI))
f.Close()
returnera

def arctan(x):

en = 10 ** getcontext () .prec

xSquaredPlusOne = (x * x) + 1
fract = (x * en) / / xSquaredPlusOne
Total = fract
numurator_num = 2
medan 1:
nämnaren = (numurator_num + 1) * xSquaredPlusOne
fract * = numurator_num
fract = fract / / nämnare
om fract == 0:
Break
totala += fract
numurator_num += 2
återgå Decimal(Decimal(total)/Decimal(one))

def printer_print(string): #this funktion sparar en sträng till en textfil och sedan använder en python 2-program att skriva ut den
f = öppna ('passtopython2.txt', 'w') #this block sparar våra värdet på pi till pi.txt
f.write(string)
f.Close()
OS.system ("python printfrom3.py")
returnera

def pi_cheat(decimals): #this funktion används för att ändra pi.txt till ett värde av pi korrekt att antalet platser bad om utan att behöva beräkna pi
f = öppna ('pi_cheat.txt', 'r') #This block öppnar pi.txt och sparar innehållet som en sträng
pi_cheat = f.read()
f.Close()
om decimaler > len(pi_cheat):
p = öppna ('pi.txt', 'w') #this block sparar våra värdet på pi till pi.txt
p.write(Str(pi_cheat))
p.Close()
annat:
p = öppna ('pi.txt', 'w') #this block sparar våra värdet på pi till pi.txt
p.write (str (pi_cheat [: decimaler]))
p.Close()
returnera
def printpi():
OS.system ("sudo python printpi.py")

Du kan visa programmet från din Raspberry Pi genom att skriva:

Nano PiPrintLib.py

att stänga nano tryck kontroll x.

Detta bibliotek är samma som det tidigare biblioteket utom den innehåller tre ytterligare funktioner: printer_print(), pi_cheat() och printpi().

printer_print() används för att skriva ut en sträng på skrivaren från Python 3. För att göra detta först sparas strängen i text dokument passtopython2.txt, det sedan samtal en Python 2 program som heter printfrom3.py som öppnas i texten och skriver ut den och sedan tas den bort.

Printfrom3.py programmet ser ut:

#! / usr/bin/python

från Adafruit_Thermal import * #imports Adafruits_library
importera os

f = öppna ('passtopython2.txt', 'r') #This block öppnar passtopython2.txt och sparar innehållet som en sträng
sträng = f.read()
f.Close()

skrivaren = Adafruit_Thermal ("/ dev/ttyAMA0", 19200, timeout = 5) #creates Skrivarobjektet
Printer.println(Str(string))
OS.system ("rm passtopython2.txt")

Du kan se den från din Raspberry Pi genom att skriva:

Nano printfrom3.py

Nästa funktion i biblioteket är pi_cheat(), den här funktionen tar argument decimaler och kopierar det antalet tecken från pi_cheat.txt till pi.txt. Detta innebär att du kan skriva ut π till ett visst antal decimaler utan att behöva beräkna det (pi_cheat.txt gjordes med gauss_pi_lib_test.py så det inte är ett komplett fusk).

Den senaste funktionen, printpi(), helt enkelt kör Python 2 program printpi.py som vi skapade i föregående steg.

Se Steg
Relaterade Ämnen

Raspberry Pi dokument Scanner med automatisk belasta upp till Dropbox.

Har du någonsin fått orolig när du inte har kunnat hitta en räkning eller post-it lapp som du verkligen behövs? Bra med denna Raspberry Pi dokument Scanner nu behöver du inte! Alla dina anteckningar, kvitton och handlingar kommer nu att ett klick bor...

En riktigt billig Raspberry Pi GPIO kabel

detta instructable kan nås på författarens hemsida - http://www.neatinformation.com/howto/Pi%20GPIO.html. Om du länkar till detta instructable från en annan webbplats, vänligen inkludera en länk till webbplatsen Ordentlig Information .Projektet beskr...

Öka din verklighet med iTorch raspberry pi ficklampa projektorn

UPPDATERING: Den 3 maj - spela Minecraft på den nyare iTorch :)UPPDATERING: Ny iTorch 3D tryckta version! & & Äntligen lagt upp några filmer, hoppas du gillar dem. :)Inlägg av ITorch mediedelning.https://www.Facebook.com/Photo.php?v=29239404759309...

Automatiserad Aeroponics systemet med Raspberry Pi

i detta Instructable, vi lär dig att göra en Aeroponics systemet som styrs via Raspberry Pi, och använder modulen Raspberry Pi kamera för att ta bilder av dina växter. Aeroponics är en ganska okonventionell metod av trädgårdsarbete, men det är det so...

CoPiino fuktkontroll - raspberry pi och arduino

Jag kom nyligen över en vän till mig. Vi pratade om våra senaste projekt där han slutligen berättade om sin källare som har mycket hög luftfuktighet och är för närvarande inte att bra plats där du vill köra projekt.Detta fick oss att tänka på en ny p...

Hemautomation med nod js, raspberry pi och heimcontrol

I guiden kommer att göra beskriver hur du använder heimcontrol plattform (är NodeJs program för hemautomation öppen källkod under MIT licens)Några av där funktioner:Lyhörda : responsive design ger dig bekväm kontroll hem enheter använda din smartphon...

Arduino / Raspberry Pi fallet med OpenCase

OpenCase kan du enkelt dimension och generera DXF filer för elektronik kapslingar. Du sätter i materialtjockleken, invändiga mått, och berätta det där att skära hål och utskärningar, och det gör resten. OpenSCAD används för alla beräkningar och gener...

Lätt Raspberry Pi baserad skärmsläckare/bildspel för utställningar/butik Front

På utställningar vill du ofta Visa upp ditt arbete i hopp om att locka potentiella kunder. Den här också arbeten för Fönstren av butiker att marknadsföra produkter som säljs inom. De flesta kommer helt enkelt skapa en stor fast bild affisch till stor...

Raspberry Pi I2C (Python)

i detta instructable, jag kommer att förklara hur man använder I2C på Pi, med exempel på CMPS03 kompass modulen och SRF08 ultraljud sortiment, med hjälp av python. Jag kommer att förklara rakt igenom installera OS, att se till att beroenden och allt...

Kör Linux Terminal på Windows med DHCP och Raspberry Pi

Vad du behöver:Dator med Windows installeratRaspberry Pi (jag rekommenderar B + men någon kommer att fungera)SD-kort med Raspberry Pi bild utarbetatsEthernet-kabelStrömkälla för Raspberry PiDHCP-servern (finns här)PuTTY (finns här)Steg 1: Förbered DH...

Skicka en kopia av dina bilder och videor i din Android-telefon till Raspberry Pi med Bluetooth

IntroduktionDetta instructable byggd på en tidigare instructable "vända Raspberry Pi i en Bluetooth-enhet som jag skapat.Foton och videoklipp på min Android telefon säkerhetskopieras automatiskt till Google + Foto moln. Men vill jag spara en kopia i...

Förvandla Raspberry Pi till Network File System version 4 (NFSv4) server

IntroduktionNätverk-filen System(NFS) kan samtidigt köra i version 2, 3, 4. NFS version 4(NFSv4) har flera förbättringar över NFSv2 och NFSv3. De förbättringar som jag gillar mest är:NFSv4 gör konfigurera brandväggen enkelt eftersom NFSv4 använder en...

AirPlay Radio med Raspberry Pi och WiFi

Innan jag började arbeta för Pelagicore vann jag två Raspberry Pi: s (kort RP) som de sponsrade. En eftersom jag var en av de första människorna på foss-gbg epostlistan som de började. Det är för folk från Göteborg och omgivning som vill gå med andra...

Digital notställ: Raspberry Pi + Touchscreen

IMSLP är en av de största sakerna att hända i klassisk musikvärlden under de senaste minne. För dem som inte vet, är IMSLP.org en online-bibliotek med alla noter som inte längre är under copyright-skydd. Du kan hitta ganska mycket något skrivet av Be...

Institutionen för redundans institutionen: Raspberry Pi hallon paj

Pi, naturligtvis, är ett användbart verktyg i matematik- men en Raspberry Pi är ett användbart verktyg i alla möjliga sätt. Vi är mycket glada över att äga en Raspberry Pi - som är ungefär som naken mullvad råttan datorer: det är ett kreditkort storl...

0-5V Analog insignal från Raspberry Pi ett diagram på webben

med hjälp av PIC PI expansionskort i kombination med din Raspberry Pi kommer jag visa dig hur du kan diagram analoga spänningar till CosmMaskinvara som behövs för detta projekt1 x Raspberry Pi1 x PIC PI utveckling styrelsen (du kommer att kunna köpa...

1970-talet raspberry Pi Amazon AlexaPhone

Detta är en av 1970-talet-style trimphone som jag har konverterat för att hysa en Raspberry Pi kör Amazons Alexa röstsökningstjänsten.För att använda det du bara lyfta luren, tala din fråga, hänga upp och alexas svar levereras via en inbyggd högtalar...

1981 Portable VCR Raspberry PI Media Centre

Detta är en tidig 80-Sharp VC - 2300H bärbara Videobandspelare som jag har konverterat - det har nu en Raspberry Pi i centrum, kör de utmärkta Raspbmc medierna Center software. Andra uppgraderingar inkluderar en snazzy arduino-baserad klocka och en E...

2 sätt byta med Raspberry PI och Berry IO

Min allra första instructable...Jag postat en video på youtube på ett projekt jag gjorde under min semester, här är en länk:Efter mycket mail och frågor från människor som ber om detaljerna till denna 2 sätt byta, jag bestämde mig att utarbeta detta...