Τα πάντα για το Raspberry Pi Pico

raspberry pi pico tutorial

Αν θέλετε να αγοράσετε το πρώτο σας Raspberry Pi, το Pico θα μπορούσε να είναι μια πολύ ελκυστική επιλογή.

Αλλά το πραγματικό ερώτημα εδώ είναι αν το Raspberry Pi Pico είναι το κατάλληλο για εσάς.

Υπάρχουν πολλά πλεονεκτήματα και μειονεκτήματα στην αγορά του Raspberry Pi Pico και είναι σημαντικό να κατανοήσετε το ρητό "άλογα για μαθήματα".

Περιεχόμενα απόκρυψη

Ας δούμε το Raspberry Pi Pico

Το Raspberry Pi Pico ανοίγει νέους δρόμους στη σειρά Raspberry Pi επειδή είναι μια πλακέτα ανάπτυξης μικροελεγκτών. Αυτό αποτελεί μια απόκλιση από τα υπόλοιπα Raspberry Pi που είναι μικροϋπολογιστές.

Διαθέτει το τσιπ RP2040 που σχεδιάστηκε εσωτερικά από το Raspberry Pi και έχει τις ακόλουθες προδιαγραφές:

  • Διπύρηνοι πυρήνες CPU ARM Cortex M0+ (έως 133 MHz)
  • 264K SRAM
  • Μνήμη flash 2MB

Το Raspberry Pi Pico ξεχωρίζει ως μικροελεγκτής υψηλής απόδοσης και έχει πολλές ενδιαφέρουσες χρήσεις.

Pro: Φθηνό και ιδανικό για αρχάριους

Πουλάμε το Raspberry Pi Pico για €4.10 το οποίο είναι το φθηνότερο Raspberry Pi που μπορείτε να αγοράσετε. Στην πραγματικότητα, αν είστε νέοι στο μαστόρεμα με το Raspberry Pi Pico, μπορείτε να αποκτήσετε ένα πλήρες σετ με 24,95 ευρώ το οποίο περιλαμβάνει όλα όσα χρειάζεστε για την κατασκευή εύκολων έργων.

Pro: Τέλεια για εφαρμογές πραγματικού χρόνου

Το Raspberry Pi Pico είναι ιδανικό για έργα όπου πρέπει να χρονομετρήσετε με ακρίβεια τα γεγονότα. Για παράδειγμα, ανάγνωση αισθητήρων, λειτουργία κινητήρων και παρακολούθηση εργασιών.

Pro: αναλογικές είσοδοι

Το Raspberry Pi Pico είναι το πρώτο Raspberry Pi που διαθέτει αναλογικές εισόδους από το εργοστάσιο.

Διαθέτει συνολικά 5 εισόδους ADC (αναλογικός ψηφιακός μετατροπέας). Δύο από αυτές χρησιμοποιούνται από το Pico για τον εσωτερικό αισθητήρα θερμοκρασίας και για την παρακολούθηση της τάσης.

Πώς μπορεί λοιπόν να σας ωφελήσει μια αναλογική είσοδος; Λοιπόν, για παράδειγμα, σε ένα από τα έργα μου χρησιμοποιήθηκε ένα ποτενσιόμετρο για τη ρύθμιση της συχνότητας μεταγωγής ενός ρελέ. Έτσι, το Raspberry Pi Pico θα μπορούσε να διαβάσει μια τιμή από το ποτενσιόμετρο και να χρησιμοποιήσει τις τιμές του στο πρόγραμμα που έχω φορτώσει σε αυτό.

Το Raspberry Pi Pico αναλύει τα σήματα ADC στα 12 bit, που είναι καλύτερο από το ADC των 10 bit του Arduino Uno. Άλλα χαρακτηριστικά περιλαμβάνουν:

  • SAR ADC (ADC διαδοχικής προσέγγισης)
  • 500 kS/s (με εξωτερικό ρολόι 48MHz)
  • Διεπαφή DMA στις εισόδους ADC που μπορεί να έχει πρόσβαση στη μνήμη χωρίς να χρησιμοποιεί τη CPU

Pro: προγραμματιζόμενο IO (PIO)

Αυτό είναι ένα από τα πιο ωραία χαρακτηριστικά του Raspberry Pi Pico και είναι επίσης αυτό που δίνει στο Pico τον δυναμισμό που δεν έχουν κάποιοι άλλοι μικροελεγκτές.

Το PIO είναι μια διεπαφή υλικού που μπορεί να προγραμματιστεί ανεξάρτητα από τους κύριους επεξεργαστές. Ως εκ τούτου, μπορεί να εξομοιώνει πολλές διαφορετικές διεπαφές:

  • Παράλληλη θύρα 8080 και 6800
  • I2C
  • 3 ακίδων I2S
  • SDIO (διεπαφή κάρτας SD)
  • SPI, DSPI, QSPI
  • UART
  • DPI ή VGA (μέσω δικτύου αντιστάσεων / DAC)

Οι μηχανές κατάστασης PIO είναι πλήρως προγραμματιζόμενες και αποκλειστικά αφιερωμένες στην είσοδο/έξοδο. Ιδιαίτερη προσοχή δίνεται στον ακριβή συγχρονισμό. 

Για παράδειγμα, η διασύνδεση PIO μπορεί να χρησιμοποιηθεί για τη δημιουργία κρίσιμων για το χρόνο (ευαίσθητων στο χρόνο) εφαρμογών, όπως ο έλεγχος ταινιών LED, με σταθερό και αξιόπιστο τρόπο. 

Pro: θα μπορούσε να βγάλει βίντεο με τροποποίηση

Είδατε το "DPI ή VGA" στην προηγούμενη ενότητα; Ξέρετε τι σημαίνει αυτό...

Ναι, το Raspberry Pi μπορεί να βγάλει βίντεο, κάτι που δεν θα μπορούσατε ούτε να φανταστείτε στους περισσότερους μικροελεγκτές.

Έχουμε ένα σεμινάριο που σας δείχνει πώς γίνεται, αν ενδιαφέρεστε.

Υπέρ: χωράει σε breadboard

raspberry pi pico σε breadboard

Στο Raspberry Pi Pico, οι ακίδες βρίσκονται σε δύο αντίθετες πλευρές του Pi Pico, επομένως μπορείτε να τοποθετήσετε το Pi Pico απευθείας στην πλακέτα ψωμιού με την κάθε πλευρά σε όλη τη διαχωριστική υδρορροή.

Αυτό διευκολύνει την κατασκευή πρωτοτύπων, επειδή δεν θα χρειαστεί να προμηθευτείτε καλώδια αρσενικού προς θηλυκό (ή αρσενικού προς αρσενικό στην περίπτωση του Arduino Uno) για να συνδέσετε το Pico σε μια πλακέτα ψωμιού.

Δεν μπορείτε να το κάνετε αυτό με άλλα Raspberry Pis επειδή οι ακίδες τους είναι όλες συγκεντρωμένες μαζί.

Υπέρ: Το μικρότερο Raspberry Pi

σύγκριση raspberry pi pico
Από αριστερά, με τη φορά των δεικτών του ρολογιού: Raspberry Pi Pico, Raspberry Pi Zero 2, Raspberry Pi 4

Ο μικρός πίνακας είναι καλός, επειδή χωράει ευκολότερα σε στενούς χώρους και είναι ευκολότερο να τοποθετηθεί. Για παράδειγμα, ας πούμε ότι θέλετε να τοποθετήσετε το Raspberry Pi Pico στον τοίχο ή μέσα σε ένα κλειστό περιβάλλον: ρομπότ, φορητές συσκευές, ρολόγια κ.λπ.

Το Raspberry Pi Pico έχει διαστάσεις 51mm x 21mm /Πηγή: Raspberry Pi

Πλεονεκτήματα: χαμηλή κατανάλωση ενέργειας

Ανέφερα ότι το Raspberry Pi Pico είναι μικρό και ότι μπορεί να χωρέσει σε μικρούς χώρους.

Το σπουδαίο είναι ότι επειδή το Pico καταναλώνει ενέργεια, δεν θα χρειαστείτε μεγάλη μπαταρία για να το λειτουργήσετε.

Ανέφερα επίσης ότι δέχεται ένα ευρύ φάσμα τάσεων; Μπορεί να λειτουργήσει με 1,8 - 5,5 V, το οποίο είναι σπουδαίο επειδή μπορείτε να το λειτουργήσετε με μία μόνο μπαταρία λιθίου (3,7 V) ή με μπαταρίες νικελίου συνδεδεμένες σε σειρά (1,2 V η κάθε μία).

Μια ανάλυση από τον Joey Castillo έδειξε ότι η απόδοση του μετατροπέα buck του Pico κορυφώνεται στα 2,54V έως 3,2V (ισοδυναμεί με 2 πλήρως φορτισμένες επαναφορτιζόμενες/αλκαλικές μπαταρίες AA), εάν τραβάτε ρεύμα <=10mA.

Σε υψηλότερα ρεύματα, όμως, είναι καλύτερα να παρέχετε μπαταρίες 3 AA ή την τάση μιας μπαταρίας λιθίου.

Αυτά τα στατιστικά στοιχεία ενδέχεται να μην ισχύουν για το Pico W, καθώς το Pico W χρησιμοποιεί διαφορετικό μετατροπέα buck. Το Pico W χρησιμοποιεί τον RT6154 ενώ το Pico χρησιμοποιεί το RT6150. Κάντε κλικ στους συνδέσμους για να δείτε τα αντίστοιχα φύλλα δεδομένων.

Εδώ είναι το γράφημα για τον μετατροπέα buck του Pico:

Ουδέτερη: Pi Pico: Καμία υποστήριξη Linux στο Raspberry Pi Pico

Το αν αυτό αποτελεί πλεονέκτημα ή μειονέκτημα του Raspberry Pi Pico εξαρτάται από το έργο σας. Η μη ύπαρξη Linux σημαίνει ότι τα έργα σας φορτώνονται πιο γρήγορα, αλλά συνολικά, μπορείτε να κάνετε περισσότερα αν έχετε ένα λειτουργικό σύστημα.

Τι εννοώ με το να φορτώνετε πιο γρήγορα; Λοιπόν, δεδομένου ότι δεν υπάρχει λειτουργικό σύστημα για εκκίνηση, ο κώδικάς σας θα φορτωθεί σχεδόν την ίδια στιγμή που θα συνδέσετε την τροφοδοσία στο Pi Pico.

Σε οποιοδήποτε άλλο Raspberry Pi, θα χρειαστεί πολύ περισσότερος χρόνος μέχρι να δείτε μια απάντηση.

Αλλά δυστυχώς, χωρίς λειτουργικό σύστημα, περιορίζεστε στον προγραμματισμό με MicroPython ή C, ενώ με λειτουργικό σύστημα, μπορείτε να προγραμματίσετε σε πολλές, πολλές περισσότερες γλώσσες. Επιπλέον, μπορείτε να παίζετε παιχνίδια, να σερφάρετε στο διαδίκτυο και να απολαμβάνετε άλλες εφαρμογές πολυμέσων.

Ουδέτερη: WiFi

