Raspberry Pi Stromversorgung - kaufen bei BerryBase
Finde die passende Stromversorgung für Produkte der Raspberry Pi Foundation in der Berrybase, dem Shop für Maker!
www.berrybase.de
Hi,
hast du es mal mit einem externen Pull_Up bzw. Pull_Down versucht?
Ansonsten find ich das zuviel Code für das abfragen eines Signals.
Die SVG zum Logo hatte ich framp damals zukommen lassen.
Hi,
Was heißt: "... welches auch am pi funktioniert"?
Hast du geprüft ob die Adresse des LCD mit sudo i2cdetect -y 1 angezeigt wird? Ist die Adresse vom Display auch in der Config von LCDproc hinterlegt?
Das wollte ich damit zum Ausdruck bringen. ![]()
Die Hürde etwas zu programmieren bzw. sich mit der Materie zu beschäftigen sinkt IMHO damit. Ob jemand nun kommt und etwas selbst programmiertes hat oder der Code von irgendeiner KI ist, ist ja dann auch egal. Da man ja i.d.R. hilft. Der der den Code hat wird dann schon vermitteln ob es in die Tiefe gehen kann oder nicht.
Was eine main-Funktion, Konstanten usw. sind oder den Aufbau eines Scriptes hab ich auch nur von dir oder das Forum gelernt. Steht das hier irgendwo https://docs.python.org/3.13/tutorial/ ? Gefunden hab ich in der Liste nichts und dann ist das auch noch in Englisch (Buuuuuuuuh
). In den vielen Beispielen von GpioZero oder anderen Modulen wird keine main-Funktion benutzt. Da bleibt eigentlich nur die Erfahrung/ Wissen von Programmierern in Foren oder meinet wegen YT.
Ich hab am Wochenende für den Pico ein Programm durch ChatGPT schreiben lassen. Je genauer man beschreibt was und wie man das haben will desto besser werden die Ergebnisse. Also auch welche Bibliotheken man nutzen will usw.. Teilweise muss man explizit angeben das man DIE eine Funktion aus entsprechender Lib haben möchte.
Wenn man da größere Sachen schreiben will ist das durchaus eine gute Hilfe. Trotzdem muss man sich mit den einzelnen Lib´s beschäftigen, da der Code auch gerne mal etwas aufgeblähter daher kommt. Was bis jetzt auch immer gefehlt hat, war die main-Funktion.
Verrückt. ![]()
Hi,
ich würde das hier mal eben pauschal in den Raum werfen:
pygame.mixer.music — pygame v2.6.0 documentation
1. Installing GPIO Zero — gpiozero 2.0.1 Documentation
import random
from functools import partial
from gpiozero import MotionSensor, LED
from pygame import mixer
from signal import pause
LED_PIN = 11
PIR_PIN = 7
FADEIN_TIME = 1000 #ms
FADEOUT_TIME = 1000 #ms
def choose_music_randomly(sound_files):
random_sound_file = random.choice(sound_files)
return random_sound_file
def play_music(led, sound_files):
led.on()
mixer.init()
mixer.music.load(choose_music_randomly(sound_files))
mixer.music.play(fade_ms=FADEIN_TIME)
def stop_music(led):
led.off()
mixer.music.fadeout(FADEOUT_TIME)
mixer.music.stop()
mixer.music.unload()
def main():
print("Start")
led = LED(LED_PIN)
pir = MotionSensor(PIR_PIN)
sound_files = [
path/to/file.mp3,
path/to/file.mp3,
path/to/file.mp3,
path/to/file.mp3,
path/to/file.mp3,
]
try:
pir.when_motion = partial(play_music, led, sound_files)
pir.when_no_motion = partial(stop_music, led)
pause()
except KeyboardInterrupt:
print("Programm wurde durch Benutzer abgebrochen")
led.off()
mixer.music.stop()
mixer.music.unload()
except Exception as e:
print(f"Ein Fehler ist aufgetreten: {e})
led.off()
mixer.music.stop()
mixer.music.unload()
if __name__ == "__main__":
main()
Display More
Ungetestet.
Hast du einen Link zum Display?
Poste doch einfach mal deinen Code.
Hi,
wenn du nach der Pinbelegung für USB-C googelst bekommst du unmengen an informationen.
Wenn du dazu noch den Schaltplan vom Pi anschaust, sollte dir das helfen. Also das was Fliegenhals schon im #5 gezeigt hatte.
https://datasheets.raspberrypi.com/rpi4/raspberry-pi-4-reduced-schematics.pdf
der Assemblerbefehl pull kennt einen Parameter block. x und osr sind Register in der PIO.
Ich hatte in dem Code das @rp2.asm_pio() übersehen und hatte mich gewundert wie dort die Funktionen aufgerufen und Argumente übergeben werden sollen.
Ich kann zwar kein Python, aber muss nicht auch in micropython auch eine main da sein?
So würde man das eigentlich handhaben, ja.
Reicht das als Erklärung?
Mir persönlich nicht, weil
innerhalb der Funktion Steps werden wieder Funktionen aufgerufen die im Code nicht vorhanden sind. Das würde IMHO so nicht laufen. Außerdem werden da Argumente übergeben, die vorher nicht an Steps weitergereicht wurden. Das würde ebenfalls Traceback werfen. Es sei denn block, x und osr sind globale Variablen. Die es aber ebenfalls nicht gibt.
Edit:
Programmable IO (PIO)¶
PIO is useful to build low-level IO interfaces from scratch. See the rp2 module for detailed explanation of the assembly instructions.
Example using PIO to blink an LED at 1Hz:
Python Display Morefrom machine import Pin import rp2 @rp2.asm_pio(set_init=rp2.PIO.OUT_LOW) def blink_1hz(): # Cycles: 1 + 7 + 32 * (30 + 1) = 1000 set(pins, 1) set(x, 31) [6] label("delay_high") nop() [29] jmp(x_dec, "delay_high") # Cycles: 1 + 7 + 32 * (30 + 1) = 1000 set(pins, 0) set(x, 31) [6] label("delay_low") nop() [29] jmp(x_dec, "delay_low") # Create and start a StateMachine with blink_1hz, outputting on Pin(25) sm = rp2.StateMachine(0, blink_1hz, freq=2000, set_base=Pin(25)) sm.active(1)
und:
rp2 — functionality specific to the RP2040 — MicroPython latest documentation
Hi,
laut Stackoverflow muss man pyopenssl updaten. Da gibts einige Posts zu AttributeError: module 'lib' has no attribute 'X509_V_FLAG_CB_ISSUER_CHECK'. Es gibt aber auch Leute die sich ihr System dabei zerschossen haben. Das nur mal als Hinweis.
fritzcollectd ist schon ordentlich alt und wurde das letzte mal vor 4 Jahren angefasst. collectd wurde vor 2 Monaten geupdated.
Kann schon sein das die Konstellation so nicht mehr laufen wird.
In der Doku der Raspberry Foundation steht beschrieben wie man ein Upgrade macht. Dort sind aber auch einige Warnhinweise die man beachten sollte:
Zum Backup kann dir framp sicher weiterhelfen.
Aber vielleicht reicht es, mal über die Wortwahl nachzudenken.
Mach du das mal, Herr Anwalt.
Keine Ahnung was du mir sagen willst.
Allerdings bin ich auch Hobbyloeter und dementsprechend nicht so loeterfahren
Ich auch nicht. Ich wollte nur sagen. Das es mit dem günstigen kram auch funktioniert und man da auch gute Ergebnisse erzielen kann.
Hier mal das ein oder andere Bild:
Dafür das ich keine Lötstation verwende und mit bleifreiem Lot gearbeitet habe, finde ich das Ergebniss i.O..
![]()
Also ich hab zum löten nur das CFH Elektroniklot EL 324 bleifrei 70 g 52324, 1 mm x 1 mm und ein ?20 Watt? Lötkolben. Ich verwende keine extra Flussmittel und hab trotzdem saubere Lötstellen. Ich mach da ehrlich gesagt überhaupt kein gewese drum. Wenn das mal nicht i.O. aussieht halt ich da nochmal den Lötkolben dran. Solange bis sich das Lot überhal hin gesogen hat. Fertig.