Raspberry Pi Pico in ARDUINO IDE
Posted: 12 Mar 2022 22:11
Buna.
Pentru ca i-mi place sa ma joc cu ce nu pricep am inceput sa ma joc cu un Raspberry Pi Pico
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
dupa care click pe OK, inchis deschis Arduino IDE.
Dupa care din Board Manager am instalat board managerul pentru Raspberry Pi Pico
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)
dupa care cu combinatia de taste Alt+Ctrl+ S sau din meniul Sketck -> Export compiled binary
exportam varianta binara comprimata a acestui exemplu.
Obtinem astfel un folder cu numele Blink_copy_ urmat de data compilarii, de exemplu
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
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.
Pentru ca i-mi place sa ma joc cu ce nu pricep am inceput sa ma joc cu un Raspberry Pi Pico
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
dupa care click pe OK, inchis deschis Arduino IDE.
Dupa care din Board Manager am instalat board managerul pentru Raspberry Pi Pico
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)
dupa care cu combinatia de taste Alt+Ctrl+ S sau din meniul Sketck -> Export compiled binary
exportam varianta binara comprimata a acestui exemplu.
Obtinem astfel un folder cu numele Blink_copy_ urmat de data compilarii, de exemplu
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.