Το αν αυτό αποτελεί μειονέκτημα ή όχι εξαρτάται από το έργο σας, αλλά πείτε ότι αναπτύσσετε ένα έργο που απαιτεί να ελέγχετε τον καιρό ή να μεταφορτώνετε δεδομένα στο Google Sheets, δεν θα μπορείτε να το κάνετε στο Raspberry Pi Pico.

Για να είμαστε δίκαιοι, μπορείτε να εγκαταστήσετε WiFi ή ethernet χρησιμοποιώντας ανταλλακτικά μεταγενέστερης αγοράς, όπως το παρακάτω στοιχείο:

Ουδέτερη: 3.3V

Το αν αυτό αποτελεί πλεονέκτημα ή μειονέκτημα εξαρτάται από τα εξαρτήματα με τα οποία θα συνδέσετε το Raspberry Pi Pico.

Ένα σενάριο στο οποίο βρήκα ότι τα 3,3V αποτελούν εμπόδιο ήταν όταν προσπάθησα να το χρησιμοποιήσω με ρελέ 5V. Ουπς! Δεν μπορούσα να περάσω αρκετή τάση για να κάνω το ρελέ να αλλάξει.

Έτσι, πήγα στο Arduino Uno, του οποίου οι ακίδες GPIO βγάζουν 5V.

Η εναλλακτική λύση θα ήταν να προσθέσω εξαρτήματα στο πρωτότυπο, ώστε τα 3,3V να μπορούν να ενισχυθούν, αλλά γιατί να περιπλέξω τα πράγματα όταν μπορώ να το κάνω με ένα Arduino Uno;

Φυσικά, αυτό είναι μόνο ένα σενάριο. Τα χιλιόμετρα σας μπορεί να ποικίλλουν ανάλογα με το τι κάνετε.

Raspberry Pi Pico Χρήσεις

Το φάσμα των χρήσεων του Raspberry Pi Pico είναι ατελείωτο. Μπορείτε να φτιάξετε κάτι που βελτιώνει τη ζωή σας ή να φτιάξετε κάτι απλά για διασκέδαση.

Μικροελεγκτής που διαβάζει MicroPython (αντί για C)

Αν έχετε χρησιμοποιήσει ένα Arduino, θα ξέρετε ότι θα πρέπει να το προγραμματίσετε σε γλώσσα C.

Ωστόσο, μπορεί να μη σας αρέσει ο προγραμματισμός σε C. Μπορεί να έχετε ισχυρότερο υπόβαθρο στην Python.

Και έτσι, αν δυσκολευτήκατε με τη συγγραφή κώδικα σε C στο Arduino, τα καλά νέα είναι ότι ό,τι μπορεί να κάνει το Arduino, το Raspberry Pi Pico είναι πιθανό να μπορεί να ταιριάξει στην περίπτωση χρήσης σας.

Γι' αυτό πετάξτε τις καμπύλες αγκύλες και αρχίστε να βάζετε εσοχές στον κώδικά σας!

Κατασκευές με μπαταρία για μεγάλο χρόνο λειτουργίας

Αν χρειάζεστε κάτι που να καταναλώνει όσο το δυνατόν λιγότερη ενέργεια, τότε σίγουρα θα προτιμήσετε το Raspberry Pi Pico από κάτι πιο ισχυρό, όπως το Raspberry Pi Zero.

Να γιατί: μπορείτε να χρησιμοποιήσετε ένα πολύ μεγαλύτερο εύρος εισόδων ισχύος (1,8V έως 5,5V) και επειδή το Raspberry Pi Pico είναι τόσο αποδοτικό, θα μπορείτε να έχετε πολύ μεγαλύτερο χρόνο λειτουργίας από ό,τι αν χρησιμοποιούσατε έναν μικροϋπολογιστή όπως το Raspberry Pi Zero.

Α, ανέφερα ότι το Raspberry Pi Zero είναι πολύ επιλεκτικό ως προς την τάση που του δίνετε; Παίρνει μόνο 4,75 - 5,25V.*

* Σύμφωνα με την Arya, η οποία άφησε ένα σχόλιο παρακάτω, το Raspberry Pi Zero μπορεί να λειτουργήσει με μία μόνο μπαταρία λιθίου, αρκεί να μην έχετε περιφερειακά USB. Ευχαριστούμε Arya.

Πληκτρολόγια μακροεντολών, περιστρεφόμενα toggles και άλλα HIDs

Ο Don Hui με το πληκτρολόγιο μακροεντολών του Discord που του επιτρέπει να αλλάζει εύκολα τα στοιχεία ελέγχου της έντασης του ήχου / Πηγή: Don Hui: YouTube.

Το Raspberry Pi Pico μπορεί να χρησιμοποιηθεί ως συσκευή ανθρώπινης αλληλεπίδρασης (HID).

Αλλά σε αντίθεση με ένα βαρετό ποντίκι ή πληκτρολόγιο, το Raspberry Pi Pico σας επιτρέπει να δημιουργήσετε μια συσκευή που κάνει κάτι εξειδικευμένο και συγκεκριμένο για την περίπτωσή σας.

Ως εκ τούτου, μπορείτε να δημιουργήσετε πληκτρολόγια μακροεντολών που πληκτρολογούν μια μακρά συμβολοσειρά με το πάτημα ενός κουμπιού. Ή μπορείτε να το χρησιμοποιήσετε για τη σίγαση του Discord. Ή να το χρησιμοποιήσετε για να πατήσετε CTRL + ALT + DEL. Οι δυνατότητες είναι ατελείωτες.

Το πολυλειτουργικό κουμπί της magi, το οποίο λειτουργεί ως περιστρεφόμενο ρυθμιστή έντασης ήχου ή ως ρυθμιστής χρονογραμμής Premiere Pro. Πηγή: Premiere Premiere: YouTube

sArCaSm kEyBoArD

Τι είναι καλύτερο για να εκφράσετε τον σαρκασμό: να εμφανίσετε ένα /s ετικέτα στο τέλος του κειμένου σας ή να γράφετε αυτό το κείμενο;

Προτιμώ το δεύτερο, επειδή μεταφέρει αμέσως το sArCaSm.

Ο δημιουργός αυτού του έργου, ο Ben S, μοιράστηκε ότι χρησιμοποιεί δύο Raspberry Pi Pico για να το πραγματοποιήσει. Το ένα Pico λειτουργεί ως συσκευή πληκτρολογίου USB HID για τον υπολογιστή και το άλλο λειτουργεί ως κεντρικός υπολογιστής USB για να διαβάζει τις εισόδους από το πληκτρολόγιο. Στη συνέχεια, ο κεντρικός υπολογιστής επικοινωνεί με τη συσκευή μέσω UART ποιο ήταν το πάτημα του πλήκτρου.

Το πληκτρολόγιο σαρκασμού Pico ενεργοποιεί και απενεργοποιεί το caps lock μετά από κάθε πάτημα πλήκτρου, δίνοντας έτσι sArCaStIc TeXt.

Τι δεν μπορεί να κάνει το Raspberry Pi Pico;

Ας μιλήσουμε για μια πιο τυπική διαμόρφωση κατευθείαν από το κουτί.

Θα αναγνωρίσω ότι υπάρχουν πολλοί τρόποι με τους οποίους μπορείτε να αυξήσετε τις δυνατότητες του Raspberry Pi Pico. Μπορείτε να εξάγετε βίντεο, να ρυθμίσετε ethernet, να εξάγετε ήχο...

Με αρκετές τροποποιήσεις, το Raspberry Pi Pico θα πλησιάσει τις δυνατότητες ενός μικροϋπολογιστή.

Τούτου λεχθέντος, κανείς λογικός δεν πρόκειται να φτάσει τόσο μακριά. Πέρα από ένα ορισμένο επίπεδο τροποποίησης, καθίσταται ανέφικτο.

Γιατί γίνεται ανέφικτο;

Γιατί θα μπορούσατε να αγοράσετε κάτι που θα έχει όλα αυτά τα χαρακτηριστικά κατευθείαν από το κουτί!

Ένας στενός ανταγωνιστής που θα πρέπει να παρακολουθείτε είναι το Raspberry Pi Zero 2. Έχουμε ένα mega-άρθρο που θα απαντήσει σε όλες τις ερωτήσεις σας εδώ.

Σε θεμελιώδες επίπεδο, το Raspberry Pi Pico έχει λιγότερη υπολογιστική ισχύ. Σε σύγκριση με τον φθηνότερο μικροϋπολογιστή, το Raspberry Pi Zero, το Pi Pico έχει προεπιλεγμένο ρολόι 133MHz και μπορεί να εκτελέσει 361,76 εκατομμύρια εντολές Dhrystone ανά δευτερόλεπτο (DMIPS), ενώ το Raspberry Pi Zero μπορεί να εκτελέσει 1250 DMIPS.

Το Raspberry Pi Zero διαθέτει επίσης 512MB RAM, λειτουργικό σύστημα, WiFi και υποδοχή κάρτας SD. Για ένα άτομο που γνωρίζει καλύτερα τη JavaScript, όπως εγώ, η δυνατότητα να γράφω κώδικα Node για να τον συνδέσω με το Google Cloud είναι ένας λόγος για τον οποίο μου αρέσει να χρησιμοποιώ τους μικροϋπολογιστές Pi.

Μικροϋπολογιστής vs μικροελεγκτής

Κατά την παρουσίαση του προηγούμενου σεναρίου, χρησιμοποίησα τους όρους μικροϋπολογιστής και μικροελεγκτής. Θα συνοψίσω ορισμένες χρήσεις στις οποίες ο ένας είναι καλύτερος από τον άλλον.

Ένας μικροελεγκτής είναι πολύ απλούστερος από έναν μικροϋπολογιστή και, επομένως, είναι πολύ πιο εύκολο να βάλεις έναν μικροελεγκτή να κάνει απλές εργασίες. Αν χρειάζεται απλώς να αναβοσβήσετε μια λυχνία LED, να περιστρέψετε έναν σερβομηχανισμό, να μετρήσετε δεδομένα θερμοκρασίας, ένας μικροελεγκτής μπορεί να το κάνει πολύ εύκολα και ικανά.

Στην πραγματικότητα, έχετε κάποια πλεονεκτήματα, όπως η γρήγορη επανεκκίνηση και η μεγαλύτερη διάρκεια ζωής της μπαταρίας.

Η απλότητα συνεπάγεται περιορισμούς. Για παράδειγμα, είναι πολύ πιο εύκολο να συνδέσετε το πρωτότυπό σας στο διαδίκτυο με έναν μικροϋπολογιστή. Για παράδειγμα, μπορεί να θέλετε να συνδέσετε το πρωτότυπό σας με μια υπηρεσία ηλεκτρονικού ταχυδρομείου για να σας στέλνει μήνυμα όταν πληρούνται ορισμένα όρια. Θα έκανα αυτά τα έργα σε ένα Raspberry Pi Zero αντί να προσπαθήσω να τα κάνω να λειτουργήσουν με το Raspberry Pi Pico.

