Programmera Raspberry Pi Pico

C, C++, Pascal, Assembly, Raspberry, Java, Matlab, Python, BASIC, SQL, PHP, etc.
Janson1
Inlägg: 1338
Blev medlem: 1 december 2016, 09:06:02
Ort: Marks Kommun

Re: Programmera Raspberry Pi Pico

Inlägg av Janson1 »

Skogen: Jag gör likadant fast jag har köpt på mig x antal NANO´sar från Kina. Man kan se tydligt på Kinaförsäljningen att det är ont om kisel, Nano har gått upp från ca 15-18 kr till över 35 kr/styck. JAg gissar på att det är samma sak med resten... Ang blåtand så ok, har den det inbyggt i kretsen direkt?
Användarvisningsbild
Lennart Aspenryd
Tidigare Lasp
Inlägg: 12607
Blev medlem: 1 juli 2011, 19:09:09
Ort: Helsingborg

Re: Programmera Raspberry Pi Pico

Inlägg av Lennart Aspenryd »

Så länge det rör sig om en handfull eller under hundra enheter är det knappast priset som är eller borde vara avgörande.
Det är Kompisar runt ikring som är viktigt!
Visst håller jag med Icecap och Daniel och andra att Funktionen, behovet som skall lösas är det som skall styra när man väljer.
Men för oss som ser detta som en kul och användbar grej, där är det ett färdigt kort och ett etablerat IDE som är viktigt!
Jag menar om jag skall ordna en bil för en resa till Göteborg (motorväg hela vägen) eller upp till Norrlands inland med 110 på smala grusvägar, inte börjar jag med att definiera antal cylindrar och drivmedel! Jag bara kör.
Så vill jag ha det i ingången till styrbar elektronik också. Jag leker mig fram och delar med mig av erfarenheter.
Jag tycker att denna tråd blev bra på detta sättet, så kör på, mer tips och erfarenheter! ;-)
Skogen
Inlägg: 901
Blev medlem: 5 januari 2013, 22:50:34
Ort: Alingsås

Re: Programmera Raspberry Pi Pico

Inlägg av Skogen »

ESP32 har inbyggd Wifi och Bluetooth. Det är samma sändare så du kan inte använda bägge samtidigt, har jag läst. Har inte provat Bluetooth ännu.
Men det går att växla mellan dom i programmet, stäng det ena och starta det andra, om man är lagd åt det hållet.
Dessutom så har processorn två kärnor, den ena sköter trådlösheten och den andra ditt program (om jag fattat saken rätt).

På ESP-kretsarna upplever jag inte att priserna gått upp. I min kundkorg hos Aliexpress ligger exempelvis:
Wemos D1 mini (klon?) ESP8266 för runt 20:-
ESP32 wroom för 30:-
ESP32 vrover för 38:-

Köper man 10st så lägg på runt 15:-/st i frakt, moms och Postnord, det är fortfarande snorbilligt.
Vad Arduino-kloner kostar vet jag faktiskt inte, har lagt ner dom.
Användarvisningsbild
mankan
EF Sponsor
Inlägg: 905
Blev medlem: 18 juli 2015, 11:23:22
Ort: Linköping

Re: Programmera Raspberry Pi Pico

Inlägg av mankan »

Vill man ha dem snabbare så finns de på TME, https://www.tme.eu/se/en/katalog/?searc ... order=desc. DHL-frakt för strax under hundralappen.
Janson1
Inlägg: 1338
Blev medlem: 1 december 2016, 09:06:02
Ort: Marks Kommun

Re: Programmera Raspberry Pi Pico

Inlägg av Janson1 »

Jag tittade in på Aliexpress och Nano:sarna har gått upp där med. Men däremot så verkar ESP32 vara väldigt billiga fortfarande. Men Alltså, detta spelar i verkligheten inte någon som helst roll. jag köper kanske 10 av nån sort om året (ja, jag har snöat in på NANO...) som sen ligger här och driver i väntan på att få användas. Men som sagt den här ESP32 kan nog bli en värdig ersättare... (om den klarar eldprovet)
Janson1
Inlägg: 1338
Blev medlem: 1 december 2016, 09:06:02
Ort: Marks Kommun

Re: Programmera Raspberry Pi Pico

Inlägg av Janson1 »

Ja, lite egenhändigt ändrad kod här: JAg vill att en pot skall styra två LEDar där den ena ökar i styrka och den andra minskar i styrka samtidigt. men det funkar inte... Bägge hänger ihop. Vad har jag gjort för fel?

Kod: Markera allt

 int potPin = 4;         // analog in (Pin 2 4 12-15 25-27 32-26 39 är analoga)
int potValue = 0;     // avläst värde från pot tex 0-4095
int ledPin = 12;      // utgång för PWM alla pin har PWM förutom 34-36, 39
int ledPin1 = 2;      //
int freq = 2000;     // Godtycklig grundfrekvens
int freq1 = 500;
int ledChannel0;    // från kärna 2?
int ledChannel1;    //
int resolution0 = 12;  // upplösning på PWM 2>>x (12 = 4096 steg)
int resolution1 = 12;
int dutyCycle;        // upplösningsvärdet
int dutyCycle1;
  // Det är en fördel att ha samma upplösning på analogin som analog ut...
void setup() {
  ledcSetup(ledChannel0, freq1, resolution0);  // setup för PWM led 0 = 500 hz 12 bitar
  ledcAttachPin(ledPin, ledChannel0);         // länkar detta till ledPin = pin 12
 
  ledcSetup(ledChannel1, freq1, resolution1); // setup för PWM led 1 =500 hz 12 bitar
  ledcAttachPin(ledPin1, ledChannel1);        // länkar detta till ledPin1 = pin 2
  Serial.begin(115200);                       // setup för serialen
 
}

