Anspruchsvolle Microcontroller arduino projekte?

Hey, ich bin gerade in der 11. Klasse und wir müssen Jahresarbeiten mit einem praktischen Teil schreiben.

Ich interessiere mich sehr für Technik in jede Richtung und auch programmieren (auch wenn ich nicht so erfahren bin)

Ich hab auch einige Leute die mir bei der umsetzung von Projekten helfen könnten.

Ich habe mir überlegt über Microcontroller an sich zu schreiben und ein passendes Projekt dazu zu machen.

Das kann ruhig anspruchsvoll sein,da ich ja ein ganzes Jahr lang Zeit für die Umsetzung habe.

Mein Cousin hatte vor einigen Jahren ein ähnliches Thema gewählt und hat z.b. einen Staubsaugerroboter gebaut der auch Treppen hinauf gehen kann und so auf mehreren Stockwerken einsetzbar ist.

Ich würde auch gerne etwas ähnliches machen. Der mögliche einsatzbereich ist völlig egal.

Ich suche Ideen oder Anregungen jeder Art für coole witzige oder nützliche Projekte.

Schreibt gerne alles was euch einfällt auch wenn die Umsetzung vieleicht unrealistisch ist, das regt immerzu guten Ideen an und man könnte auch Abwandlungen versuchen.

Ihr könnt auch gern Ideen schreiebn für technische Projekte die vieleicht nicht unbedingt mit Mikrocontrollern gesteuert werden.

Für die Umsetzung hätte ich wegen dem Studium meiner Schwester auch alle möglichen geräte wie Lasercutter, 3D druck, Guss, Holz/kunstoffwerkstäten etc. Zur verfügung.

Vielen Dank schonmal für mögliche Ideen, lg

Technik, Elektronik, programmieren, Elektrotechnik, Mikrocontroller, Arduino, Informatik, Python, 3D-Drucker
Datei finden Fehler?

Hallo,

ich mache ein Programm in Python (mit Turtle), welches erkennt wo die ISS ist. Aber (obwohl es in demselben Ordner ist) findet es die Datei 'map.gif' nicht. Kann mir da jemand helfen?

Danke im voraus!

Code:

import json
import turtle
import urllib.request


url = 'http://api.open-notify.org/astros.json'
antwort = urllib.request.urlopen(url)
ergebnis = json.loads(antwort.read())


print('Personen im Weltall: ', ergebnis['number'])


personen = ergebnis['people']
#print(personen)



for p in personen:
    print(p['name'], 'in', p['craft'])


url = 'http://api.open-notify.org/iss-now.json'
antwort = urllib.request.urlopen(url)
ergebnis = json.loads(antwort.read())


standort = ergebnis['iss_position']
breitengrad = float(standort['latitude'])
längengrad = float(standort['longitude'])
print('Breitengrad: ', breitengrad)
print('Längengrad: ', längengrad)


bildschirm = turtle.Screen()
bildschirm.bgpic("map.gif")

Fehlermeldung:

File "/home/pi/Dokumente/Python programme/Standart/Wo ist die ISS?", line 29, in <module>
    bildschirm.bgpic("map.gif")
  File "/usr/lib/python3.7/turtle.py", line 1481, in bgpic
    self._bgpics[picname] = self._image(picname)
  File "/usr/lib/python3.7/turtle.py", line 479, in _image
    return TK.PhotoImage(file=filename)
  File "/usr/lib/python3.7/tkinter/__init__.py", line 3545, in __init__
    Image.__init__(self, 'photo', name, cnf, master, **kw)
  File "/usr/lib/python3.7/tkinter/__init__.py", line 3501, in __init__
    self.tk.call(('image', 'create', imgtype, name,) + options)
_tkinter.TclError: couldn't open "map.gif": no such file or directory
Python, Python 3, Tkinter
Python Pickle Vokabeltrainer?

Hallo,

ich will einen simplen Vokabeltrainer mit python programmieren. Um die Vokabeln die vom user eingeben werden zu speichern verwende ich pickle. Leider werden ohne Fehlermeldung keine Vokabeln in der von mir angelegten Datei gespeichert.

import random
import pickle



class Entry:
    def __init__(self, deutsch, englisch):
        self.deutsch = deutsch
        self.englisch = englisch


    def toString(self):
        return self.deutsch + " - " + self.englisch
        
eintraege = [Entry("hallo", "hello")]


def save():
    with open('vocabulary.pkl', 'wb') as voc_pkl:
        pickle.dump(eintraege, voc_pkl)


save()
 
with open('vocabulary.pkl', 'rb') as voc_pkl:
    eintraege = pickle.load(voc_pkl)



def eingabe():
    while True:
        deutsch = input("Deutsches Wort: ")
        if deutsch == "#fertig":
            return
        englisch = input("Englisches Wort: ")
        if englisch == "#fertig":
            return
        eintraege.append(Entry(deutsch, englisch))
        save()
        
def abfrage():
    while True:
        i = random.randint(0,len(eintraege)-1)
        englisch = input("Englische Übersetzung von " + eintraege[i].deutsch + ": ")
        if(englisch == "#fertig"):
            return
        if eintraege[i].englisch == englisch:
            print("korrekt!")
        else:
            print("leider falsch. Richtige Antwort: " + eintraege[i].englisch)
            