ΣενάριοΜικροελεγκτής (π.χ. Raspberry Pi Pico)Μικροϋπολογιστής (π.χ. Raspberry Pi Zero)
Εκτελέστε έναν διακομιστήΌχιΝαι
Αναβοσβήνει ένα LEDΠολύ πιο γρήγορα από την αρχή έως το τέλοςΠολύ πιο αργή- πολλές περισσότερες διαδικασίες για να περάσετε
Αυτόματη επανεκκίνηση του προγράμματος σε περίπτωση διακοπής ρεύματος;ΝαιΌχι από προεπιλογή
Παίξτε βιντεοπαιχνίδιαΌχιΝαι
Λειτουργεί με μπαταρία;Ναι, είναι πολύ πιθανό να διαρκέσει περισσότερο κατά μέσο όροΝαι, δεν διαρκεί τόσο πολύ κατά μέσο όρο
Διαχείριση θερμότητας;Καμία δεν απαιτείται συνήθωςΨύκτες, ανεμιστήρες, θερμικά αγώγιμες θήκες
Κόστος;ΚάτωΥψηλότερη

Καρφίτσες Raspberry Pi

Το Raspberry Pi Pico διαθέτει 30 ακίδες GPIO, από τις οποίες οι 26 είναι διαθέσιμες για χρήση.

  • 2x SPI
  • 2 x UART
  • 2 x I2C
  • 8 x PWM δύο καναλιών

υπάρχει επίσης:

  • 4 x έξοδος ρολογιού γενικής χρήσης
  • 4 x είσοδος ADC
  • PIO σε όλες τις ακίδες

Εδώ είναι η εικόνα των ακροδεκτών του Raspberry Pi Pico:

Καρφίτσες Raspberry Pi Pico / Πηγή: Raspberry Pi Pico Raspberry Pi

Στην πραγματικότητα, ένας χρήστης του Redditor που ονομάζεται C_King_Justice δημιούργησε επίσης ένα εργαλείο που μπορεί να σας βοηθήσει να βρείτε τις ακίδες GPIO του Raspberry Pi Pico. Μπορείτε να κατεβάστε το έγγραφο εδώ.

Χαρτί pinout από τον C_King_Justice / Πηγή: Reddit

Προδιαγραφές Raspberry Pi Pico

Raspberry Pi Pico
Τιμή€4.10 (συμβούλιο) €24.95 (κιτ Raspberry Pi Pico για αρχάριους)
CPURP2040 με διπύρηνο Cortex M0+ στα 133MHz
Δυνατότητες CPUΤο PLL στο chip επιτρέπει μεταβλητή συχνότητα πυρήνα
Συχνότητα CPUέως 133MHz, με δυνατότητα υπερχρονισμού/υποχρονισμού
GPUΧωρίς GPU
RAM264 kB ενσωματωμένης SRAM σε 6 τράπεζες
ΔίκτυοΔεν περιλαμβάνεται, αλλά μπορείτε να το προσθέσετε
BluetoothΔεν περιλαμβάνεται
Θύρα HDMIΔεν περιλαμβάνεται, αλλά μπορείτε να το προσθέσετε
Θύρα USBMicroUSB για τροφοδοσία και δεδομένα
Σύνθετο βίντεοΔεν περιλαμβάνεται, αλλά μπορείτε να το προσθέσετε
Καρφίτσα επαναφοράςΔεν περιλαμβάνεται, αλλά μπορείτε να το κολλήσετε.
Θύρα κάμεραςΚανένα
Κατανάλωση ενέργειας~1,3mA στη λειτουργία SLEEP έως 93mA στη δοκιμή "Popcorn"
Παροχή ρεύματος5V μέσω microUSB ή 1.8 - 5.5V μέσω VSYS
παράγοντας μορφής51 x 21 mm

Διαθέτει το Raspberry Pi Pico HDMI;

Raspberry-Pi-Pico-Video-Output-DVI-Sock

Όχι, δεν το κάνει από προεπιλογή. Αλλά μπορείτε να προσθέσετε ένα βίντεο μόνοι σας. Δείτε τον οδηγό μας εδώ.

Σημειώστε ότι ενώ η διεπαφή βίντεο είναι μια υποδοχή HDMI, στην πραγματικότητα εξέρχεται σήμα DVI. Το HDMI είναι διάδοχος του DVI, επομένως τα σήματα DVI μπορούν να μεταδίδονται μέσω HDMI.

Στο ίδιο πνεύμα, μπορείτε να αγοράσετε έναν προσαρμογέα HDMI σε DVI για να μετατρέψετε την υποδοχή HDMI σε DVI.

Σημειώστε ότι αυτή η ρύθμιση δεν παράγει ήχο.

Διαθέτει το Raspberry Pi Pico ethernet;

Όχι, δεν το κάνει από προεπιλογή. Αλλά μπορείτε να προσθέσετε ethernet μόνοι σας.

Το Raspberry Pi έχει κυκλοφορήσει επίσημα έναν οδηγό τον οποίο μπορείτε να ακολουθήσετε για να εγκαταστήστε ethernet στο Raspberry Pi Pico.

Στην ουσία, χρειάζεστε ένα RMII Ethernet PHY, όπως ένα LAN8720, ένα breadboard και καλώδια βραχυκυκλωμάτων. Το Raspberry Pi Pico σας πρέπει επίσης να έχει συγκολλημένες κεφαλίδες.

Διαθέτει το Raspberry Pi Pico WiFi;

Όχι, αλλά μπορείτε να το εγκαταστήσετε χρησιμοποιώντας ανταλλακτικά της αγοράς. Ένα συμβατό τσιπ που θα σας βοηθήσει να αποκτήσετε δυνατότητες WiFi είναι ο Adafruit Airlift WiFi Featherwing Co-Processor.

Διαθέτει το Raspberry Pi Pico USB;

Ναι, το Raspberry Pi Pico διαθέτει θύρα microUSB. Μπορεί να χρησιμοποιηθεί για την τροφοδοσία του Raspberry Pi.

Επιπλέον, μπορείτε επίσης να χρησιμοποιήσετε το Raspberry Pi Pico ως συσκευή ανθρώπινης αλληλεπίδρασης. Συνδέοντάς το στον υπολογιστή σας με τα κατάλληλα εξαρτήματα και τον κατάλληλο κώδικα, μπορείτε να το μετατρέψετε σε joystick, πληκτρολόγιο μακροεντολών, διακόπτη εναλλαγής κ.λπ.

Διαθέτει το Raspberry Pi Pico Bluetooth;

Όχι, αλλά μπορείτε να το εγκαταστήσετε χρησιμοποιώντας ανταλλακτικά της αγοράς.

Συνήθως, η ενσωμάτωση του Bluetooth στο Raspberry Pi Pico απαιτεί την αγορά μιας μονάδας Bluetooth, όπως η μονάδα Bluetooth HC-06.

Υπάρχει κάμερα Raspberry Pi Pico;

Το πρωτότυπο του Ralph Yamamoto που χρησιμοποιεί τη μονάδα κάμερας HM01B0. Πηγή: Ralph Yamamoto/Στοιχείο14

Ναι, μπορείτε να ενσωματώσετε το Raspberry Pi Pico με μια μονάδα κάμερας.

Μια κάμερα που μπορείτε να χρησιμοποιήσετε είναι η κάμερα HM01B0 της Himax Imaging. Το πλεονέκτημα της χρήσης της είναι ότι είναι εξαιρετικά χαμηλής ισχύος, χρησιμοποιώντας 1-2 milliwatts σύμφωνα με τον Ralph Yamamoto που έγραψε για την εμπειρία από τη λειτουργία μιας κάμερας με το Raspberry Pi Pico.

Προεπισκόπηση της κάμερας με ανάλυση 96×96 pixels. Πηγή: Ralph Yamamoto/Στοιχείο14

Το συμπέρασμά του ήταν ότι "είμαι σίγουρος ότι θα χρειαστεί πολλές διορθώσεις", και επιπλέον είπε ότι ένιωθε περιορισμένος από την ικανότητά του στην επεξεργασία και ότι η τεκμηρίωση της φωτογραφικής μηχανής ήταν ελλιπής.

Λειτουργικό σύστημα Raspberry Pi Pico

Σε γενικές γραμμές, δεν θα τρέχετε κάποιο λειτουργικό σύστημα στο Raspberry Pi Pico.

Στα περισσότερα έργα, είναι πιθανό να χρειάζεται απλώς να φορτώσετε κώδικα και στη συνέχεια να εκτελέσετε μόνο αυτό το ένα πρόγραμμα. Σε αυτή την περίπτωση δεν υπάρχει ανάγκη για ένα λειτουργικό σύστημα.

Είστε όμως ο τύπος που έχει πολλές καρτέλες στο Chrome; Τώρα, φανταστείτε ότι θα μπορούσατε να χρησιμοποιήσετε μόνο μία καρτέλα του Chrome.

Αν και ο "κλασικός" τρόπος προγραμματισμού του Raspberry Pi Pico είναι ο πιο αποδοτικός σε πόρους, περιορίζει επίσης την ικανότητά σας να εκτελείτε πολλαπλές εργασίες.

Ευτυχώς, υπάρχουν λειτουργικά συστήματα που μπορούν να λειτουργήσουν στο Raspberry Pi Pico.

Επίσημο RTOS (Λειτουργικό σύστημα πραγματικού χρόνου)

Δεν υπάρχει, αλλά το Raspberry Pi δήλωσε στις Συχνές Ερωτήσεις (από τον Φεβρουάριο του 2022) ότι "θα εργαστεί σύντομα για τη μεταφορά ενός RTOS".

FreeRTOS

Το Raspberry Pi Pico μπορεί να τρέξει το FreeRTOS. Ακολουθεί ένα σύντομο βίντεο που θα σας καθοδηγήσει από τον προγραμματισμό με γυμνό μέταλλο (ο "τυπικός" τρόπος που αναβοσβήνει ένα LED) στον προγραμματισμό με λειτουργικό σύστημα.

Αυτή η σειρά πέντε τμημάτων αναλύει λεπτομερώς το FreeRTOS, πώς λειτουργεί και πώς μπορείτε να το ρυθμίσετε και να το χρησιμοποιήσετε.

Fuzix

Δεν μπορείτε να κάνετε το Raspberry Pi Pico να τρέξει Linux με γραφικό περιβάλλον χρήστη, αλλά μπορείτε να τρέξετε έναν κλώνο Unix στο Raspberry Pi Pico με το Fuzix.

Το Raspberry Pi έχει δημοσίευσε έναν οδηγό που μπορείτε να ακολουθήσετε και αυτό που χρειάζεστε είναι:

  • Raspberry Pi χωρίς Pico για σειριακή σύνδεση
  • Raspberry Pi Pico
  • Αναγνώστης MicroSD για το Raspberry Pi Pico.

PyDOS

Ο χρήστης RetiredWizard του Github μόλις δημιούργησε ένα κέλυφος που μοιάζει με DOS για τις πλακέτες RP2040/ESP32.

Όπως μπορείτε να δείτε στο παραπάνω βίντεο, σας ταξιδεύει πραγματικά 30+ χρόνια πίσω.

Ελέγξτε το Github repo εδώ.

Ξεκινώντας με το Raspberry Pi Pico

Σχεδιάσαμε διάφορα κιτ με βάση αυτά που πιστεύουμε ότι θα σας βοηθήσουν περισσότερο μακροπρόθεσμα να απολαύσετε το ταξίδι σας με το Raspberry Pi Pico.

Στα πιο βασικά, εδώ είναι μερικά συνιστώμενα αξεσουάρ Raspberry Pi Pico.

