Pico Bricks to zestaw pozwalający na zabawę mikrokontrolerem Raspberry Pico bez konieczności lutowania, czy nawet łączenia podzespołów – wszystkie są już podłączone na płytce.
Uruchomienie
Instalujemy ArduinoIDE
https://www.arduino.cc/en/software
Po uruchomieniu dodajemy do wersji PICO zestaw narzędzi:
Tools -> Boards Manager -> „Pico” -> Arduino Mbed OS RP2040 Boards …
Podłączamy kablem USB Pico do PC.
W pasku narzędzi wybieramy wyjście COM odpowiadające Pico np. Pi Pico COM4
Kompilujemy przyciskiem Verify (V – w pasku narzędzi)
Wgrywamy strzałką w prawo na mikrokontrolerze.
Gotowe!
Zestawy Pico Bricks są dostępne m. in. tu:
https://botland.com.pl/producent/582-pico-bricks
Mruganie diodą
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | //ustawiamy stale dla PIN zgodnie z tym, co nadrukowano //np. L:GP7 oznacza, że LED to pin 7 //B:GP10 oznacza, że button to PIN 10 //DIODA mruga tylko przy wcisnietym przycisku #define LED 7 #define BUTTON 10 void setup() { // kod uruchamiany raz na starcie: pinMode(LED, OUTPUT); pinMode(BUTTON, INPUT); } void loop() { // pętla uruchamiana przez cały czas działania programu if (digitalRead(BUTTON)) //jeśli button jest wciśnięty { //to dioda mruga digitalWrite(LED, HIGH); //zapala się - wysyłamy sygnał HIGH (prąd 1) delay(500); //czekamy 0,5s. digitalWrite(LED, LOW); //gasimy (LOW - bez napięcia = 0) delay(500); } } |
Wersja druga
Teraz inna reakcja na przycisk – świeci dioda kiedy trzymamy przycisk.
1 | uint8_t turnedOn = 0; |
to „oszczędna” wersja typu int. Zajmuje 8 bitów (0-255). „u” oznacza unsigned – czyli bez ujemnych (bez znaku).
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | #define LED 7 #define BUTTON 10 void setup() { // put your setup code here, to run once: pinMode(LED, OUTPUT); pinMode(BUTTON, INPUT); digitalWrite(LED, LOW); //poczatkowo gasimy } uint8_t turnedOn = 0; //0 - przycisk puszczony, 1-wlaczony void loop() { // put your main code here, to run repeatedly: if (digitalRead(BUTTON) && !turnedOn) { digitalWrite(LED, HIGH); turnedOn = 1; } if (!digitalRead(BUTTON) && turnedOn) { digitalWrite(LED, LOW); turnedOn = 0; } } |