Sari la conținut

Proiect cu Raspberry Pi Pico


roadrunner

Postări Recomandate

hero-desktop-0be741ca0b96c13025520975475

Lucrez la un proiect nou bazat pe un microcontroller care se cheama RP2040 (si placa cu el care costa 4$ sau 6$ varinata cu Wifi) care e facut de Raspebry Pi Foundation (numele lui de artista e RPi Pico  https://www.raspberrypi.com/products/raspberry-pi-pico/)

 

Se poate programa in C sau in Python, eu am ales python ca e ultimul limbaj pe care l-am invatat (in pandemie) si e destul de usor de folosit (are avantaje si dezavantaje pe care nu le discut aici) ideea e ca poti obine destul de repede rezultate spectaculoase cu efort mic. 

Hardware-ul e foarte simplu, MCU e cu doua core-uri ARM si perifericele de baza, ADC, I2C, SPI, PWM, UART, Timere etc. si 265 de KB RAM nu are memorie Flash pe MCU, programul e stocat extern intr-o memorie externa conectata SPI cu MCU.

placuta asta are un port USB (conn micro USB) cu care il conectezi la PC. Prin portul asta se programeaza flash-ul (programul) si devine un port serial cand ruleaza programul.

 

Intrebare de baza e de ce am ales toata dracia asta e din urmatoarele motive

1. Proiectul la care lucrez trebuie sa inregistreze niste date (sa scrie log-uri in fisiere) - si e destul spatiu liber in flash-ul care stocheaza progamul - mai mult poti sa scrii fisiere in flasu-ul ala pentru ca exista o partitie (file system) deja creata unde stau stocate scripturile de python. (deci poti crea directoare si fisiere foarte simplu) - initial am vrut sa atasez un SD card pentru asta dar nu e nevoie ca ma descurc cu ce e deja pe placa.

2. E o gramada de cod pe net (in python) si module car se pot refolosii, de exemplu am atasat un cip de RTC (real time clock) si am adaugat un modul pentru el. Mi-a luat 10 minute sa am RTC-ul funtional.

3. Am nevoie sa masor niste baterii si sa setez niste iesiri PWM - toata astea sunt vreo 10 linii de cod pe care l-am luat din datasheet direct. 

4. Microcontroller-ul se poate cumpara si separat e sub 1$ si se gaseste cam la toti (Farnell/Digikey/Mouser)

 

5. Pentru programare se foloseste un IDE de Python (free) care se poate folosii si direct pentru a scrie python pe PC (sau pe placuta dupa dorinta) - IDE-ul se numeste Thonny si merge pe Windows Linux si MAC

6. Folosesc varianta cu Wifi si rulez un mic server pe Pico ca sa pot vedea si schimba niste parametrii.

 

Pana acum sunt relativ multumit de toata treaba pentru ca am reusit sa implementez o gramada de functii in mai putin de o zi.

  • Thanks 1
Link spre comentariu
Distribuie pe alte site-uri

Multumesc pentru initiativa postari acestui topic. 

 

Spuneam mai demult ca am o placa de dezvoltare produsă cu mikroe cu STM32 for ARM, cumparata acum cativa ani buni in urma si foarte putin am folosit-o. Ma gandeam sa dezvolt un PCB custom cu STM32XXYY in care sa dezvolt o aplicatie cu egalizator audio, LCD si care sa uramreasca tensiunile de polarizare la un amplificator audio de putere, sa poata face diagnosticarea acestuia si vazand acum topicul tau, observ ca tendinta este catre raspberrypi, care are si un pret foarte mic. Nu am facut o comparatie intre ARM-urile STM32 si acest raspberrrypi, dar daca as face o comparatie rapida, un plus l-ar avea ARM-urile STM32 din cauza ca au memorie interna unde se scrie programul. Chiar as vrea sa vad o comparatie mai ampla intre aceste doua device-uri ca sa ma conving daca se merita trecerea.

 

Si bineinteles, un compilator de Python daca ai putea sa recomanzi.

Link spre comentariu
Distribuie pe alte site-uri

@donpetru

pretul e total irelevant pentru ca partea scumpa (la bani) e scrierea software-ului.

Pyhon e free si e un interpretor (adica executa un script scris si stocat in meoria microcontroller-ului) - nu costa nimic iar editorul e foarte simplu. E cumva echivalent ca simplitate cu Arduino. 

La mine decizia a fost foarte simpla si anume

Cum pot sa construiesc ceva in 6 zile pentru client avand cerintele A. B. C.....si sa-i arat cel putin 70% din functionalitate (fara sa fac PCB-uri si lipituri prea multe)

 

cu STM32 (cu care am mult mai multa experienta) si folosing tot python imi lua mai mult din cauza ca nu sunt asa de multe exemple pe net, nu are wifi si nu prea se gasesc cantitati mari (trebuie sa fac 450 buc dupa ce firmware-ul e finalizat si clientul e satisfacut)

 

Revin la faptul ca python e un interpretor ca probabil lumea nu e obisnuita cu termenul.

Un interpretor e un software care ruleaza pe MCU si ai access la un "ecran" (un terminal) unde poti edita si executa un script direct in terminal. In plus ai functii sa slavezi scriptul in memoria interna (sau externa) si daca scriptul respectiv e denumit "main.py" el va fi executat automat la pornire.

 

Evident ca e un pic greoi sa scrii direct la un terminal de aceea lumea foloseste un IDE (care de fapt e un editor text mai colorat) care e conectat cu placa respectiva ca un terminal (un fel de terminal mai frumos)  - IDE=ul poate salva scripturile pe PC sau pe placa depinde unde vrei.

Intr-un fel anume e la fel cu calculatoarele BASIC de odinioara (care era tot un interpretor) dar ai facilitati de save si open la fisiere si multe alte lucruri noi care nu existau pe vremea aia (networking, wifi etc.)

 

RR

 

PS - am uitat un alt motiv pentru care am mers cu RP2040 cei de la Raspberry Pi fundation dau toate fisierele de scheme si PCB pentru Cadence Orcad si e exact ce folosim noi  la firma. Deci iau design-ul si adaug ce am nevoie si e gata in doua zile nu-mi mai bat capul cu partea de procesor si ce mai e pe modulul ala, sau folosesc direct modulul pe placa mea. (inca nu am luat decizia asta)

Editat de roadrunner
  • Thanks 1
Link spre comentariu
Distribuie pe alte site-uri

Creează un cont sau autentifică-te pentru a adăuga comentariu

Trebuie să fi un membru pentru a putea lăsa un comentariu.

Creează un cont

Înregistrează-te pentru un nou cont în comunitatea nostră. Este simplu!

Înregistrează un nou cont

Autentificare

Ai deja un cont? Autentifică-te aici.

Autentifică-te acum
  • Navigare recentă   0 membri

    • Nici un utilizator înregistrat nu vede această pagină.
×
×
  • Creează nouă...

Informații Importante

Folosim cookie-uri și tehnologii asemănătoare pentru a-ți îmbunătăți experiența pe acest website, pentru a-ți oferi conținut și reclame personalizate și pentru a analiza traficul și audiența website-ului. Înainte de a continua navigarea pe www.tehnium-azi.ro te rugăm să fii de acord cu: Termeni de Utilizare.

ATENTIE !!! Functionarea Tehnium Azi depinde de afisarea de reclame.

Pentru a putea accesa in continuoare site-ul web www.tehnium-azi.ro, va rugam sa dezactivati extensia ad block din browser-ul web al vostru. Dupa ce ati dezactivat extensia ad block din browser dati clic pe butonul de mai jos.

Multumim.

Apasa acest buton dupa dezactivarea extensiei Adblock