void loop()
{
  potValue = analogRead(potPin);                        // läser analogingång 12 bitar 4096
  dutyCycle = potValue;                                      // potvalue kopieras över till dutyCycle 4096
  dutyCycle1 = map(potValue,0, 4095, 4095, 0);  // potvalue mapas om till spegelvänt
 // Serial.println(potValue);                              // Skriver ut potvärdet på serialen
  Serial.println(dutyCycle);
  Serial.println(dutyCycle1);
  ledcWrite(ledChannel0, dutyCycle); // sänder ut frevens och pulsbrädd på pin 12
  ledcWrite(ledChannel1, dutyCycle1); // sänder ut frekvens och pulsbrädd på pin 2
  delay(50);                        // en lite fördröjning
}
Janson1
Inlägg: 1338
Blev medlem: 1 december 2016, 09:06:02
Ort: Marks Kommun

Re: Programmera Raspberry Pi Pico

Inlägg av Janson1 »

Ingen som ser något uppenbart fel i koden?
Användarvisningsbild
Klas-Kenny
Inlägg: 11292
Blev medlem: 17 maj 2010, 19:06:14
Ort: Växjö/Alvesta

Re: Programmera Raspberry Pi Pico

Inlägg av Klas-Kenny »

Prova att bara sätta dutyCycle1=4095-dutyCycle; istället för map-funktionen. Skottsäkert och förmodligen effektivare.
Varför map inte fungerar vet jag dock inte.
Janson1
Inlägg: 1338
Blev medlem: 1 december 2016, 09:06:02
Ort: Marks Kommun

Re: Programmera Raspberry Pi Pico

Inlägg av Janson1 »

Det var faktiskt så jag gjorde innan jag provade "map" och det blev likadant... Men alltså, det är nåt som gör att fast jag bara sätter en utgång att tex fading så fadar den på bägge ledarna ändå. Det är nog en bug i Arduinos program? Jag har ju ändå valt olika ledChannel, olika ledPin. Väljer jag olika resolution så tar den det högsta endast fast jag har två olika. Måste nog testa detta på min "trotjänare" NANO... (Ja hur många bitar den skall sända ut PWM är svårare att ändra men resten skall testas)
Användarvisningsbild
Klas-Kenny
Inlägg: 11292
Blev medlem: 17 maj 2010, 19:06:14
Ort: Växjö/Alvesta

Re: Programmera Raspberry Pi Pico

Inlägg av Klas-Kenny »

Blir utskrifterna rätt? Alltså att den ena är "omvänd"?
Janson1
Inlägg: 1338
Blev medlem: 1 december 2016, 09:06:02
Ort: Marks Kommun

Re: Programmera Raspberry Pi Pico

Inlägg av Janson1 »

Utskrifterna på ESP blir omvända, så ja. Nu testade jag fade-funktionen på NANO´n och det funkar alldeles utmärkt, den har ju två olika grundfrekvenser och det verkar inte ha någon betydelse hur man gör, det blir bra ändå, när den ena leden ökar så minskar den andra och den tredje gav jag 512 som max, då räcker inte 8 bitar till utan den lyser upp två gånger under tiden och det stör inte övrig funktion. NANO,n är väldigt förutsägbar som sig bör. Jag misstänker lite att det är typ sådana här "fel" som gör att jag inte kan få andra processorer än Atmegan 328/2560 att funka till tex min ECU?
Janson1
Inlägg: 1338
Blev medlem: 1 december 2016, 09:06:02
Ort: Marks Kommun

Re: Programmera Raspberry Pi Pico

Inlägg av Janson1 »

Men det borde ju gå att programmera en ESP32S att göra samma sak, frågan bara hur?
Janson1
Inlägg: 1338
Blev medlem: 1 december 2016, 09:06:02
Ort: Marks Kommun

Re: Programmera Raspberry Pi Pico

Inlägg av Janson1 »

Jag tror: Arduino.s IDE är i första hand gjort för Atmega 8 bitars processorer. Dom har löst användningen av Timer/Counter på ett bra och riktigt sätt. Sen när det utökas till div andra populära processorer så är Arduino´s IDE (kompilatorn) inte optimerad längre, det funkar för det mesta för en hobbyprogrammerare men inte alltid. Det är nog det här jag råkar ut för så fort jag skall testa en ny processor... Sen så har jag ingen kunskap för att börja rota i registerna heller eller börja manipulera med timers heller för den delen. Däremot så tror jag att jag fattar hur timers funkar i dom här Atmega 8 bitars serien. Den här ESP32 SKALL bara funka också, den har ju för tusan två kärnor...
Användarvisningsbild
Klas-Kenny
Inlägg: 11292
Blev medlem: 17 maj 2010, 19:06:14
Ort: Växjö/Alvesta

Re: Programmera Raspberry Pi Pico

Inlägg av Klas-Kenny »

Vänta här nu, du har ju inte tilldelat ledChannel0 och ledChannel1 några värden. Default sätts de till 0 (då de är globala).
Således använder du bara kanal 0.

Sätt
ledChannel0 = 0;
ledChannel1 = 1;

Så blir det nog annat.



Visst kan det säkert finnas fel och konstigheter i de olika Arduino-lib där ute. Men med tanke på hur välanvänt det är, så hittas nog de flesta och största felen och åtgärdas.
Användarvisningsbild
mankan
EF Sponsor
Inlägg: 905
Blev medlem: 18 juli 2015, 11:23:22
Ort: Linköping

Re: Programmera Raspberry Pi Pico

Inlägg av mankan »

Skriv svar