Tumgik
#raspberry pi pico adc
elcereza · 1 year
Text
Raspberry Pi Pico: Vale a pena aprender?
Aprenda como usar todos os periféricos do Raspberry Pi Pico, Como instalar bibliotecas no Thonny IDE e ainda veja um comparativo do Pico/Pico W com ESP32, tudo em um único post. Mais completo que isso somente o datasheet.
O Raspberry Pi Pico desde o lançamento vem sendo muito desejado por muitos projetistas, mas será que realmente vale a pena aprender? Neste post você vai aprender tudo sobre ele. 1 Surgimento do Raspberry Pi Pico Quem acompanha a empresa Raspberry Pi, sabe que todos seus lançamentos tem um preço base para um determinado produto e o propósito disso é democratizar ao máximo o acesso aos produtos…
Tumblr media
Ver no WordPress
0 notes
quartz-components · 5 months
Text
Raspberry Pi Pico W has been designed to be a low cost yet flexible development platform for RP2040, with a 2.4GHz wireless interface and the following key features:
RP2040 microcontroller with 2MB of flash memory
On-board single-band 2.4GHz wireless interfaces (802.11n)
Micro USB B port for power and data (and for reprogramming the flash)
40 pin 21mmx51mm ‘DIP’ style 1mm thick PCB with 0.1″ through-hole pins also with edge castellations
Exposes 26 multi-function 3.3V general purpose I/O (GPIO)
23 GPIO are digital-only, with three also being ADC capable
Can be surface mounted as a module
3-pin ARM serial wire debug (SWD) port
Simple yet highly flexible power supply architecture
Various options for easily powering the unit from micro USB, external supplies or batteries
High quality, low cost, high availability
Comprehensive SDK, software examples, and documentation
Dual-core Cortex M0+ at up to 133MHz
On-chip PLL allows variable core frequency
264kByte multi-bank high-performance SRAM
2 notes · View notes
lorryelectronicblog · 1 month
Text
10 Exciting RP2040 Project Ideas
The Raspberry Pi Pico, powered by the RP2040 microcontroller, has taken the maker community by storm with its affordability and versatility. If you're looking for some exciting project ideas to try with your RP2040, you're in the right place! In this article, we'll explore 10 innovative projects that showcase the capabilities of the RP2040 and inspire your next creation.
Introduction
The RP2040 is a powerful microcontroller that can be used in a wide range of projects, from simple LED blinkers to complex IoT devices. Its dual-core ARM Cortex-M0+ processor and generous amount of RAM make it ideal for multitasking and handling various tasks simultaneously. Let's dive into some exciting project ideas to unleash the full potential of the RP2040.
1. Blinking LED
A classic project for beginners, the blinking LED demonstrates the basic functionality of the RP2040. By controlling the GPIO pins, you can make an LED blink at different rates, creating various patterns and effects.
2. Temperature Monitoring System
Use the RP2040's ADC to read temperature values from a sensor and display them on an LCD screen. You can also set up alerts to notify you when the temperature exceeds a certain threshold.
3. Motion-Activated Camera
Create a motion-activated camera using the RP2040 and a camera module. The RP2040 can detect motion using a PIR sensor and trigger the camera to capture images or videos.
4. Smart Weather Station
Build a weather station that collects data such as temperature, humidity, and air pressure using sensors. Display the data on an OLED screen and upload it to a cloud service for remote monitoring.
5. Home Automation System
Control lights, appliances, and other devices in your home using the RP2040 and relays. You can create a mobile app or a web interface to control the system remotely.
6. Game Console Emulator
Turn your RP2040 into a retro game console emulator by installing emulators for classic gaming consoles. Use the GPIO pins to connect controllers and play your favorite games.
7. MIDI Controller
Build a MIDI controller using the RP2040 and potentiometers, buttons, and sliders. Use it to control music software or hardware synthesizers.
8. Internet Radio
Create an internet radio player using the RP2040 and a Wi-Fi module. Stream music from online radio stations and control playback using buttons or a web interface.
9. AI Voice Assistant
Build an AI voice assistant using the RP2040 and a microphone. Use services like Google Assistant or Alexa to control smart devices, play music, and answer questions.
10. Conclusion
The RP2040 opens up a world of possibilities for makers and hobbyists. With its powerful features and affordable price, it's the perfect platform for experimenting with electronics and programming. Whether you're a beginner or an experienced maker, these project ideas will help you get started with the RP2040 and unleash your creativity.
0 notes
Text
0 notes
draegerit · 7 months
Text
Ein erster Blick auf den Melopero Cookie RP2040: Raspberry Pi Pico meets micro:bit
Tumblr media
In diesem Beitrag möchte ich mit dir zusammen einen ersten Blick auf den Melopero Cookie RP2040 werfen. Dieser Mikrocontroller ist ein Mix aus Raspberry Pi Pico, BBC micro:bit und auch der Calliope Mini findet sich irgendwie hier wieder.
Tumblr media
Diesen Mikrocontroller habe ich im Onlineshop von Botland.de für knapp 16 € zzgl. Versandkosten erstanden. In diesem Shop bekommst du diesen Mikrocontroller derzeit zum besten Preis.
Tumblr media Tumblr media Tumblr media Tumblr media
Warum noch ein Klon?
Die große Frage, welche man sich zunächst stellen kann, ist "Warum noch ein Klon?". Diese Frage ist berechtigt, denn, dieser Mikrocontroller mit dem RP2040 Chip, einigen Anschlüssen und einer LED-Matrix ist jetzt nicht das neueste und bringt auch nicht soviel zusätzlichen Spaß. Theoretisch könnte hier der Beitrag enden, jedoch möchte ich diesem eine Chance geben und einmal ins Detail schauen.
Pins & Anschlüsse
Vor allem, wenn man sich das Format etwas genauer betrachtet, dann finden wir die Pins rings um den Mikrocontroller angeordnet, welche man mit Krokodilklemmen oder Bananenstecker (3 mm) abgreifen kann.
Tumblr media
Batterieanschluss & USB-C Schnittstelle
Am Mikrocontroller findest du den Pin VBAT über diesen kannst du deinen Mikrocontroller via Batterie zu betreiben. Der Hersteller gibt hier an, dass die gleichzeitige Verwendung beider Stromanschlüsse dazu führen kann, dass entweder deine Batterie oder dein PC zerstört werden kann. Ich würde sogar so weit gehen, dass eher der Mikrocontroller zerstört wird!
Features des Melopero Cookie RP2040
Der Mikrocontroller bietet wie erwähnt einige Features, welche wir bei anderen bereits finden. Zu diesen Features zählen: - eine 5x5 RGB LED Matrix, - zwei Taster, - eine USB-C-Schnittstelle, - einen Qwii-Anschluss, - Kontakte Abgreifbar via Krokodilklemme& Bananenstecker, - zwei Löcher zur Montage Abmaße des Mikrocontrollers sind Ø 50,8 mm. Technische Daten des RP2040 Chips Verbaut ist ein RP2040 Chip von der Raspberry Pi Foundation, welcher nachfolgenden technischen Daten hat: MikrochipRP2040, Dual-Core Arm Cortex M0+ mit bis zu 133 MHzSpeicher SRAM264 KBFlash2 MBSchnittstellenUSB 1.1 2x SPI, 2x I²C, 2x UART 3x 12-bit ADC (Analog Digital Converter)En/Ausgänge26 Pins 16x PWM ChannelSensoren & AktorenTemperatursensor Timer
Pinout & Aufbau des Melopero Cookie RP2040
Auf dem Mikrocontroller findest du diverse Aktoren, welche du recht einfach programmieren kannst. Die LED ist als einzige von diesen mit "21" beschriftet.
Tumblr media
Aufbau des Melopero Cookie RP2040 Qwiic / Stemma Anschluss Über den Qwiic / Stemma Anschluss kannst du spezielle Sensoren und Aktoren in Reihe schalten und einzeln adressieren. Die Kommunikation läuft dabei über I2C. Jedoch sind derzeit die Sensoren & Aktoren für dieses Ökosystem recht teuer, sodass sich ein Wechsel, nach meiner Meinung noch nicht lohnt.
Einrichten und Programmieren des Melopero Cookie RP2040
Wie üblich, kannst du deinen Mikrocontroller in MicroPython, CircuitPython sowie in der Arduino IDE programmieren. Ich möchte im Nachfolgenden den Mikrocontroller in MicroPython programmieren. https://youtu.be/3M3b8clU-FU Der Hersteller hat zu diesem Mikrocontroller eine offizielle, englische Dokumentation bereitgestellt, wo gezeigt wird, wie dieser geflasht und für MicroPython eingerichtet wird. Flashen des Mikrocontrollers für MicroPython Das Flashen des Melopero Cookie RP2040 für MicroPython ist sehr einfach, unterscheidet sich jedoch deutlich vom Raspberry Pi Pico. Denn man muss bei verbundenem Gerät die Taste "BT" (grüner Kreis) & "RS" (roter Kreis) drücken und die Taste "RS" loslassen, dann wird das Laufwerk eingebunden und wir können die Taste "BT" loslassen. Also eigentlich sehr einfach.
Tumblr media
Wenn das Laufwerk eingebunden ist, dann musst du nun die entsprechende UF2-Datei mit der neuen Firmware auf diesen kopieren. Die Firmware bekommst du unter http://www.melopero.com/Melopero_Cookie_RP2040.zip. In der ZIP-Datei findest du die Firmware für CircuitPython und MicroPython sowie eine Bibliothek mit Beispielen für C++.
Programmieren in der Thonny IDE
Den Mikrocontroller kannst du nach dem Flashen dann zum Beispiel in der Thonny IDE programmieren. Dazu musst du zunächst den Interpreter einrichten.
Tumblr media
Im Programm klickst du unten rechts auf den derzeit ausgewählen Mikrocontroller und wählst aus dem Menü "Konfiguriere den Interpreter ...".
Tumblr media
Im neuen Dialog wählst du dann als Erstes den Eintrag "MicroPython (RP2040)" (1) aus. Danach den Port (2). Solltest du mehrere serielle Geräte an deinem PC angeschlossen haben, so schaue einmal in den Geräte-Manager, um den passenden zu finden. Die Auswahl bestätigen wir mit der Schaltfläche "OK" (3). Wenn du nun in der Taskleiste auf die Schaltfläche "Stopp/Restart ausführen" klickst, dann sollte in der Kommandozeile die nachfolgende Ausgabe erscheinen.
Tumblr media
Programmieren der Taster & LED
Wie oben gezeigt findest du auf dem Mikrocontroller zwei Taster und eine kleine SMD LED. Als erstes möchte ich dir zeigen, wie diese programmiert wird. Mit den Tastern A & B möchte ich zunächst die LED AN & AUS schalten. #aus dem Modul machine die Klasse Pin laden from machine import Pin #Modul time importieren import time #die LED ist am GPIO 21 angeschlossen #und wird als Ausgang definiert led = Pin(21, Pin.OUT) #die Taster sind an den GPIOs 10 & 11 #angeschlossen und werden als Eingang #definiert buttonA = Pin(10, Pin.IN) buttonB = Pin(11, Pin.IN) #starten einer Endlosschleife while True: #Wenn der Taster A gedrückt wird, dann... if buttonA.value() == 1: #LED aktivieren led.on() #einlegen einer kleinen Pause, #damit entprellen wir den Taster time.sleep(0.5) #Wenn der Taster B gedrückt wird, dann... if buttonB.value() == 1: #LED deaktivieren led.off() #einlegen einer kleinen Pause, #damit entprellen wir den Taster time.sleep(0.5) Wenn wir den Code auf dem Mikrocontroller ausführen, dann können wir mit den beiden Tastern die kleine SMD LED Ein- und Ausschalten.
Programmieren der 5x5 RGB LED Matrix
Mit der Firmware zu MicroPython bekommst du Module zum Abfragen der Taster sowie für die RGB LED-Matrix. Diese Module müssen nicht zusätzlich installiert werden und du brauchst diese lediglich importieren und kannst diese verwenden. Für die Programmierung der 5x5 RGB LED-Matrix hast du fertige, kleine Funktionen um entweder einzelne LEDs anzusteuern oder auch Scrolltext auf dieser auszugeben. Das finde ich besonders gut gelungen. #Importen der Klasse Cookie_RP2040 aus dem Modul melopreo_cookie from melopero_cookie import Cookie_RP2040 #Text für den Scrolltext msg = "Hallo Welt!" #erzeugen eines Objektes vom Typ Cookie_RP2040 cookie=Cookie_RP2040() #LEDs löschen cookie.clear_screen() #setzen der Textfarbe als RGB Wert #Der letzte Wert bildet die Helligkeit ab! cookie.set_rgb_color(0, 0, 255,0.05) #setzen der Hintergrundfarbe cookie.set_rgb_background(0,0,0, 0.1) #anzeigen / abspielen des Scrolltextes cookie.show_message(msg) Mit diesem kleinen Code erzeugen wir nun die Laufschrift "Hallo Welt!" auf der LED-Matrix. Die Farbe für den Text habe ich in Blau gesetzt. Read the full article
0 notes
koliasa · 3 years
Text
Raspberry Pi Pico ADC Characterized
https://koliasa.com/raspberry-pi-pico-adc-characterized/ Raspberry Pi Pico ADC Characterized - https://koliasa.com/raspberry-pi-pico-adc-characterized/ [Markomo] didn’t find much useful information about the Raspberry Pi ...
0 notes
draegerit · 8 months
Text
Gruseliges Raspberry Pi Pico Projekt: Die Spooky Box für Halloween
Tumblr media
Passend zur kommenden Halloween-Zeit möchte ich dir heute ein passendes kleines Projekt vorstellen, welches du easy an einem Wochenende erstellen kannst, es ist eine Spooky Box mit Soundausgabe. Als Mikrocontroller verwende ich den Raspberry Pi Pico in der Ausführung mit WiFi / Bluetooth.
Tumblr media
Die Idee dazu bekam ich vom Leser meines Blogs, welcher mir per Mail ein ähnliches Projekt vorgestellt hat. Dieses war jedoch mit dem weniger verbreiteten Calliope Mini. Der Vorteil des Calliope Mini ist jedoch, dass dieser besonders für Anfänger einfacher zu programmieren ist. Jedoch auch die Programmierung in MicroPython ist, wie du gleich sehen wirst, nicht allzu schwierig.
Teileliste für die Spooky Box mit einem Raspberry Pi Pico
Wenn du die Spooky Box nachbauen möchtest, dann benötigst du: - einen Raspberry Pi Pico oder Pico W, - ein Micro-USB-Datenkabel, - eine Lochrasterplatine, - zwei 40 Pin Buchsenleisten, - zwei LEDs mit Vorwiderstände (220 Ohm), - einen Taster, - einen Servomotor Typ SG90, - einen Piezo Buzzer
Tumblr media
Für den Aufbau auf der Lochrasterplatine benötigst du noch zusätzlich: - einen Lötkolben, - Lötzinn & Lötfett, - eine hitzebeständige Unterlage - einen kleinen Seitenschneider, - Litze / Draht in unterschiedlichen Farben
Spooky Box
Die Box selber habe ich aus dem örtlichen Tedi Mark für 3 € gekauft, zusätzlich noch Acrylfarbe und Pinsel, somit ergab dieses genau 6 €. Wenn du das ganze online suchst, dann findest du hier eine kleine Liste: - eine kleine Schatzkiste aus Holz, - Acrylfarbe, - Pinselset, Der Vorteil an der Acrylfarbe ist, dass diese recht schnell trocknet. Du kannst deine Spooky Box natürlich nach Belieben anders bemalen und bekleben.
Tumblr media Tumblr media Tumblr media Tumblr media Tumblr media
Aufbau der Schaltung am Raspberry Pi Pico
Nachdem die Box fertig bemalt ist und trocknen muss, kümmern wir uns um die Schaltung am Raspberry Pi Pico.
Tumblr media
Programmieren
Das Programm erstellen wir wie erwähnt in MicroPython, dafür nutze ich die Thonny IDE. Das Gute gleich vorweg, wir benötigen keine zusätzliche Bibliothek für dieses Projekt, d.h. du könntest auch rein theoretisch den MU-Editor verwenden. Nachfolgend folgt nun eine Schritt-für-Schritt-Anleitung, wie du das Programm aufbaust. Schritt 1 - Abspielen des Halloween Sounds am Raspberry Pi Pico Die Spooky Box soll bei Aktivierung einen Sound abspielen, diesen habe ich jedoch lediglich für ein Arduino Programm gefunden, dieses habe ich für MicroPython umgeschrieben. #Module zum ansteuern der GPIOs und #erzeugen eines PWM Signals from machine import Pin, PWM from utime import sleep #der Buzzer ist am GPIO1 angeschlossen buzzer = PWM(Pin(1)) #Tonname & Frequenz in einem Dictionary mappen tones = { "cs6": 1109, "fs5" : 740, "d6" : 1175, "c6" : 1047, "f5" : 698, "b5" : 988, "e5" : 659, "bf5" : 932, "ef5" : 622, "b4" : 494, "g5" : 784, } #Töne vom Lied song = #Spielt einen Ton in einer Frequenz ab def playtone(frequency): buzzer.duty_u16(1000) buzzer.freq(frequency) #Verstummt den Buzzer def bequiet(): buzzer.duty_u16(0) #Spielt das Lied ab def playsong(mysong): #läuft über die Liste mit den Tönen for i in range(len(mysong)): #abspielen eines Tones aus der Liste mit dem Index i playtone(tones]) #kleine Pause von 200 Millisekunden sleep(0.2) #verstummen des Buzzers bequiet() #Abspielen des Liedes playsong(song) Der Code bewirkt lediglich das, dass Lied auf dem Piezo Buzzer abgespielt wird. Schritt 2 - Auslesen des Fotowiderstandes Der Fotowiderstand ist am ADC0 / GP26 angeschlossen und wird als analoger Wert ausgelesen. #Module für das auslesen des LDR from machine import Pin, ADC from utime import sleep #der LDR ist am GPIO26 / ADC0 angeschlossen adc = ADC(0) #Starten einer Endlosschleife while True: #auslesen des LDR und #ausgeben auf der seriellen Schnittstelle print(adc.read_u16()) #kleine Pause von 300 Millisekunden sleep(0.3) Wenn du den obrigen Code ausführst, dann wird kontinuierlich die Helligkeit gemessen und ausgegeben. Solltest du deinen Finger auf diesen Sensor legen, so ändert sich der Wert in der Konsole entsprechend. Auf diesen Wert können wir jetzt reagieren und somit erkennen, ob der Deckel unserer Spooky Box geöffnet wurde. Schritt 3 - Taster interrupt erstellen Wenn der Taster betätigt wird, soll der Sound aufhören zu spielen und die kleine Pappfigur soll abgesenkt werden. Dazu müssen wir einen Interrupt erstellen, der Pi Pico bietet an jeden der GPIOs die Möglichkeit ein Interrupt anzuhängen. #Module zum ansteuern der GPIOs from machine import Pin #der Taster ist am GPIO5 angeschlossen, #zusätzlich wird dieser über den internen PullUp #Widerstand verbunden button = Pin(5, Pin.IN, Pin.PULL_UP) #Funktion welche ausgeführt werden soll #wenn der Taster betätigt wird. def button_handler(pin): print("Hello, world!") #konfigurieren eines Interrupts button.irq(trigger = machine.Pin.IRQ_RISING, handler = button_handler) #Starten einer Endlosschleife, #diese wird benötigt damit das Programm sich nicht selbstständig beendet while True: pass Wenn du den Taster betätigst, wird die Funktion "button_handler" ausgeführt. Egal, was gerade parallel auf dem Mikrocontroller ausgeführt wird. Schritt 4 - Steuern des Servomotors Der Servomotor wird per PWM Signal gesteuert, hier musst du noch zusätzlich ins Datenblatt des verwendeten Servos schauen. Wenn du wie ich den Servo SG90 verwendest, dann hat dieser die Frequenz von 50 Hz für einen Schritt. #Module zum steuern der GPIOs from machine import Pin, PWM from utime import sleep #Servomotor am GPIO0 angeschlossen servo = PWM(Pin(0)) #der Servomotor arbeitet mit einer #Frequenz von 50 Hz servo.freq(50) #0° hat ein Dutycycle von.. grad0 = 500000 #90° hat ein Dutycycle von.. grad90 = 1500000 #Starten einer Endlosschleife while True: #Servo auf 90° bewegen servo.duty_ns(grad90) #kleine Pause von 500 Millisekunden sleep(0.5) #Servo auf 0° bewegen servo.duty_ns(grad0) #kleine Pause von 500 Millisekunden sleep(0.5) Der Code lässt den Servomotor immer zwischen den Winkeln 0° und 90° bewegen. Probleme mit zwei unterschiedliche PWM Signale Der Piezo Buzzer & der Servomotor werden beide über PWM Signale gesteuert. Das Problem, welches wir haben ist, dass der Pi Pico lediglich ein Signal zulässt. Wir müssen also nun etwas herumtricksen, dass der Piezo Buzzer das Lied abspielt, aber der Servo auch gesteuert werden kann. Meine Lösung hierzu ist, dass ich den jeweils nicht benötigten Aktor auf einen GPIO zuweise, welcher nicht belegt ist, somit ist der Aktor quasi deaktiviert. Bevor ich diesen wieder verwende, muss dieser dann lediglich wieder korrekt zugewiesen werden. from machine import Pin, PWM from utime import sleep servo = None buzzer = None grad0 = 500000 grad90 = 1500000 tones = { "cs6": 1109, "fs5" : 740, "d6" : 1175, "c6" : 1047, "f5" : 698, "b5" : 988, "e5" : 659, "bf5" : 932, "ef5" : 622, "b4" : 494, "g5" : 784, } song = def playtone(frequency): if isinstance(buzzer, Pin): initBuzzer() buzzer.duty_u16(1000) buzzer.freq(frequency) def bequiet(): if isinstance(buzzer, Pin): initBuzzer() buzzer.duty_u16(0) def playsong(mysong): for i in range(len(mysong)): if (mysong == "P"): bequiet() else: playtone(tones]) sleep(0.2) bequiet() #GPIO des Servomotor initialisieren def initServo(): global servo servo = PWM(Pin(0)) servo.freq(50) #konfigurierten Pin ändern def resetServo(): global servo servo = Pin(8, Pin.IN, Pin.PULL_UP) #GPIO Buzzer initialisieren def initBuzzer(): global buzzer buzzer = PWM(Pin(1)) #konfigurierten Pin ändern def resetBuzzer(): global buzzer buzzer = Pin(9, Pin.IN, Pin.PULL_UP) while True: initServo() servo.duty_ns(grad90) sleep(0.5) servo.duty_ns(grad0) sleep(0.5) resetServo() sleep(0.2) initBuzzer() sleep(0.2) playsong(song) sleep(0.2) resetBuzzer() sleep(0.2) Im Video siehst du nun das zunächst der Servo von 0° zu 90° wechselt und danach wird das Lied abgespielt. Das fertige Programm für die Spooky Box am Raspberry Pi Pico Hier jetzt das fertige Programm zum Download: MicoPython Code für die Halloween SpookyBox Read the full article
0 notes
draegerit · 8 months
Text
PicoBoy Review: Dein Einstieg in die Welt der Elektronikprojekte
Tumblr media
In diesem ersten Beitrag zum PicoBoy möchte ich dir diesen vorstellen und aufzeigen, was dieser leistet und programmiert wird. Der kleine Mikrocontroller kommt mit einem RP2040 Chip und einigen Sensoren & Aktoren daher und bietet dir hier kompakt die Möglichkeit den Einstieg in die Entwicklung von Mikrocontroller zu starten.
Tumblr media
Disclaimer: Dieser Beitrag enthält meine persönliche Meinung und Erfahrung mit dem PicoBoy. Funduino hat mir das Produkt kostenfrei zur Verfügung gestellt, um ein Review zu erstellen. Meine Bewertung basiert auf meinen eigenen Eindrücken und unabhängigen Tests.
Tumblr media Tumblr media Tumblr media
Was sind die technischen Daten des PicoBoy?
Wie erwähnt hat der kleine PicoBoy einen RP2040 Chip verbaut und daher zunächst die gleichen technischen Daten wie der Raspberry Pi Pico. MikrochipRP2040, Dual-Core Arm Cortex M0+ mit bis zu 133 MHzSpeicher SRAM264 KBFlash16 MBSchnittstellenUSB-Typ-C 2x SPI, 2x I²C, 2x UART 3x 12-bit ADC (Analog Digital Converter)Sensoren & AktorenTemperatursensor, Timer (auf dem RP2040) 5-Wege-Joystick, BeschleunigungssensorDisplay1,3" schwarz/weiß OLED-Display, 128 x 64 Pixel, Typ SH1107zusätzliche Stromversorgungüber Knopfzelle CR2032 (liegt bei)technische Daten des PicoBoy mit RP2040 Chip und vielen zusätzlichen Features
Vorteile des PicoBoy
Die Vorteile des PicoBoy liegen auf der Hand, denn dieser ist fertig bestückt und getestet, somit kannst du direkt mit der Programmierung starten. Der RP2040 Chip ist schon einige Zeit auf dem Markt und so hat sich eine breite Community gebildet, welche viel Hilfe zu diesem anbietet und du als Anfänger einen leichten Einsteig bekommst. Auch ich habe hier schon diverse Beiträge veröffentlicht, welche du auf diesen leicht abgewandelt ausführen kannst. - Ampelschaltung mit LEDs, - Soundausgabe mit Micropython, Gut finde ich, die zusätzliche Stromquelle über eine Knopfzelle, somit braucht man sich darum nicht kümmern, wenn man sein kleines Projekt mal ohne PC verwenden möchte.
Nachteile vom PicoBoy
Wo Vorteile sind, sind auch Nachteile. Jedoch liegen diese im Auge des Betrachters. Mir persönlich fehlen hier ein paar digitale Aus-/Eingänge. Der RP2040 Chip hat 26 GPIOs von diesen werden für die verbauten Komponenten nicht alle benötigt und so könnte man gewiss einige nach außen führen.
Kaufen des PicoBoy im offiziellen Shop
Derzeit bekommst du den kleinen Mikrocontroller exklusiv im Shop von Funduino für derzeit 24,90 € zzgl. Versandkosten.
Tumblr media Tumblr media Tumblr media
Lieferumfang Zum Lieferumfang gehört neben dem kleinen Mikrocontroller zwei CR2032 Knopfzellen und ein kleines Putztuch für das Display.
Tumblr media
Durch die standardisierte USB-C-Schnittstelle ist es okay, wenn so ein Kabel nicht beiliegt.
Aufbau des PicoBoy
Der PicoBoy verfügt auf der Vorderseite über ein 1,3" OLED-Display und drei verschiedenfarbige SMD LEDs. Auf der Rückseite findest du den Adapter für die Knopfzelle sowie einen Schalter für den Wechsel von USB auf Batterie, eine USB-C-Schnittstelle und eine Taste für Reset und Boot.
Erster Start des PicoBoy
Wie erwähnt kannst du den PicoBoy über eine Knopfzelle mit Strom versorgen und auf diesem sind bereits 5 Demos vorinstalliert (davon 2 Spiele), welche du sofort ausführen kannst. Um diese zu starten, musst du lediglich den kleinen Schalter von USB auf BAT umstellen, kannst dann mit dem Joystick diese auswählen.
Tumblr media Tumblr media Tumblr media Tumblr media Tumblr media
Tetris auf dem PicoBoy Eines der Spiele ist Pictris, ein Tetris Spiel, wie man es vom Nintendo Game Boy kennt.
Tumblr media Tumblr media Tumblr media
Programmieren des PicoBoy
Der PicoBoy kann in Micropython, sowie in der Arduino IDE via C/C++ programmiert werden. Dazu müssen wir diesen je nach gewünschter Sprache flashen. Auf den nachfolgenden Seiten von Jan Schulz welcher diesen Mikrocontroller entworfen hat, wird erläutert, wie du diesen für die jeweilige Sprache vorbereitest: - Micropython - Bevor es losgeht – Vorbereitungen, - C++/Arduino - Vorbereitungen Anschluss an den PC Wenn du deinen PicoBoy an den PC mit einem passenden USB-Typ-C Datenkabel angeschlossen hast, dann wird dieser als Pico erkannt und als "Serielles USB-Gerät" eingerichtet.
Tumblr media
Vorbereiten des PicoBoy für die Programmierung in Micropython Damit ich den PicoBoy in diesem Review in Micropython programmieren kann, muss ich zunächst eine UF2-Datei für den Raspberry Pi Pico herunterladen und per Drag'n Drop über den Explorer auf diesen kopieren.
Tumblr media
Damit wir dieses jedoch machen können, müssen wir zunächst die Taste "BOOT" festhalten und dann das USB-Kabel mit dem PC verbinden. Es sollte dann ein Laufwerk im Explorer sichtbar werden, auf welchen wir dann unsere UF2-Datei mit der Firmware für Micropython kopieren können. Die UF2-Datei für den RP2040 bekommst du für einen Raspberry Pi Pico, mit und ohne WiFi / Bluetooth Support. In unserem Fall benötigen wir diese ohne die drahtlosen Schnittstellen. Unter https://micropython.org/download/RPI_PICO/ findest du eine Liste mit verfügbaren Firmwaredateien.
Tumblr media
Ich empfehle dir eine Datei aus dem Abschnitt "Release" dieses sind offizielle Dateien welche getestet sind. Die Dateien aus einem "Nightly builds" sind Entwicklungsstände, welche Features enthalten können, aber auch Fehler.
Thonny IDE zum Flashen des PicoBoy nutzen
Man kann auch die Thonny IDE zum Flashen des PicoBoy bzw. des RP2040 nutzen. Wie du das machst, zeige ich dir in nachfolgendem kurzen YouTube-Video. https://youtu.be/haqcy8fBg8k
Programmieren in der Thonny IDE
Das Tool Thonny kannst du dir unter https://thonny.org/ für Microsoft Windows, Linux und macOS kostenfrei herunterladen. In dieser Entwicklungsumgebung (kurz IDE) kannst du deinen Mikrocontroller recht einfach programmieren und Bibliotheken dazuladen (zbsp. für das OLED-Display).
Tumblr media
Einrichten der Thonny IDE für den PicoBoy
Tumblr media
Wenn du das Tool gestartet hast, dann musst du unten rechts einen Interpreter wählen.
Tumblr media
Danach musst du die Art des Interpreters wählen, in meinem Fall habe ich den PicoBoy für Micropython geflasht und muss hier den Eintrag "MicroPython (Raspberry Pi Pico)" auswählen.
Tumblr media
Wenn nun der Mikrocontroller korrekt erkannt wurde, sollte in dem Reiter "Kommandozeile" die nachfolgende (graue) Ausgabe erfolgen. Ggf. musst du in der Toolbar ein bis zweimal auf das Stop Symbol klicken. Erstellen einer Datei für das Programm Bei der Entwicklung mit Micropython gibt es zwei wichtige Dateien: - code.py - boot.py Die Datei boot.py wird geladen, sobald der Mikrocontroller Strom erhält, d.h. alles, was du darin schreibst, wird sofort ausgeführt. Die Datei code.py wird über eine IDE wie zbsp. Thonny gestartet. Probleme mit der Datei boot.py Ein Problem mit der Datei boot.py kann auftreten, wenn du keinen Ausgang für dein Programm definiert hast, quasi dieses in einer Endlosschleife läuft. Dann musst du ggf. deinen Mikrocontroller neu flashen, damit du deinen Code, welchen du hoffentlich vorher auf dem PC gespeichert hast, neu aufspielen und ändern kannst. Daher ist diese Datei wirklich nur für finale Stände deines Programmes sinnvoll. Erstellen der Datei code.py auf dem PicoBoy Zum Erstellen einer Datei auf dem PicoBoy gibt es zwei Wege. Beide funktionieren ähnlich und unterscheiden sich nur wenig. Erstellen einer Datei über die Toolbar
Tumblr media
In der Toolbar findest du das Icon "Neu", ein Klick auf dieses erzeugt einen neuen Reiter, in welchem wir nun unseren Code schreiben können.
Tumblr media
Wenn wir dann die Schaltfläche "Speichern" klicken oder Strg+S betätigen, erscheint ein Dialog, in welchem wir den Ort wählen müssen.
Tumblr media
Im neuen Dialog vergeben wir dann einen Dateinamen und bestätigen diesen mit der Schaltfläche "OK". Erstellen einer Datei über das Kontextmenü
Tumblr media
Im Bereich "Raspberry Pi Pico" klicken wir die rechte Maustaste und wählen dann aus dem Kontextmenü den Eintrag "Neue Datei..." aus.
Tumblr media
Im neuen Dialog geben wir dann den gewünschten Dateinamen "code.py" ein und bestätigen dieses mit der Schaltfläche "OK". Es wurde soeben ein neuer Reiter "*" erzeugt. Das Sternchen symbolisiert ungespeicherte Dateien!
Tumblr media
Sobald diese Datei gespeichert wird, wird diese auf dem Mikrocontroller erzeugt. Ausführen der Datei code.py
Tumblr media
Die erzeugte Datei können wir über die Toolbar mit der Schaltfläche "Aktuelles Skript ausführen" oder mit der Taste F5 ausführen.
Tumblr media
Wenn wir Änderungen durchführen möchten, dann muss zunächst das aktuelle Skript über die Schaltfläche "Stopp/Restart ausführen" beendet werden.
Programmierbeispiele für den PicoBoy
Auf der Seite https://picoboy.de/micropython/eins-nach-dem-anderen-das-erste-programm/ findest du zwei sehr gut erläutertes Beispiel, wie du die LEDs und das OLED-Display programmierst. Sowie findest du auch noch viele weitere Beispiele und Erläuterungen.
Fazit
Als Fazit zu dem PicoBoy ziehe ich, dass dieser Mikrocontroller mit seinen Features sehr cool ist und einiges an Potential bietet. Im nächsten Beitrag zum PicoBoy werde ich dir weitere Beispiele zeigen, welche in den Schwierigkeitsstufen von einfach bis komplex steigen. Sei also gespannt. Read the full article
0 notes
draegerit · 2 years
Text
WeAct Studio Pico
Tumblr media
In diesem Beitrag möchte ich dir den Mikrocontroller WeAct Studio Pico vorstellen und zeigen, wie dieser programmiert wird.
Tumblr media
Dieser Mikrocontroller verfügt über einen RP2040 Chip, welchen ich dir bereits am original Raspberry Pi Pico vorgestellt habe (siehe Raspberry PI Pico #1 – Vorstellung)
Tumblr media
Vorderseite des Mikrocontrollers
Tumblr media
Rückseite des Mikrocontrollers
Tumblr media
RP2040 Chip auf dem WeAct Studio Pico
Kaufen eines WeAct Studio Pico
Den mir vorliegenden Mikrocontroller habe ich auf aliexpress.com für 6 € zzgl. Versandkosten erstanden. Lieferumfang Dem WeAct Studio Pico liegen zwei 20 Pin Stiftleisten und eine 4 Pin Stiftleiste bei.
Tumblr media
Verpackter Mikrocontroller weAct Studio Pico
Tumblr media
Lieferumfang des WeAct Studio Pico
Aufbau des Mikrocontrollers
Bevor man den Mikrocontroller in Schaltungen verwenden kann, müssen die Stiftleisten angelötet werden. Ich benutze hierfür immer ein Breadboard, da dann die Stiftleisten in einem sauberen Winkel angelötet werden kann.
Tumblr media
WeAct Studio Pico zum löten auf dem Breadboard
Tumblr media
fertig gelöteter Mikrocontroller Pinout des Mikrocontrollers Der Mikrocontroller ist dem Raspberry Pi Pico / Pico W sehr ähnlich und auch die Pins sind an den gleichen Stellen. Diese Eigenschaft macht es dir sehr leicht dein derzeitiges Projekt, welches ggf. etwas groß geworden ist und mehr Speicher benötigt, zu erweitern.
Tumblr media
Pinout des Raspberry PI Pico technische Daten des WeAct Studio Pico Hier nun die technischen Daten des Mikrocontrollers: MicrocontrollerRP2040 dual-core Cortex-M0+ mit 133 MHz (Übertaktbar bis 250 MHz)Speicher264 KB SRAM 16 MB QSPI Flash SpeicherSchnittstellen1x Typ-C USB 1.1, 2x UART, 2x I²C, 2x SPI 4 Pin Arm serieller Debug PortErweiterungen2x 20 Pin 2,54 mm Stiftleisten 28 GPIOs, 3x 12-bit ADC (bis zu 500 Kbps), 16x PWMSpannungsversorgung5 V über USB, oder 2 bis 5 V über Pin VSYSAbmaße (L x B)53 mm x 21,5 mm
Programmieren
MU-Editor zum Programmieren Zum Programmieren nutze ich die einfache Entwicklungsumgebung Mu-Editor. Dieses Tool kannst du unter https://codewith.mu/ für Microsoft Windows, macOS und Linux herunterladen. Wenn du das Tool zum ersten Mal startest, dann kann dieses etwas dauern, da noch einige Ressourcen aus dem Internet nachgeladen werden. Wenn die IDE nun endlich gestartet ist, dann müssen wir den Modus wählen. Da unser Mikrocontroller eigentlich vom Typ RP2040 ist, wählen wir den Eintrag "RP2040" aus der Liste (siehe Grafik).
Tumblr media
MU-Editor , wählen des Modus für den RP2040 Wenn wir jetzt das kleine Skript mit der Ausgabe von "Hello World!" in einem Intervall von 10 Sekunden ausführen, erhalten wir nachfolgende Ausgabe. import time while True: print("Hello World!") time.sleep(10) In der Ausgabe können wir zusätzliche Informationen zum angeschlossenen Board auslesen. In meinem Fall ist es ein "Pimoroni Pico LiP 16MB with RP2040". MicroPython v1.17 on 2021-12-01; Pimoroni Pico LiPo 16MB with RP2040 Type "help()" for more information. >>> >>> >>> >>> raw REPL; CTRL-B to exit >OK MPY: soft reboot Traceback (most recent call last): File "_boot.py", line 9, in KeyboardInterrupt: raw REPL; CTRL-B to exit >OK Hello World!
Kleines Beispiel
Da wie erwähnt der hier vorgestellte Mikrocontroller mit dem Raspberry Pi Pico baugleich ist, kann ich dir leider keine speziell abgestimmten Beispiele zeigen, denn dieser hat ja lediglich mehr Speicher. Wir können also größere Projekte bauen oder mehr Daten sammeln und diese im Speicher ablegen. LED blinken Als erstes kleines Beispiel möchte ich eine LED zum Blinken bringen. Hierfür benötigst du: - den Mikrocontroller WeAct Studio Pico, - ein USB-Typ-C Datenkabel, - eine LED, - ein 220 Ohm Widerstand, - zwei Breadboardkabel, - ein 270 Pin Breadboard, und ein 170 Pin Breadboard, oder - ein 800 Pin Breadboard
Tumblr media
kleine Schaltung - Mikrocontroller WeAct Studio Pico mit LED import time #wird benötigt um die GPIOs anzusteuern from machine import Pin #die LEDs sind auf dne GPIOs 01 bis 07 led = Pin(15, Pin.OUT) while True: led.value(1) time.sleep(0.5) led.value(0) time.sleep(0.5)
Flashen für die Programmierung in CirtuitPython
Auf der Seite https://circuitpython.org/board/weact_studio_pico/ kannst du ein Flash-File für den Mikrocontroller herunterladen. Damit du diese Datei auf den Mikrocontroller kopieren kannst, musst du diesen in einen speziellen Modus starten, dazu trennst du diesen zunächst von einer aktiven Verbindung zum Computer und hältst die Taste "BOOT" auf dem Mikrocontroller gedrückt und baust die Verbindung erneut wieder auf. Wie das gemacht wird, habe ich dir bereits im Beitrag zum Raspberry Pi Pico gezeigt (jedoch wird hier von CircuitPython auf MicroPython gewechselt) https://draeger-it.blog/raspberry-pi-pico-1-vorstellung/#aufspielen_einer_neuen_Firmware_fuer_Micropython. In meinem Fall hat der geöffnete Mu-Editor erkannt, dass ein Mikrocontroller mit CircuitPython angeschlossen wurde und möchte den derzeit gewählten Modus ändern. Wenn der Vorgang abgeschlossen ist, kannst du nachfolgendes Script nutzen, um deine LED erneut zum Blinken zu bringen. import time import board import digitalio led = digitalio.DigitalInOut(board.GP15) led.direction = digitalio.Direction.OUTPUT while True: led.value = True time.sleep(0.5) led.value = False time.sleep(0.5) Read the full article
1 note · View note
draegerit · 2 years
Text
Raspberry Pi Pico W mit Wi-Fi Support
Tumblr media
In diesem Beitrag stelle ich dir den neuen Raspberry Pi Pico W vor, welcher mit Wi-Fi Support und dem bekannten RP2040 Chip daher kommt.
Tumblr media
Den betagten Raspberry Pi Pico, welcher im Jahr 2020 erschienen ist, habe ich dir bereits im Beitrag Raspberry PI Pico #1 – Vorstellung vorgestellt.
Tumblr media Tumblr media Tumblr media Tumblr media
Bezug eines Raspberry Pi Pico W
Der Raspberry Pi Pico W ist Ende Juni 2022 erschienen und kann über die bekannten Shops erstanden werden. ShopPreisVersandkostenhttps://www.reichelt.de6,99 €5,95 €https://www.elektor.de8,95 €4,95 €https://www.berrybase.de6,80 €3,95 € Da der Mikrocontroller recht neu auf dem Markt ist, denke ich, dass noch weitere Shops wie Conrad-Elektronik, Amazon etc. folgen werden, auch ist die Verfügbarkeit am Anfang recht gering und daher muss man sehr schnell sein, um einen zu bekommen.
Lieferumfang
Der mir vorliegende Mikrocontroller wurde in einer kleinen Blisterverpackung geliefert. Diese ist lediglich von einer Rolle mit mehreren Mikrocontrollern abgeschnitten.
Tumblr media
Raspberry Pi Pico W verpackt
Montage der Stiftleisten
Der Mikrocontroller wird ohne Stiftleisten geliefert. Die können jedoch recht günstig zbsp. über ebay.de für 2,89 € inkl. Versandkosten erstehen.
Tumblr media
Raspberry Pi Pico W auf Breadboard mit Stiftleisten Im Shop von Eckstein-Komponente gibt es spezielle, farbige Stiftleisten, welche wie ich finde, eine sehr gute Erheiterung für den Mikrocontroller ist, um die Pins nochmal deutlich hervorzuheben. Mit knapp 3 € für das Paar Stiftleisten vielleicht nicht gerade ein Schnäppchen, aber es nutzt sich ja nicht ab ;) .
Pinout des Pico W
Der Pico W ist dem Vorgängermodell aus dem Jahr 2020 von den Pins her baugleich.
Tumblr media
Pinout des Raspberry PI Pico Das Bild zum Pinout des Pi Pico, darf ich mit freundlicher Genehmigung der Raspberry Foundation verwenden.
Vergleich mit dem Vorgängermodell
Vergleichen wir zunächst die beiden Mikrocontroller. Da wie erwähnt, die beiden Mikrocontroller baugleich sind.
Tumblr media Tumblr media Tumblr media
Technische Daten MikrochipRP2040, Dual-Core Arm Cortex M0+ mit bis zu 133 MHzSpeicherSRAM - 264 KBFlash - 2 MBSchnittstellenUSB 1.12x SPI, 2x I²C, 2X UART3x 121-bit ADC (Analog Digital Converter)Ein-/Ausgänge26 Pins12 PWM ChannelSensoren/AktorenTemperatursensorTimer
Wi-Fi Support mit CYW43439 Chip
Auf dem Pico W ist der Wi-Fi-Chip CYW43439 verbaut, welcher an die internen GPIO Pins GPIO23, GPIO25, GPIO26, GPIO29 zum RP2040 per SPI verbunden ist. Eigentlich verfügt dieser Chip auch über eine Bluetooth-Unterstützung, jedoch ist diese in der aktuellen Baureihe des Pi Pico W 2022 deaktiviert. Der verbaute Wi-Fi-Chip arbeitet mit dem Standard IEEE 802.11 b/g/n und sollte sich somit mit jedem Netzwerk verbinden können.
Boards mit RP2040 Chip
Auf dem Markt gibt es bereits Boards welche einen RP2040 Chip & Wi-Fi Support haben. Eines von diesen habe ich dir bereits im Beitrag Maker Pi Pico von Cytron vorgestellt habe und im weiteren Beitrag MAKER Pi Pico #1 – senden von Sensordaten an ThingSpeak gezeigt habe wie man Daten per Wi-Fi an den IoT Dienst ThingSpeak sendet.
Tumblr media Tumblr media
Maker Pi Pico mit ESP01-S Chip Read the full article
0 notes