Η δίοδος Schottky είναι απαραίτητη αν σκοπεύετε να συνδέσετε μια δεύτερη πηγή τροφοδοσίας στο Pico. Αυτός είναι ο απλούστερος τρόπος για να τρέξετε μια πηγή τροφοδοσίας που βρίσκεται εντός του εύρους τάσης 2,3V έως 5,5V, η οποία μπορεί να είναι ένα στοιχείο λιθίου ή τρεις μπαταρίες AA.

Η προσθήκη αυτής της διόδου θα σας επιτρέψει να "OR" τις δύο τάσεις από το VBUS και την εξωτερική τάση για την τροφοδοσία του VSYS με τις διόδους να αποτρέπουν οποιαδήποτε τροφοδοσία από το να τροφοδοτεί την άλλη.

Ωστόσο, ενώ αυτό είναι το απλούστερο, υπάρχουν απώλειες απόδοσης. Φύλλο δεδομένων του Raspberry Pi το εξηγεί λεπτομερώς και εξηγεί επίσης πώς να το μετριάσετε στο κεφάλαιο 4.5.

Έχοντας ένα στήριγμα μπαταρίας, μπορείτε να έχετε εφεδρική τροφοδοσία (με μια δίοδο Schottky) ή να τρέχετε τη συσκευή σας εντελώς εκτός δικτύου.

Αυτό είναι αυτονόητο. Χρειάζεστε αυτό το καλώδιο για να συνδέσετε το Raspberry Pi Pico με τον υπολογιστή σας για να ανεβάσετε κώδικα. Μπορεί επίσης να λειτουργήσει ως πηγή ενέργειας.

Δύο ακροδέκτες 20 ακίδων είναι απαραίτητοι επειδή θα τους χρειαστείτε για να συνδέσετε το Raspberry Pi σας με εξαρτήματα ή με μια πλακέτα breadboard.

Η κεφαλίδα τριών ακίδων απαιτείται για αποσφαλμάτωση.

Μην αγοράσετε μια κεφαλή 40 ακίδων, καθώς αυτή προορίζεται για τα άλλα Raspberry Pis.

Αν δεν θέλετε να κολλήσετε μόνοι σας τις κεφαλίδες, μπορείτε να αγοράσετε ένα Pico με προσυγκολλημένες κεφαλίδες.

Προγραμματισμός στο Raspberry Pi Pico

Μπορείτε να προγραμματίσετε σε MicroPython, C/C++ και CircuitPython στο Raspberry Pi Pico. Ακολουθεί ένας πίνακας που δείχνει την προσπάθεια που απαιτείται για να αναβοσβήνει η εσωτερική λυχνία LED.

ΓλώσσαMicroPythonC/C++CircuitPython
Απαιτούμενη ρύθμιση για την πρώτη εκτέλεσηΜεσαίοΥψηλότερηΧαμηλότερο
Βήματα για τη δημιουργία νέου προγράμματοςΜεσαίοΥψηλότερηΧαμηλότερο
Έλεγχος του υλικούΜεσαίοΥψηλότερηΜεσαίο

MicroPython στο Raspberry Pi Pico

Το MicroPython είναι ουσιαστικά Python lite. Ή διαιτητική Python.

Είναι Python με ένα μικρό υποσύνολο της τυπικής βιβλιοθήκης Python, βελτιστοποιημένο για να τρέχει σε μικροελεγκτές όπως το Raspberry Pi Pico.

Για να χρησιμοποιήσετε το MicroPython, θα πρέπει να κατεβάσετε Thonny και πηγαίνετε κάτω δεξιά όπου λέει "Python 3.7.9" και κάντε κλικ πάνω του, επιλέγοντας MicroPython (Raspberry Pi Pico).

Πιθανόν να σας υποδεχτεί ένα αναδυόμενο παράθυρο που θα σας ζητάει να ενημερώσετε. Προχωρήστε σε αυτό.

Η ενημέρωση έτρεξε μια χαρά όταν έτρεξα το Thonny στο Raspberry Pi OS, ωστόσο, στα Windows, εμφανίστηκε αυτό το σφάλμα που έλεγε "SSL: CERTIFICATE_VERIFY_FAILED".

