Page 1 of 1

Raspberry Pi Pico in ARDUINO IDE

Posted: 12 Mar 2022 22:11
by Levy
Buna.

Pentru ca i-mi place sa ma joc cu ce nu pricep :haha: :haha: :haha: am inceput sa ma joc cu un Raspberry Pi Pico :bang:

Si bineinteles, ar trebui programat in micropython, de care habar nu am, si pe moment am prea multe pe cap sa invat si asta.
Asa ca am incercat sa aleg versiunea mai usoara, calea batuta. Arduino ide cu C++.

Am reusit sa imperechez cele doua astfel:

In Arduino IDE la File -> Preferences
Aditional boards manager URL, am adaugat la cele existente pana acum (cel pentru esp8266 si esp32) calea catre board managerul de care are nevoie Raspberry Pi Pico

Code: Select all

https://github.com/earlephilhower/arduino-pico/releases/download/global/package_rp2040_index.json


Image

dupa care click pe OK, inchis deschis Arduino IDE.

Dupa care din Board Manager am instalat board managerul pentru Raspberry Pi Pico

Image

Si bineinteles ca nu aveam portul COM disponibil in Arduino IDE.
Dupa ceva citit pe forumuri, am aflat ca trebuie sa caut in exemple un exemplu scurt, de exemplu BLINK LED, (chiar acesta l-am deschis)
Image

dupa care cu combinatia de taste Alt+Ctrl+ S sau din meniul Sketck -> Export compiled binary
Image

exportam varianta binara comprimata a acestui exemplu.

Obtinem astfel un folder cu numele Blink_copy_ urmat de data compilarii, de exemplu
Image
Care are folderele si fisierele din imaginea de mai sus.
Fisierul care ne intereseaza este cel cu extensia *.uf2 pe care cu DRAG & DROP i-l aruncam in driveul care s-a creat (ca un stick usb) la conectarea Raspberry Pi Pico de laptop cu ajutorul cablului USB-MicroUSB.

Dupa toate acestea Raspberry Pi se restarteaza, si observam cum palpaie led-ul integrat in raspberry Pi Pico.

Pana aici toate par a fi in ordine, insa aici m-am si blocat.
Pentru ca dupa cum stim, Raspberry Pi Pico are incluse in board, un senzor de temperatura si un modul RTC.

Am scris rapid ceva scurt cu care sa afisez temperatura de pe acest senzor, se stie ca acesta nu are alocat o adresa separata, este folosit PIN-ul ADC4, insa aici este si problema. Cum accesam acest pin ca sa putem afisa datele de pe senzorul de temperatura integrat ?

Ce am scris eu, sigur este gresit

Code: Select all

int TemperaturePin = 4;
int Temperature = 0;

void setup()
    {
      Serial.begin(9600);
      pinMode(TemperaturePin, OUTPUT);
    }

void loop()
    {
      Temperature = digitalRead(TemperaturePin);
      delay(500);
      Serial.println(Temperature);
    }


din moment ce temperatura afisata este intotdeauna 0. Probabil PIN-ul nu asa trebuie definit. Sau pinul ADC4 nu este pinul 4 cum este scris aici.

Are cineva experienta cu acest "exemplar" in Arduino IDE si C++ ?
Cum facem sa citim datele de pe senzorul de temperatura inclus ?
Dar modulul RTC inclus cum se poate folosi in ARduino IDE cu C++ ?

Toata documentatia pe care am vazut-o in legatura cu aceste doua subiecte, a fost scrisa in microphyton, ce m-ar interesa daca se poate si C++ cu Arduino IDE.

Re: Raspberry Pi Pico in ARDUINO IDE

Posted: 12 Mar 2022 22:52
by Levy
Am descarcat Thonny de aici
L-am instalat, dupa care dupa indicatiile din acest tutorial, am reusit sa "imperechez" Pico cu Thonny.

Am aruncat codul pe care l-am gasit pe google

Code: Select all

from machine import I2C,Pin, ADC
from time import sleep

sensor_data = ADC(4)
conversion_factor = 3.3/(65535)

while True:
    sensor_voltage = sensor_data.read_u16() * conversion_factor
    T = 27 - (sensor_voltage - 0.706)/0.001721
    format_temp = "{:.2f}".format(T)
    print(format_temp)

    sleep(5)


RUN - > Am selectat in PICO si surpriza, in shell apar datele citite din senzorul de temperatura, care la prima privire nu pare a fi foarte corect, la citiri succesive valoarea afisata variaza, nu este deloc stabila.

Image

Dar sa revin la intrebarea de la care am pornit acest thread.
Cum se poate converti ce este aici si din care aproape nimic nu inteleg in C++ si utilizat in Arduino IDE ?