def printall():
    for eintrag in eintraege:
        print(eintrag.toString())
        
while True:
    befehl = input("Befehl: ")
    if befehl == "eingabe":
        eingabe()
    elif befehl == "abfrage":
        abfrage()
    elif befehl == "beenden":
        break
    elif befehl == "ausgabe":
        printall()
    else:
        print("keine bekannte Ausgabe. Tippe: eingabe, abfrage, ausgabe oder beenden.")
Programmiersprache, Python
DOCKER Fehlermeldung: TypeError: function() argument 'code' must be code, not str, was tun?

Hallo, ich mit einem YouTube video eine kleine FastApi App geschrieben. Dann habe ich sie als ein Docker gebaut. Wenn ich diesen nun starte bekomme ich die im Titel stehende Fehlermeldung. `Ich habe schon ganz Google nach einer Möglichkeit durchgesucht aber leider keine Lösung gefunden. Vll. hat ja einer von euch 'ne Idee.

DER CODE:

from fastapi import FastAPI
from app.model.test import Upscale

app = FastAPI()

class TextIn(Upscale):
    org_url: str


class TextOut(Upscale):
    url: str



@app.get("/")
def home():
    return {"health_check": "OK"}

@app.post("/post", response_model=TextOut)
def UpSc(payload: TextIn):
    textwrap = Upscale(payload.org_url)
    return {"url": "url"}

`

KOMPLETTER TRACEBACK: `

Traceback (most recent call last):
  File "/usr/local/lib/python3.9/site-packages/gunicorn/arbiter.py", line 589, in spawn_worker
    worker.init_process()
  File "/usr/local/lib/python3.9/site-packages/uvicorn/workers.py", line 66, in init_process
    super(UvicornWorker, self).init_process()
  File "/usr/local/lib/python3.9/site-packages/gunicorn/workers/base.py", line 134, in init_process
    self.load_wsgi()
  File "/usr/local/lib/python3.9/site-packages/gunicorn/workers/base.py", line 146, in load_wsgi
    self.wsgi = self.app.wsgi()
  File "/usr/local/lib/python3.9/site-packages/gunicorn/app/base.py", line 67, in wsgi
    self.callable = self.load()
  File "/usr/local/lib/python3.9/site-packages/gunicorn/app/wsgiapp.py", line 58, in load
    return self.load_wsgiapp()
  File "/usr/local/lib/python3.9/site-packages/gunicorn/app/wsgiapp.py", line 48, in load_wsgiapp
    return util.import_app(self.app_uri)
  File "/usr/local/lib/python3.9/site-packages/gunicorn/util.py", line 359, in import_app
    mod = importlib.import_module(module)
  File "/usr/local/lib/python3.9/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
  File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 850, in exec_module
  File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
  File "/app/app/main.py", line 6, in <module>
    class TextIn(Upscale):
TypeError: function() argument 'code' must be code, not str

in meinen requirements.txt steht:

fastapi
boto3
opencv-contrib-python-headless
opencv-python-headless
numpy

ich nutzte Python 3.9 habe es aber auch ohne Erfolg mit anderen Version probiert.

Python, Python 3, Docker
Korrekte Angabe der Größe bei Bildern?

Hallo,

ich habe einige Bilder über eine Schleife auf 280 Pixel Breite und korespondierende Höhe verkleinert. Die Verkleinerung ist erfolgreich ausgeführt worden. Alle Bilder sind tatsächlich kleiner.

In einer docx-Datei sollen die Bilder an einer bestimmten Stelle der Tabelle eingefügt werden. Mit dem folgenden Codebeispiel gelingt mir dies zwar, aber er stellt die Bilder unnötig groß dar.

Also hatte ich eine kleine Abfrage generiert, wo nochmal die genauen Größen (Breite, Höhe) in entsprechenden Listen gespeichert werden.

Ich habe also eine Liste mit lauter 280.

for i in range(len(PICTURES)):
   Table.cell(i + 1, 4).text = ''    
   Table.cell(i + 1, 4).paragraphs[0].runs[0].add_picture(PICTURES[i])           

In der Form packt er mir die Bilder rein. Aber aus irgendeinem Grund nicht so wie ich das will. Er vergrößert das Bild unnötig und darum ist das Ergebnis auch Banane.

Schreibe ich

Table.cell(i + 1, 4).paragraphs[0].runs[0].add_picture(PICTURES[i], width=Width_new[i])

dann sollte er sich also eine 280 aus der Liste mit den ganzen 280ern suchen.

Das geht auch nicht. In dem Fall schreibt er nichts. Er muss anscheinend wissen, dass es sich um Pixel handelt?

Angenommen, ich schreibe

Table.cell(i + 1, 4).paragraphs[0].runs[0].add_picture(PICTURES[i], width=Cm(2))

weiß er, dass die Breite 2cm ist. Für Px() o.a. sagt mir der Editor, er kennt es nicht.

Weiß jemand einen Rat?

Programmiersprache, Python

Meistgelesene Beiträge zum Thema Python