Μπορείτε να το διορθώσετε κατεβάζοντας αυτό το πιστοποιητικό (https://letsencrypt.org/certs/lets-encrypt-r3.der), στη συνέχεια κάντε δεξί κλικ στο αρχείο που κατεβάσατε και επιλέξτε "Εγκατάσταση πιστοποιητικού" και δεν θα αντιμετωπίζετε πλέον αυτό το σφάλμα.

Με εγκατεστημένο το MicroPython, μπορείτε να εκτελέσετε το αντίστοιχο "Hello World" του Raspberry Pi Pico και να αναβοσβήσετε την εσωτερική του λυχνία LED χρησιμοποιώντας αυτόν τον κώδικα

from machine import Pin, Timer
led = Pin(25, Pin.OUT)
timer = Timer()

def blink(timer):
    led.toggle()

timer.init(freq=2.5, mode=Timer.PERIODIC, callback=blink)

Πατήστε RUN, αποθηκεύστε το ως blink.py και η εσωτερική λυχνία LED του Raspberry Pi θα πρέπει να αναβοσβήνει.

Με αυτά, ας δούμε την αντίστοιχη διαδικασία στη C.

Περαιτέρω ανάγνωση

Το PiCockpit διαθέτει επίσης μερικές οδηγίες για να σας βοηθήσει να ξεκινήσετε με το MicroPython στο Raspberry Pi Pico.

Raspberry Pi Pico και MicroPython στα Windows - εμβαθύνουμε στη ρύθμιση του MicroPython στα Windows στο Raspberry Pi, στον τρόπο εγκατάστασης του σωστού προγράμματος οδήγησης στα Windows 8.1, στη σύνδεση με το Pico χρησιμοποιώντας το PuTTY και σε μια λεπτομερή εξήγηση του Thonny.

Επέκταση C για MicroPython σε Raspberry Pi Pico - Τι θα λέγατε αν μπορούσατε να εκτελείτε ταυτόχρονα τη MicroPython και τη C και να αποκομίζετε τα οφέλη και των δύο γλωσσών; Η C αποδίδει καλύτερα από τη MicroPython σε υπολογιστικά βαριές εργασίες και μερικές φορές μπορεί να θέλετε να διασυνδέσετε κάποιο υλικό μέσω ενός API της C μέσα από τη MicroPython. Αυτός ο οδηγός μοιράζεται τον τρόπο με τον οποίο μπορείτε να το κάνετε αυτό.

LED που αναβοσβήνει με C/C++

Αν χρειάζεστε πολύ πιο λεπτομερή έλεγχο, μάλλον θα θελήσετε να γράψετε C/C++.

Το να κάνετε το Raspberry Pi Pico να δουλέψει με C είναι πολύ περισσότερη δουλειά. Δεν είναι τόσο εύκολο όσο το να γράψετε MicroPython με το Thonny.

Ο πιο απλός τρόπος είναι να χρησιμοποιήσετε έναν μικροϋπολογιστή Raspberry Pi με Raspberry Pi OS.

Αν θέλετε να χρησιμοποιήσετε Mac ή Windows, ο επίσημος οδηγός προσφέρει οδηγίες στο κεφάλαιο εννέα.

Εκτελέστε αυτές τις τρεις εντολές:

wget https://raw.githubusercontent.com/raspberrypi/pico-setup/master/pico_setup.sh 
$ chmod +x pico_setup.sh
./pico_setup.sh

Θα χρειαστείτε περίπου 2GB χώρου για να εκτελέσετε αυτή την εντολή. Μόλις γίνει αυτό, κάντε επανεκκίνηση εκτελώντας την εντολή sudo επανεκκίνηση .

Αφού εκκινήσετε, ανοίξτε το Visual Studio Code (κάτω από το φάκελο Programming στο μενού εκκίνησης) και ανοίξτε το φάκελο που βρίσκεται στην τοποθεσία /home/pi/pico/pico-παραδείγματα. Πρέπει να φορτώσετε αυτόν τον φάκελο και όχι έναν υποφάκελο.

Στη συνέχεια, πρέπει να ρυθμίσετε τις παραμέτρους του VS Code. Ανατρέχοντας στην παραπάνω εικόνα, κάντε τα εξής:

  1. Κάντε κλικ στο σημείο που γράφει "No Kit",
  2. Θα εμφανιστεί ένα αναδυόμενο παράθυρο. Επιλέξτε την επιλογή που λέει "arm-none-eabi",
  3. Κάντε κλικ στο [all] και επιλέξτε το έργο που θέλετε να μεταγλωττίσετε. Για να κάνω το εσωτερικό LED να αναβοσβήνει, επέλεξα αναβοσβήνει
  4. Τύπος Κατασκευάστε το

Θα μπορέσετε να βρείτε το blink.uf2 αρχείο στο /build/blink φάκελος.

Αντιγράψτε το αρχείο UF2 στο Raspberry Pi Pico και θα δείτε την εσωτερική λυχνία LED να αρχίζει να αναβοσβήνει.

Η κατασκευή του δικού σας έργου είναι πιο περίπλοκη στη C/C++. Ο επίσημος οδηγός έχει κεφάλαιο οκτώ το οποίο σας λέει πώς να δημιουργήσετε το δικό σας έργο.

CircuitPython

Ένας τρίτος συμμετέχων στις γλώσσες προγραμματισμού που λειτουργούν με το Raspberry Pi Pico είναι το CircuitPython.

Για αρχή, κατεβάστε το αρχείο .UF2 από εδώ.

Κουμπί BOOTSEL

Πατήστε παρατεταμένα το κουμπί BOOTSEL και συνδέστε το Pico στον υπολογιστή σας. Θα πρέπει να δείτε μια νέα μονάδα δίσκου.

Αντιγράψτε το αρχείο .UF2 που κατεβάσατε σε αυτόν τον δίσκο. Το Pico θα αποσυνδεθεί και θα συνδεθεί ξανά με μια νέα μονάδα δίσκου που ονομάζεται CIRCUITPY.

Σε αυτόν το φάκελο, υπάρχει ένα αρχείο που ονομάζεται code.py, ανοίξτε το με τον προτιμώμενο επεξεργαστή κώδικα (ακόμα και το Notepad λειτουργεί).

Βάλτε αυτόν τον κώδικα:

import board
import digitalio
import time

led = digitalio.DigitalInOut(board.LED)
led.direction = digitalio.Direction.OUTPUT

while True:
    led.value = True
    time.sleep(0.5)
    led.value = False
    time.sleep(0.5)

Μόλις το αποθηκεύσετε, θα δείτε την εσωτερική λυχνία LED του Pico να αναβοσβήνει.

Συνολικά, το CircuitPython ήταν ο πιο ομαλός και άμεσος τρόπος για να κάνετε το εσωτερικό LED να αναβοσβήνει. Οι άλλες δύο επιλογές ήταν πιο κουραστικές, ειδικά η εκτέλεση της C στο Pico (τριπλάσια αν προσπαθείτε να το κάνετε να λειτουργήσει σε Mac/Windows).

Με αυτό το δεδομένο, αν σκέφτεστε να χρησιμοποιήσετε το CircuitPython μακροπρόθεσμα, υπάρχει ένα επιχείρημα για τη χρήση του Thonny ως IDE σας, επειδή μπορεί να κατεβάσει πακέτα για εσάς και μπορείτε επίσης να εκτελέσετε και να σταματήσετε προγράμματα πατώντας το κουμπί αναπαραγωγής/διακοπής στη γραμμή εντολών.

Για περισσότερες πληροφορίες σχετικά με το CircuitPython, δείτε Τεκμηρίωση της Adafruit. Για να επιστρέψουμε στη MicroPython, κατεβάστε ένα αρχείο .UF2 από εδώ και ανεβάστε το στο δίσκο CIRCUITPY.

Bonus: Assembler στο Raspberry Pi Pico

Ναι, μπορείτε να γράψετε σε assembler αν δεν θέλετε να προγραμματίσετε το Raspberry Pi Pico σε C ή Python.

Οι Συχνές Ερωτήσεις του Raspberry Pi αναφέρουν ότι το Pico SDK έχει μερικές λειτουργίες γραμμένες σε assembler και ότι,

"Ο επεξεργαστής (διπύρηνος ARM Cortex M0+) υλοποιεί το σύνολο εντολών ARMv6-M Thumb, συμπεριλαμβανομένου ενός αριθμού εντολών 32-bit που χρησιμοποιούν την τεχνολογία Thumb-2. Το σύνολο εντολών ARMv6-M περιλαμβάνει όλες τις 16-bit Thumb εντολές του ARMv7-M εκτός από τις CBZ, CBNZ και IT και τις 32-bit Thumb εντολές BL, DMB, DSB, ISB, MRS και MSR."

Bonus: Γλώσσα προγραμματισμού Rust στο Raspberry Pi Pico

Αν αισθάνεστε κακοδιάθετοι επειδή είστε ένας Rustacean που ανυπομονεί να γράψει στη γλώσσα της προτίμησής του, τότε σας έχω καλά νέα.

Στο επίκεντρο βρίσκεται το επίπεδο αφαίρεσης υλικού RP2040 που που μπορείτε να βρείτε στο GitHub (με το όνομα rp-hal). Λειτουργεί για πολλές πλακέτες που χρησιμοποιούν τον μικροελεγκτή RP2040 εκτός από το Raspberry Pi Pico.

Εδώ είναι ένα βίντεο που σας δείχνει πώς να το ρυθμίσετε.

Τι είναι το UF2 και γιατί χρησιμοποιείται τόσο πολύ στο Raspberry Pi Pico;

Είναι μαγικό. Σέρνετε ένα αρχείο UF2 στο Raspberry Pi Pico και ξαφνικά το επανατοποθετεί με νέο όνομα ή αναβοσβήνει ξαφνικά μια λυχνία LED.

UF2 (U F τετράγωνο) σημαίνει USB Flashing Format. Όταν το μεταφέρετε στο Raspberry Pi σας, μεταφέρετε τον κώδικά σας εκτός από τις οδηγίες για τον bootloader, ώστε να ξέρει τι να κάνει με αυτό που έχετε ανεβάσει.

Σύνδεση του Pico μέσω του σειριακού τερματικού

Windows

Η σύνδεση με το Pico μέσω του σειριακού τερματικού είναι εύκολη και έχουμε έναν οδηγό εδώ.

Σύνδεση σε ένα Raspberry Pi 4 (Linux)

Για να συνδέσετε το Raspberry Pi Pico σε ένα Raspberry Pi 4, μπορείτε να χρησιμοποιήσετε είτε ακίδες USB είτε UART, minicom και μερικά καλώδια βραχυκυκλωμάτων.

Raspberry Pi Ξεκινώντας με το Pico έχει όλες τις πληροφορίες του κεφαλαίου 4, και συγκεκριμένα των σημείων 4.4 και 4.5.

Αποσφαλμάτωση του Raspberry Pi Pico

Τι χρησιμεύουν αυτές οι τρεις ακίδες στο κάτω μέρος;

καρφίτσες εντοπισμού σφαλμάτων raspberry pi pico
Καρφίτσες εντοπισμού σφαλμάτων Raspberry Pi Pico

Αυτές οι ακίδες θα σας δώσουν τη δυνατότητα να επαναφέρετε το Pico, να φορτώσετε κώδικα στο flash, να εκτελέσετε τον κώδικα και, το σημαντικότερο, να έχετε δυνατότητες εντοπισμού σφαλμάτων.

Το μεγαλύτερο πλεονέκτημα είναι οι προηγμένες δυνατότητες εντοπισμού σφαλμάτων που μπορείτε να αποκτήσετε από αυτές τις ακίδες. Είστε πλέον σε θέση να κάνετε πολύ πιο λεπτομερή ανάλυση κώδικα, επειδή μπορείτε:

  1. Ορίστε σημεία διακοπής στον κώδικά σας. Τα σημεία διακοπής σας επιτρέπουν να διακόψετε την περαιτέρω εκτέλεση του κώδικα, ενώ ελέγχετε τις τιμές των μεταβλητών σας, για παράδειγμα.
  2. Προχωρήστε στην εκτέλεση του κώδικα γραμμή προς γραμμή. Πότε όλα πάνε στραβά; Η εξέταση γραμμής προς γραμμή διευκολύνει την αποσφαλμάτωση.

Μπορούν να συνδεθούν σε έναν μικροϋπολογιστή Raspberry Pi μέσω των ακροδεκτών GPIO. Αν θέλετε να το συνδέσετε σε άλλα μηχανήματα, πιθανότατα μέσω USB, τότε θα χρειαστείτε έναν ανιχνευτή εντοπισμού σφαλμάτων.

Ένα Raspberry Pi Pico μπορεί επίσης να λειτουργήσει ως ανιχνευτής εντοπισμού σφαλμάτων που συνδέει τον υπολογιστή σας με το Pico στο οποίο θέλετε να εργαστείτε. Σκεφτείτε το ως εξής: ο υπολογιστής σας δεν διαθέτει τις ακίδες GPIO που απαιτούνται για τη δημιουργία μιας σύνδεσης UART/SWD, οπότε θα χρησιμοποιήσετε ένα Pico για να παρέχει αυτές τις συνδέσεις μαζί με το picoprobe υλικολογισμικό που θα το ενεργοποιήσει.

Ωστόσο, αν σκοπεύετε να χρησιμοποιήσετε το SWD για αποσφαλμάτωση, θα πρέπει να χρησιμοποιήσετε μια σειριακή σύνδεση με βάση UART και όχι μια σύνδεση USB. Η αποσφαλμάτωση σταματά τους πυρήνες του RP2040, γεγονός που θα προκαλέσει την αποσύνδεση της σύνδεσης USB.

Ας μιλήσουμε λίγο για το τι κάνει κάθε ακίδα:

SWDIO: Ο ακροδέκτης Debug Input/Output του σειριακού καλωδίου μεταφέρει την κίνηση εντοπισμού σφαλμάτων μεταξύ του RP2040 και του κεντρικού υπολογιστή (ενός υπολογιστή πλήρους μεγέθους ή ενός μικροϋπολογιστή Raspberry Pi, για παράδειγμα).

GND: Ground. Απαιτείται για τη διατήρηση καλής ακεραιότητας σήματος μεταξύ του κεντρικού υπολογιστή και του Pico.

SWCLK: Ο ακροδέκτης ρολογιού του σειριακού καλωδίου συγχρονίζει τη σύνδεση.

Το καλύτερο που έχετε να κάνετε είναι να ανατρέξετε στο Ξεκινώντας με το Pico datasheet από το Raspberry Pi, με ιδιαίτερη έμφαση στα κεφάλαια 5, 6 και στο Παράρτημα Α: χρήση του Picoprobe.

Έργα Raspberry Pi Pico

Ακολουθούν μερικά καλά έργα για αρχάριους που μπορείτε να ξεκινήσετε με ελάχιστα επιπλέον εξαρτήματα.

Εύκολο πληκτρολόγιο sArCasM και πληκτρολόγιο μακροεντολών

Αυτό είναι ένα διασκεδαστικό έργο που θα σας επιτρέψει να δημιουργήσετε έναν τροποποιητή που μετατρέπει την κανονική πληκτρολόγηση σε περίπτωση σαρκασμού. Σοβαρά, γνωρίζοντας πώς να χρησιμοποιήσετε τη βιβλιοθήκη HID της Adafruit με έναν διακόπτη θα σας επιτρέψει να δημιουργήσετε μακροεντολές πλήκτρων.

Αν θέλετε να πληκτρολογήσετε sArCaSm σε κλίμακα, είναι αρκετά κουραστικό. Υπάρχει ένας πολύ εύκολος τρόπος για να το κάνετε με το Raspberry Pi Pico.

Δεν χρειάζεστε τίποτα πέρα από το Raspberry Pi Pico για τον πιο βασικό σχεδιασμό. Ωστόσο, το Raspberry Pi Pico σας θα πρέπει να διαθέτει το CircuitPython με τη βιβλιοθήκη HID της Adafruit.

Στην κανονική λειτουργία του Thonny, μεταβείτε στο Εργαλεία -> Διαχείριση πακέτων και αναζητήστε adafruit-circuitpython-hid. Εγκαταστήστε το.

Βεβαιωθείτε επίσης ότι χρησιμοποιείτε τον διερμηνέα CircuitPython, που βρίσκεται κάτω δεξιά στο Thonny.

Βάλτε αυτόν τον κώδικα,

import time
import board
import usb_hid
from adafruit_hid.keyboard import Keyboard
from adafruit_hid.keycode import Keycode

keyboard = Keyboard(usb_hid.devices)

while True:

        keyboard.press(Keycode.CAPS_LOCK)
        time.sleep(0.2)
        keyboard.release(Keycode.CAPS_LOCK)

Ανεβάστε τον κώδικα στο Pico σας. Εάν χρειάζεται, πατήστε το κουμπί RUN στο Thonny.

Τώρα, κάθε φορά που συνδέετε το Raspberry Pi Pico με τον υπολογιστή... Περιμένετε το ΜΑΓΝΗΤΙΚΟ ΧΑΡΑΚΤΗΡΑ ΑΚΡΙΒΩΣ ΜΠΡΟΣΤΑ ΑΠΟ ΤΑ ΜΑΤΙΑ ΣΑΣ.

Αυτό που κάνει αυτό το σενάριο είναι ότι ενεργοποιεί και απενεργοποιεί το Caps Lock κάθε 0,2 δευτερόλεπτα, όπως δηλώνεται στο time.sleep(0.2). Αν αλλάξετε την τιμή μέσα στις αγκύλες, μπορείτε να ρυθμίσετε τη συχνότητα εναλλαγής των περιπτώσεων.

Προσθήκη ενός διακόπτη σε αυτό το έργο

προσθήκη διακόπτη στο raspberry pi pico

Αυτός ο βασικός σχεδιασμός έχει το μειονέκτημα ότι πρέπει να τραβήξετε το USB για να σταματήσει ο σαρκασμός.

Ας προσθέσουμε έναν διακόπτη που θα μας επιτρέπει να ενεργοποιούμε και να απενεργοποιούμε αυτή τη λειτουργία.

Ας κρατήσουμε επίσης το LED του πίνακα αναμμένο όταν ενεργοποιείται ο σαρκασμός.

Διάγραμμα για τη σύνδεση ενός διακόπτη στο Raspberry Pi Pico χρησιμοποιώντας το Wokwi.

Ένας διακόπτης με μπουτόν έχει τέσσερις ακίδες. Συνδέστε την ακίδα 3,3V και το GPIO 22 (που επισημαίνεται ως GP 22) στις διαγωνίως αντίθετες πλευρές του μπουτόν.

Αυτό που συμβαίνει εδώ είναι ότι όταν πατάτε τον διακόπτη, θα συνδέσετε τα 3,3V στην ακίδα GPIO 22, ενεργοποιώντας την έτσι, με απλά λόγια, το διακόπτη.

Αυτή είναι η μόνη φυσική τροποποίηση που πρέπει να κάνετε. Είναι πολύ εύκολη.

Όσον αφορά τον κώδικα, αυξήθηκε κατά αρκετές γραμμές, (έντονα = που σχετίζονται με το κουμπί, πλάγια = που σχετίζονται με LED)

import time
import digitalio
import board
import usb_hid
from adafruit_hid.keyboard import Keyboard
from adafruit_hid.keycode import Keycode

keyboard = Keyboard(usb_hid.devices)

<strong>btn1_pin = board.GP22
btn1 = digitalio.DigitalInOut(btn1_pin)
btn1.direction = digitalio.Direction.INPUT #GP22 is an input
btn1.pull = digitalio.Pull.DOWN #DOWN means it outputs False

</strong>
<em>led = digitalio.DigitalInOut(board.LED)
led.direction = digitalio.Direction.OUTPUT</em> #powering LED, so give it OUTPUT
 
activated = False #this variable stores if sarcasm is on or off

while True:
    <strong>if btn1.value: #if user presses btn1, start sarcasm
        activated = True</strong>
        
    if activated:
        <em>led.value = True</em> #turn on board LED
        keyboard.press(Keycode.CAPS_LOCK)
        time.sleep(0.2)
        keyboard.release(Keycode.CAPS_LOCK)
        if <strong>btn1.value: #if user presses btn1 while activated, cancels sarcasm
            activated = False
            <em>led.value = False</em> #turn off LED
            time.sleep(0.2)</strong> 
            <strong>#pauses while loop to give user time to remove finger from btn1</strong>

Μετατροπή του πληκτρολογίου σαρκασμού σε πληκτρολόγιο μακροεντολών

Μπορείτε να χρησιμοποιήσετε το κουμπί για να ενεργοποιήσετε μακροεντολές όπως ALT + TAB, CTRL + ALT + DEL ή οτιδήποτε άλλο μέχρι έξι κανονικά πλήκτρα.

Απλά πρέπει να τροποποιήσετε τα πλήκτρα μέσα σε αυτή τη μέθοδο keyboard.press και keyboard.release.

import time
import digitalio
import board
import usb_hid
from adafruit_hid.keyboard import Keyboard
from adafruit_hid.keycode import Keycode

keyboard = Keyboard(usb_hid.devices)

btn1_pin = board.GP22
btn1 = digitalio.DigitalInOut(btn1_pin)
btn1.direction = digitalio.Direction.INPUT
btn1.pull = digitalio.Pull.DOWN

while True:
    if btn1.value:
        <strong>keyboard.press(Keycode.ALT,Keycode.TAB )</strong>
        time.sleep(0.2)
        <strong>keyboard.release(Keycode.ALT,Keycode.TAB)</strong>

Υπάρχουν πολλά άλλα πράγματα που μπορείτε να κάνετε με αυτό το hack πληκτρολογίου. Για παράδειγμα, θα μπορούσατε να το χρησιμοποιήσετε για να σταματήσετε την εμφάνιση του screensaver σας πατώντας ένα ακίνδυνο πλήκτρο όπως το Page Up. Ή θα μπορούσατε να το χρησιμοποιήσετε ειδικά για να ελέγξετε το Zoom, το Discord, το OBS, το Meet κ.λπ.

Δεδομένα θερμοκρασίας/υγρασίας με DHT22

raspberry pi pico dht22

Αν έχετε έναν αισθητήρα DHT11, DHT22 ή AM2302, μπορείτε να τον χρησιμοποιήσετε με το Raspberry Pi Pico.

Αυτοί οι αισθητήρες θα ήταν πιθανότατα καλύτερο να συνδυαστούν με μια οθόνη LCD ή έναν τρόπο για να αποθηκεύσετε τα δεδομένα, αλλά ας ξεκινήσουμε με ένα έργο γρήγορης εκκίνησης.

Χρειάζεστε τρία καλώδια βραχυκυκλώματος, ακροδέκτες στο Raspberry Pi Pico και μια αντίσταση 10Κ. Το παρακάτω πακέτο έχει όλα όσα χρειάζεστε, εκτός από το Raspberry Pi Pico με τις κεφαλίδες.

Είναι πραγματικά εύκολο με το Thonny, το CircuitPython και τη βιβλιοθήκη DHT της Adafruit.

Τα παρακάτω βήματα χρησιμοποιούν το DHT22.

Σύνδεση του αισθητήρα DHT22 στο Raspberry Pi Pico

Η σύνδεση του DHT22 με το Pico είναι πολύ εύκολη.

raspberry pi pico dht22

Υπάρχουν τέσσερις ακίδες στο DHT22. Από αριστερά προς τα δεξιά, με την πλευρά με το πλέγμα προς το μέρος σας, οι ακίδες είναι οι εξής VCC, ΔΕΔΟΜΕΝΑ, NC και GND. Δεν θα χρειαστεί να συνδέσετε το NC.

Συνδέστε το VCC στο Καρφίτσα 3,3V στο Pi.

Συνδέστε την αντίσταση 10Κ από τα 3,3V στο ΔΕΔΟΜΕΝΑ, τότε συνδέστε ΔΕΔΟΜΕΝΑ στο GP0. Αυτό γίνεται ευκολότερα με ένα breadboard, ώστε να μπορείτε να χωρίσετε τα 3,3V. Όπως φαίνεται στην παραπάνω φωτογραφία, μια αντίσταση πηγαίνει από την πιο αριστερή ακίδα στην δεύτερη ακίδα, καθώς επίσης, το πράσινο καλώδιο είναι συνδεδεμένο με το GPIO 0.

Συνδέστε το GND σε οποιοδήποτε ακροδέκτη γείωσης του Raspberry Pi Pico.

Τελειώσατε. Ήρθε η ώρα για το λογισμικό.

raspberry pi pico dht22
Διάγραμμα κατασκευασμένο από το Wokwi.

Κωδικοποίηση του DHT22 στο Thonny για το Raspberry Pi Pico

Πρώτον, ανοίξτε το Thonny και κάντε το Regular Mode και το CircuitPython (κάτω δεξιά). Ένας πιο λεπτομερής οδηγός για το Thonny και το CircuitPython είναι διαθέσιμος παραπάνω.

Πηγαίνετε στο Εργαλεία -> Διαχείριση πακέτων -> αναζήτηση για adafruit-circuitpython-dht.

raspberry pi pico dht22

Στη συνέχεια, εισαγάγετε αυτόν τον κωδικό που παρέχεται από την Adafruit.

import time

import adafruit_dht
import board

dht = adafruit_dht.DHT22(board.GP0)

while True:
    try:
        temperature = dht.temperature
        humidity = dht.humidity
        # Print what we got to the REPL
        print("Temp: {:.1f} *C \t Humidity: {}%".format(temperature, humidity))
    except RuntimeError as e:
        # Reading doesn't always work! Just print error and we'll try again
        print("Reading from DHT failure: ", e.args)

    time.sleep(1)

Τύπος Εκτέλεση στο Thonny και θα πρέπει να δείτε μια έξοδο:

pi dht22

Οθόνη Raspberry Pi Pico

Το Raspberry Pi Pico είναι πολύ καλό επειδή μπορεί να εμφανίζει εικόνες.

Το μειονέκτημα είναι ότι απαιτεί αρκετή δουλειά, κάποιες τεχνικές γνώσεις και θα έχετε εικόνες που θα μοιάζουν σαν να είναι από την εποχή των Windows 3.1.

Γιατί; Λόγω της περιορισμένης μνήμης RAM των 264KB. Αυτό περιορίζει την ανάλυση και το βάθος χρώματος της οθόνης σας.

Τούτου λεχθέντος, εδώ είναι μερικά παραδείγματα για το πώς μπορείτε να εξάγετε.

Εύκολη έξοδος βίντεο με υποδοχή DVI

Ο ευκολότερος τρόπος εξόδου βίντεο είναι να ακολουθήσετε τον οδηγό μας και να χρησιμοποιήσετε την υποδοχή DVI ή την πλακέτα επέκτασης VGA & ήχου. Η κάλτσα DVI χρησιμοποιεί καλώδιο HDMI, το οποίο είναι πιθανότατα η πιο συμβατή θύρα με τις σημερινές συσκευές.

Διαβάστε ολόκληρο το άρθρο εδώ για το πώς μπορείτε να ξεκινήσετε

DIY τρόποι σύνδεσης του Pico στην οθόνη

Υπάρχουν και άλλοι τρόποι εξόδου βίντεο χωρίς την αγορά περιφερειακών συσκευών.

Ο Miroslav Nemecek έγραψε ένα άρθρο σχετικά με το πώς μπορείτε να χρησιμοποιήσετε οκτώ αντιστάσεις και μια θύρα VGA για τη σύνδεση μιας οθόνης στο Raspberry Pi Pico.

Και εδώ είναι ένας τρόπος με τον οποίο μπορείτε να χρησιμοποιήσετε ένα καλώδιο HDMI και αντιστάσεις για να συνδέσετε το Pico σε μια οθόνη HDMI.

Κατανάλωση ενέργειας Raspberry Pi Pico

Το φύλλο δεδομένων Pico του Raspberry Pi μας παρέχει μια καλή βάση για να καταλάβουμε πόση κατανάλωση ενέργειας μπορείτε να περιμένετε από το Pico με βάση ορισμένες τυπικές χρήσεις.

Αυτά τα στοιχεία δεν αντιπροσωπεύουν το απόλυτο μέγιστο που μπορείτε να αντλήσετε από το Raspberry Pi Pico, αλλά αποτελούν ένα καλό σημείο εκκίνησης.

Η πρώτη δοκιμή περιελάμβανε πρόσβαση σε βίντεο, ήχο και κάρτα SD για την προβολή ενός demo προγράμματος αναπαραγωγής πολυμέσων "Popcorn" μέσω της πλακέτας VGA, της κάρτας SD και του ήχου.

Κράτος
Παίζοντας Ποπ κορν (βίντεο, ήχος, κάρτα SD)93.5mA
Λειτουργία BOOTSEL, ενεργή9,9mA
Λειτουργία DORMANT0,8mA
Λειτουργία SLEEP1.3mA

Ίσως αναρωτιέστε: ποια είναι η διαφορά μεταξύ του DORMANT και του SLEEP;

Το Dormant απαιτεί ένα εξωτερικό σκανδάλη που χειρίζεται έναν ακροδέκτη GPIO για να ξυπνήσει το Raspberry Pi Pico, ενώ το SLEEP μπορεί να τρέξει ένα εσωτερικό ρολόι για να ξυπνήσει το RP2040, όπως φαίνεται στο Φύλλο δεδομένων RP2040.

Στις Συχνές ερωτήσεις για το Raspberry Pi Pico, διευκρινίζουν περαιτέρω ότι,

"Η λειτουργία SLEEP είναι όταν οι επεξεργαστές βρίσκονται σε wfi/wfe και το DMA είναι ανενεργό, οπότε μπορείτε να απενεργοποιήσετε τα περισσότερα ρολόγια του συστήματος, συμπεριλαμβανομένων πραγμάτων όπως το bus fabric.
Η λειτουργία DORMANT είναι όταν κλείνετε όλους τους ταλαντωτές, και έτσι είναι ακόμα χαμηλότερη η ισχύς, αλλά τότε έχετε λιγότερες επιλογές για την αφύπνιση."

Μπορώ να λειτουργήσω το Raspberry Pi Pico από ένα power bank;

raspberry pi pico power bank μπαταρία

Ναι, μπορείτε.

Όμως το Raspberry Pi Pico ενδέχεται να μην τραβάει αρκετή ενέργεια από το power bank και να αναγκάσει το power bank να μεταβεί σε λειτουργία εξοικονόμησης ενέργειας.

Η λύση είναι, δυστυχώς, να τραβήξετε περισσότερη ενέργεια βάζοντας μια αντίσταση μεταξύ της τράπεζας ενέργειας και του Raspberry Pi Pico. Ακολουθεί ένα βίντεο που εξηγεί τις λεπτομέρειες.

Τροφοδοσία του Pico (τάσεις)

Το Raspberry Pi Pico μπορεί να τροφοδοτηθεί με ρεύμα χρησιμοποιώντας τη θύρα microUSB. Αυτό τροφοδοτεί το VSYS από την τάση 5V VBUS, μέσω του D1.

Εάν δεν χρησιμοποιείτε τη θύρα USB για την τροφοδοσία του Raspberry Pi Pico, τότε μπορείτε να συνδέσετε το VSYS στην πηγή τροφοδοσίας σας στα 1,8V έως 5,5V.

Ωστόσο, αν συνδέετε και τα δύο, θα πρέπει να τροφοδοτήσετε τη δεύτερη πηγή τροφοδοσίας στο VSYS μέσω μιας διόδου Schottky, η οποία αποτρέπει την αντίστροφη τροφοδοσία της άλλης τροφοδοσίας. Η δίοδος Schottky θα επιτρέψει επίσης τη ροή της υψηλότερης τάσης είτε της τάσης VBUS είτε της εξωτερικής τάσης.

Ωστόσο, υπάρχει μια πτώση τάσης πάνω από τη δίοδο Schottky, οπότε θα πρέπει να τροφοδοτήσετε μια τάση από 2,3V έως 5,5V.

Αυτό σημαίνει ότι μπορείτε να τροφοδοτήσετε το Raspberry Pi Pico με τουλάχιστον 2x επαναφορτιζόμενες μπαταρίες νικελίου (2,4V) ή 1x μπαταρία λιθίου (3,7V).

Για να μην χάσετε απόδοση με τη χρήση της διόδου Schottky, μπορείτε να χρησιμοποιήσετε ένα MOSFET καναλιού P με χαμηλή αντίσταση.

Για περισσότερες πληροφορίες, δείτε το Φύλλο δεδομένων Raspberry Pi Pico.

Μπορώ να τροφοδοτήσω το Raspberry Pi Pico από το USB μιας τηλεόρασης;

Ναι, μπορείτε. Εδώ είναι μια εικόνα όπου αναβοσβήνει η εσωτερική λυχνία LED.

κατανάλωση ενέργειας raspberry pi pico (2)

Μια τυπική θύρα USB θα πρέπει να μπορεί να παρέχει έως και 500mA, που είναι πολύ περισσότερα από όσα χρειάζεται το Raspberry Pi Pico. Όπως μπορείτε να δείτε στις δοκιμές κατανάλωσης ενέργειας που έκανε το Raspberry Pi, η πιο έντονη δοκιμή κατανάλωσε μόνο περίπου 90mA.

Ενδέχεται να αντιμετωπίσετε προβλήματα εάν η εγκατάσταση Raspberry Pi Pico τραβάει περισσότερα από 500mA, για παράδειγμα, εάν το Pico τρέχει περιφερειακές συσκευές που καταναλώνουν πολλή ενέργεια.

Raspberry Pi Pico έναντι άλλων πλακετών

Το Raspberry Pi Pico εισήλθε αργά στον κόσμο των μικροελεγκτών, καθώς κυκλοφόρησε μόλις το 2021. Υπάρχει ήδη έντονος ανταγωνισμός στον κόσμο των μικροελεγκτών με τους ESP32 και τους Arduinos, οι οποίοι διαθέτουν πολλές παραλλαγές που μπορούν να σας βοηθήσουν να ξεκινήσετε το έργο σας με τα κατάλληλα χαρακτηριστικά, όπως το WiFi.

Δεν υπάρχουν παραλλαγές με το Raspberry Pi Pico, οπότε θα πρέπει να αγοράσετε HATs και άλλα πρόσθετα για να επιτύχετε τον ίδιο στόχο.

Επιπλέον, αν πρόκειται να προσθέσετε πολλά εξαρτήματα... πότε θα είναι καιρός να αγοράσετε απλώς έναν μικροϋπολογιστή;

Ας απαντήσουμε σε αυτό εξετάζοντας το ESP32, το Arduino Uno και το Raspberry Pi Zero.

Raspberry Pi Pico vs Espressif ESP32

Το ESP32 είναι ένα μεγάλο βήμα μπροστά από το Raspberry Pi Pico όσον αφορά τις τεχνολογικές του δυνατότητες. Για λόγους σύγκρισης, επέλεξα την παραλλαγή PICO-KIT επειδή μου φάνηκε πιο παρόμοια ως προς τον παράγοντα μορφής με το Pico.

Πρώτον, η ύπαρξη WiFi και Bluetooth αλλάζει σημαντικά το παιχνίδι. Για παράδειγμα, θα μπορείτε να εκτελέσετε έναν διακομιστή στο Espressif ESP32 που θα εμφανίζει τις τιμές του αισθητήρα σας, ενώ δεν θα μπορείτε να το κάνετε αυτό στο Raspberry Pi Pico.

Το ESP32 διαθέτει επίσης ταχύτερο επεξεργαστή, περισσότερη μνήμη RAM και περισσότερη μνήμη flash, αλλά όλα αυτά έχουν ως κόστος την υψηλότερη κατανάλωση ενέργειας.

Το Raspberry Pi Pico είναι λίγο πιο μετριοπαθές στις προδιαγραφές του, αλλά δύο πράγματα ξεχωρίζουν. Το γεγονός ότι μπορεί να δεχτεί τάσεις από 1,8 V έως 5,5 V σας δίνει πραγματικά τη δυνατότητα να χρησιμοποιήσετε μία μπαταρία λιθίου, γεγονός που δημιουργεί ένα πολύ συμπαγές πακέτο. Αυτό δεν θα ήταν εφικτό με το ESP32, εκτός αν τροποποιούσατε την τάση 3,7 V από τη μία μπαταρία λιθίου.

Raspberry Pi PicoEspressif ESP32-PICO-KIT
Συχνότητα CPU133MHz80/160/240MHz
ΜικροελεγκτήςRP2040Xtensa LX6
Πυρήνες22
Μνήμη Flash2MB4MB
RAM256KB520KB
GPIO26 (χρησιμοποιήσιμο από τον χρήστη)36
Έχει USB;microUSBmicroUSB
WiFi ή/και BT;ΌχιΝαι, και τα δύο
Τάση1.8 - 5.5V ή 5V USB3,3V (μέσω ακροδεκτών) ή 5V μέσω USB ή 5V-12V (μέσω ρυθμιστή τάσης)
Κατανάλωση ενέργειας (με δραστηριότητα)93mA (δοκιμή Popcorn)100-128mA1
Μέγεθος51x21mm52x20mm
ΓλώσσεςMicroPython / CMicroPython / C

Σημείωση: τα στοιχεία κατανάλωσης ενέργειας για το ESP32 είναι η εκτέλεση ενός προγράμματος με κενό βρόχο.

Raspberry Pi Pico vs Arduino Uno Rev3

arduino pi zero
Φωτογραφία από Harrison Broadbent.

Η Arduino δημιουργεί μια σειρά από πλακέτες και όσον αφορά τον παράγοντα μορφής, το Arduino Nano είναι πιθανότατα το πιο κοντινό, με διαστάσεις 45 x 18 χιλιοστά. Η Arduino παράγει επίσης μια πλακέτα που χρησιμοποιεί τον μικροελεγκτή RP2040.

Ωστόσο, η πιο συνηθισμένη πλακέτα είναι η Arduino Uno Rev3, οπότε ας ρίξουμε μια ματιά στο πώς συγκρίνονται αυτές οι δύο πλακέτες.

Raspberry Pi PicoArduino Uno Rev3
Συχνότητα CPU133MHz16 MHz
ΜικροελεγκτήςRP2040ATmega328P
Μνήμη Flash2MB32KB
RAM256KB2KB
GPIO26 (χρησιμοποιήσιμο από τον χρήστη)14 ψηφιακά, 6 αναλογικά
Έχει USB;microUSBUSB B
WiFi ή/και BT;ΌχιΔιαθέσιμη παραλλαγή WiFi
Τάση1.8 - 5.5V ή 5V USB6-20V (συνιστάται 7-12V) ή μέσω USB.
Μέγεθος51x21mm68x53mm
ΓλώσσεςMicroPython / CC

Για τους αρχάριους, μια από τις μεγαλύτερες διαφορές που πρέπει να σημειώσετε είναι ότι το Arduino Uno λειτουργεί με λογική 5V ενώ το Raspberry Pi Pico λειτουργεί με λογική 3,3V.

Τα 5V μπορούν ενδεχομένως να διευκολύνουν τα πράγματα για τους αρχάριους, επειδή ορισμένα εξαρτήματα απαιτούν είσοδο 5V, όπως τα ρελέ. Εάν έχετε ένα εξάρτημα 5V που θέλετε να λειτουργήσει στο Raspberry Pi Pico, θα πρέπει να προμηθεύσετε πρόσθετα εξαρτήματα για την ανύψωση των 3,3V σε 5V.

Η άλλη διαφορά είναι ότι το Arduino Uno είναι ανοιχτού κώδικα, πράγμα που σημαίνει ότι μπορείτε να αγοράσετε φθηνότερες πλακέτες που έχουν ακριβώς τις ίδιες δυνατότητες. Τούτου λεχθέντος, το Raspberry Pi Pico είναι ήδη εξαιρετικά φθηνό με $4 ή 4,10€.

Το Arduino Uno δέχεται επίσης ένα πολύ ευρύτερο φάσμα τάσεων (7-12V συνιστάται), πράγμα που σημαίνει ότι μπορείτε να το λειτουργήσετε με πολλούς τύπους τροφοδοτικών.

Όσον αφορά τις γλώσσες προγραμματισμού, το Pico έχει το πλεονέκτημα ότι σας επιτρέπει να προγραμματίσετε σε MicroPython, ενώ για το Arduino θα πρέπει να γράψετε C. Τούτου λεχθέντος, το Arduino διαθέτει μια μεγαλύτερη βιβλιοθήκη που διευκολύνει την εργασία με εξαρτήματα.

Raspberry Pi Pico vs Raspberry Pi Zero

pi zero pi pico
Φωτογραφία από Harrison Broadbent.

Σε κάποιο βαθμό, το Pico και το Zero έχουν επικαλυπτόμενες δυνατότητες. Σε απλά κυκλώματα, μπορείτε να χρησιμοποιήσετε το Pico και το Zero για να κάνετε ακριβώς το ίδιο πράγμα.

Αλλά ο τρόπος με τον οποίο θα φτάσετε στο ίδιο σημείο θα διαφέρει μεταξύ του Pico και του Zero.

Ακολουθεί η λογική που χρησιμοποιώ για να αποφασίσω ποια θα χρησιμοποιήσω:

ΣενάριοΤι να πάρετε
Είμαι καλύτερος σε μια γλώσσα εκτός της C/PythonΜηδέν
Έχω "απεριόριστη" ισχύ (δηλαδή περίπτωση χρήσης χωρίς ηλιακή ενέργεια ή μπαταρία)Μηδέν
Χρειάζομαι WiFi ή/και BluetoothΜηδέν
Πρέπει να αποθηκεύσω δεδομένα (όπως αρχεία καταγραφής θερμοκρασίας)Μηδέν
Πρέπει να χρησιμοποιήσω μια φωτογραφική μηχανήΜηδέν
Χρειάζομαι την πιο συμπαγή ρύθμισηPico
Χρειάζομαι γρήγορη επανεκκίνηση σε περίπτωση συντριβής/διακοπής ρεύματοςPico
Δεν θέλω να δημιουργήσω ένα λειτουργικό σύστημαPico
Θέλω τη φθηνότερη επιλογήPico

Μια πιο λεπτομερής περιγραφή των λόγων για τους οποίους θα επιλέξετε το Pico ή το Zero είναι η εξής καλύπτεται παραπάνω, και αυτός ο σύνδεσμος θα σας μεταφέρει σε αυτό.

Raspberry Pi Pico vs Teensy 4.1

Το Teensy 4.1 είναι μια εξαιρετικά ισχυρή πλακέτα λόγω του τσιπ ARM Cortex-M7 που λειτουργεί στα 600MHz.

Το Teensy 4.1, που κυκλοφόρησε από την PJRC το 2021, θα απευθυνόταν σε άτομα που χρειάζονται κάτι με μεγάλη επεξεργαστική ισχύ, μνήμη RAM, μνήμη flash, ethernet και περισσότερες ακίδες GPIO από αυτές που θα βρείτε στο Raspberry Pi Pico.

Έχετε 55 ακίδες εισόδου/εξόδου, αλλά μόνο 42 είναι "breadboardable". Υπάρχουν 35 ακίδες PWM, 18 αναλογικές είσοδοι, 8 σειριακές, 3 SPI και 3 I2C.

Εκεί που το Raspberry Pi Pico λάμπει είναι η απλότητά του. Αν μόλις μαθαίνετε και θέλετε τον ευκολότερο τρόπο για να ξεκινήσετε απλές εργασίες, το Raspberry Pi Pico προσφέρει τον ευκολότερο τρόπο για να ξεκινήσετε.

Για παράδειγμα, η γλώσσα προγραμματισμού του Raspberry Pi Pico είναι η MicroPython, ενώ το Teensy 4.1 προγραμματίζεται κυρίως σε C.

Είναι επίσης πολύ εύκολο να χρησιμοποιήσετε το CircuitPython στο Raspberry Pi Pico, γεγονός που διευκολύνει τη δημιουργία έργων.

Η τιμή του Teensy 4.1, στα $26,85, είναι αρκετά υψηλότερη από το $4 Raspberry Pi Pico.

Επιπλέον, είναι πολύ πιο εύκολο να τροφοδοτήσετε το Raspberry Pi Pico με μπαταρία λόγω της μεγάλης τάσης που μπορεί να δεχτεί.

Raspberry Pi PicoTeensy 4.1
Συχνότητα CPU133MHz600MHz
Μνήμη Flash2MB8MB
RAM256KB1024KB
GPIO26 (χρησιμοποιήσιμο από τον χρήστη)55 ψηφιακά, 18 αναλογικά
Έχει USB;microUSBmicroUSB
WiFi ή/και BT;ΌχιΌχι, αλλά διαθέτει Ethernet
Τάση1.8 - 5.5V ή 5V USB5V μέσω USB ή VIN
Μέγεθος51x21mm61x15mm

Raspberry Pi Pico downloads

Έχω συντάξει έναν κατάλογο με αρχεία που μπορούν να σας βοηθήσουν στα έργα σας. Τα περισσότερα από αυτά βρίσκονται στο υποτομέας datasheet του Raspberry Pi και αυτά που βρίσκονται εδώ είναι αυτά που αφορούν το Raspberry Pi Pico.

Αναφορές

Raspberry Pi Pico pinout

Σχηματικά σχέδια Raspberry Pi Pico

Φύλλο δεδομένων Raspberry Pi Pico (σχετικά με το Pico, μηχανικές/ηλεκτρικές προδιαγραφές, χαρακτηριστικά, τροφοδοσία, αποσφαλμάτωση, σχηματικό διάγραμμα, θέση εξαρτημάτων)

Σύντομη περιγραφή προϊόντος Raspberry Pi Pico (κατάστρωμα μάρκετινγκ)

Φύλλο δεδομένων RP2040

Raspberry Pi Pico Fritzing αρχείο

Συχνές ερωτήσεις για το Raspberry Pi Pico

10 περίεργα γεγονότα για το Raspberry Pi Pico

Προγραμματισμός

Επέκταση C για MicroPython

Raspberry Pi Pico και MicroPython στα Windows

Raspberry Pi Pico Ξεκινώντας με το Pico (για ανάπτυξη σε C/C++)

CircuitPython για Raspberry Pi Pico UF2 αρχείο

Thonny

Ξεκινήστε με το MicroPython στο Raspberry Pi Pico

Τεκμηρίωση του Raspberry Pi Pico C SDK (κιτ ανάπτυξης λογισμικού)

Τεκμηρίωση του Raspberry Pi Pico MicroPython SDK (κιτ ανάπτυξης λογισμικού)

CAD

Raspberry Pi Pico STEP αρχείο

RP2040 ελάχιστο αρχείο KiCAD

Αρχείο RP2040 VGA KiCAD

14 Σχόλια

  1. Antony στις Απρίλιος 18, 2022 στις 11:54 πμ

    Η κατανάλωση ενέργειας δεν είναι 6W, είναι 0,5W (100mA στα 5V)

    • Xuyun Zeng στις Απρίλιος 20, 2022 στις 5:02 πμ

      Γεια σου Αντώνη, το διόρθωσα. Ευχαριστώ για τη συμβολή σου.

    • Rys στις Νοέμβριος 13, 2022 στις 6:49 πμ

      chyba na wyjściach pinów. Tak przynajmniej jest w karcie technologicznej PICO

  2. Andres Nuñez στις Ιούλιος 3, 2022 στις 11:54 μμ

    Puedo conectar por usb una Raspberry Pi Pico con un Arduino Nano. que la rrasberry envíe por usb datos al arduino?

    Gracias

  3. robert στις Σεπτέμβριος 19, 2022 στις 8:47 μμ

    Το pico w έχει wifi τώρα

  4. Arya στις Σεπτέμβριος 24, 2022 στις 7:17 πμ

    > Α, ανέφερα ότι το Raspberry Pi Zero είναι πολύ επιλεκτικό σχετικά με την τάση που του δίνετε; Παίρνει μόνο 4,75 - 5,25V.

    λανθασμένη, αυτή είναι η δηλωμένη προδιαγραφή, αλλά παίρνει χαμηλότερα από αυτό και κάνει θαύματα. δείτε εδώ: https://hackaday.io/project/19035/log/69596

  5. FWBlack στις Οκτώβριος 4, 2022 στις 7:12 μμ

    Πολύ ωραίο κείμενο! Μου άρεσε αυτό: "Για παράδειγμα, ένα από τα έργα μου χρησιμοποιούσε ένα ποτενσιόμετρο για να ρυθμίζει τη συχνότητα μεταγωγής ενός ρελέ." - Αναρωτιόμουν αν θα μπορούσατε να μοιραστείτε λεπτομερώς αυτό το έργο ως παράδειγμα. Χρησιμοποιήσατε PIO / PIO State Machine;

    • Xuyun Zeng στις Οκτώβριος 5, 2022 στις 10:01 πμ

      Δεν χρησιμοποιήθηκε PIO!

      Βασικά, όταν συνδέετε ένα ποτενσιόμετρο σε έναν ADC, θα λάβετε μια τιμή. Στρέφοντας το ποτ θα αυξήσετε ή θα μειώσετε την τιμή.

      Βασικά χρησιμοποίησα αυτές τις τιμές για να δημιουργήσω έναν χρονοδιακόπτη. Έτσι, για παράδειγμα, αν η τιμή είναι 2000, θα αντιστοιχεί σε 2 δευτερόλεπτα ενεργοποίησης, 2 δευτερόλεπτα απενεργοποίησης.

  6. Frabci στις Δεκέμβριος 7, 2022 στις 2:48 πμ

    Buenas, es posible que la raspberry pi pico se queme al recibir de entrada una correinte de 2A pero voltaje de 5V?

    • Xuyun Zeng στις Δεκέμβριος 8, 2022 στις 7:09 πμ

      Χρησιμοποιείτε ένα φορητό κινητό με καλώδιο 2Α; Aunque siempre haya riesgo, creo que el Pico solo tomaria la corriente que necesite, aunque tu cargador puede ponerle 2A (al maximo).

  7. Nigel A Gunn στις Ιανουάριος 20, 2023 στις 9:42 μμ

    Δεν περιορίζεστε σε C ή microPython για προγραμματισμό. Έχω εγκαταστήσει picos με διερμηνείς FORTH και BASIC και υπάρχει πάντα το CircuitPython.

    • raspi berry στις Φεβρουάριος 4, 2023 στις 11:49 πμ

      Σας ευχαριστώ για τα σχόλια - είναι ενδιαφέρον να ξέρετε ότι μπορείτε να εκτελέσετε γλώσσες όπως η FORTH και στο Pico!

  8. Antonio στις Απρίλιος 28, 2023 στις 2:01 μμ

    Su Raspberry Pi Pico W non riesco ad installare la libreria adafruit-circuitpython-hid.
    Inizia l'installazione e dopo un po mi da errore 28 memoria piena.
    dove sbaglio?
    Grazie 1000

  9. PoyFromFrance στις Αύγουστος 28, 2023 στις 10:36 πμ

    Υπέροχο άρθρο! Χρησιμοποίησα ένα Pico για το προσαρμοσμένο πληκτρολόγιό μου με firmware kmk (κύκλωμα βασισμένο σε python) και είναι υπέροχο.
    Αγόρασα πρόσφατα μερικούς κλώνους pico στο aliexpress για μόλις 2,7 δολάρια με τύπο C και 16 mb... Δεν έχουν δοκιμαστεί ακόμα.

Αφήστε ένα σχόλιο