Inhoudsopgave:

MicroPython-programma: de grootte van de cirkel weergeven - Ajarnpa
MicroPython-programma: de grootte van de cirkel weergeven - Ajarnpa

Video: MicroPython-programma: de grootte van de cirkel weergeven - Ajarnpa

Video: MicroPython-programma: de grootte van de cirkel weergeven - Ajarnpa
Video: Moving from Arduino to MicroPython - 10 Things you need to know. 2024, Juli-
Anonim

Dit experiment maakt gebruik van de MakePython ESP8266-module, waarmee we MicroPython-programmering op ESP8266 kunnen leren. Het experiment controleerde de grootte van de cirkel op het scherm door de potentiometer te draaien. Tijdens het proces leren we over het gebruik van ADC, SSD1306 OLED-display en de uPyCraft IDE.

Stap 1: Over ADC en I2C

Over ADC en I2C
Over ADC en I2C

ADC: ADC is een analoog/digitaal-omzetter die analoge signalen omzet in digitaal. In de voorste controle-LED aan, PWM binnen, weten we het verschil tussen digitaal signaal en analoog signaal. De signalen die we in het dagelijks leven gebruiken, zoals lichtintensiteit, geluidsgolven en batterijspanningen, zijn allemaal analoge waarden. Als we het analoge signaal (spanning, lichtintensiteit, geluidsgolf) willen meten via de microcomputer met één chip en het willen uitdrukken door een digitaal signaal, dan hebben we een ADC analoog digitale signaalomzetter nodig

I2C-communicatie: I2C wordt veel gebruikt voor communicatie van controllers met componenten aan boord, zoals sensoren/displays. Gegevensoverdracht kan worden voltooid door slechts twee signaallijnen, respectievelijk kloklijn SCL en signaallijn SDA. Er zijn slechts één hoofdapparaat Master en meerdere Slave-apparaten op de I2C-lijn. Om ervoor te zorgen dat beide bussen in rust op een hoog niveau staan, moeten SDA en SCL met de trekweerstand worden verbonden. De klassieke waarde van de trekweerstand is 10K.

Stap 2: Benodigdheden

Benodigdheden
Benodigdheden

Hardware:

  • MerknaamPython ESP8266
  • Potentiometer
  • Broodplank
  • Springlijn
  • USB-kabel

MakePython ESP8266: Er is een OLED 1.3 'OLED-module aan boord op het MakePython-bord, met 128x64 pixel… Een pixel van een monochroom scherm is een lichtgevende diode. OLED is "self-illumination", de pixel zelf is de lichtbron, dus het contrast is erg hoog. OLED-schermen hebben I2C- en SPI-communicatieprotocollen, die vanwege verschillende protocollen volledig incompatibel zijn. In onze les is de OLED geconfigureerd om compatibel te zijn met het I2C-protocol. Module aankoop link:

Potentiometer: Potentiometer is een instelbare weerstand met drie leidende uiteinden en weerstandswaarden die kunnen worden aangepast volgens een bepaalde variatiewet. Een potentiometer bestaat meestal uit een weerstandslichaam en een beweegbare borstel. Wanneer de borstel langs het weerstandslichaam beweegt, wordt de weerstandswaarde of spanning in relatie tot de verplaatsing verkregen aan het uitgangseinde.

Software:

uPyCraft IDE

Er zijn veel codes en programmeermethoden met MicroPython. Voor deze zelfstudie gebruiken we uPyCraft IDE, wat de meest eenvoudige en gemakkelijke manier is om naar MicroPython te gaan.

Stap 3: Bedrading

Bedrading
Bedrading
Bedrading
Bedrading
Bedrading
Bedrading

Dit is een heel eenvoudig circuit dat heel weinig draden nodig heeft, slechts drie. Sluit gewoon de VCC-pin van de potentiometer aan op 3.3v van MakePython ESP8266 en de OUT-pin (midden) op A0 en verbind de GND met elkaar. Het OLED-display maakt gebruik van I2C-communicatie en het bord is bedraad, zodat u zich daar geen zorgen over hoeft te maken.

Stap 4: UPyCraft IDE Windows-pc installeren

UPyCraft IDE Windows-pc installeren
UPyCraft IDE Windows-pc installeren
UPyCraft IDE Windows-pc installeren
UPyCraft IDE Windows-pc installeren

Klik op deze link om uPyCraft IDE voor Windows te downloaden:

randomnerdtutorials.com/uPyCraftWindows.

Na een paar seconden zou u een soortgelijk bestand (uPyCraft_VX.exe) in uw map Downloads moeten zien

Dubbelklik op dat bestand. Er wordt een nieuw venster geopend met de uPyCraft IDE-software.

Stap 5: Communicatie met het bestuur tot stand brengen

Communicatie met het bestuur tot stand brengen
Communicatie met het bestuur tot stand brengen

Nadat u de MicroPython-firmware hebt geïnstalleerd (MicroPython-firmware al geïnstalleerd wanneer u Makerfabs MakePython ESP8266 krijgt), sluit u deze aan op uw computer via een USB-kabel en volgt u de stappen:

  • Ga naar Tools > Board en selecteer het board dat je gebruikt. Selecteer de esp8266
  • Ga naar Extra > Serieel en selecteer de com-poort waarop uw ESP is aangesloten (download de USB-driver op:

www.silabs.com/products/development-tools/software/usb-to-uart-bridge-vcp-drivers)

Druk op de Connect-knop om seriële communicatie met uw board tot stand te brengen.

Je ziet ">>> " verschijnen in het Shell-venster na een succesvolle verbinding met je board.

Stap 6: Het Main.py-bestand op uw bord maken

Het Main.py-bestand op uw bord maken
Het Main.py-bestand op uw bord maken
Het Main.py-bestand op uw bord maken
Het Main.py-bestand op uw bord maken
  • Druk op de knop "Nieuw bestand" om een nieuw bestand aan te maken.
  • Druk op de knop "Bestand opslaan" om het bestand op uw computer op te slaan.
  • Er wordt een nieuw venster geopend, noem uw bestand main.py en sla het op uw computer op.
  • Daarna zou u het bestand boot.py op uw apparaat moeten zien en een nieuw tabblad met het bestand main.py.
  • Klik op de knop "Downloaden en uitvoeren" om het bestand naar uw ESP-bord te uploaden.
  • De apparaatmap zou nu het bestand main.py moeten laden. Uw ESP heeft het bestand main.py opgeslagen.

Stap 7: Stuurprogrammabestand toevoegen

Omdat het OLED-scherm de SSD1306 driverchip gebruikt, moeten we de driver van SSD1306 downloaden. U kunt naar de GitHub-website gaan om de bibliotheek van SSD1306 te zoeken en te downloaden of klik om ons ssd1306.py-stuurprogrammabestand te downloaden.

Sla na het downloaden ssd1306.py op in de workSpace-bestandsmap. Klik vervolgens op het bestand ssd1306.py openen en klik op uitvoeren, en het bibliotheekbestand kan in de apparaatmap worden geladen. Op dit moment is het bibliotheekbestand van ssd1306.py met succes geladen in MakePython ESP8266, dat kan worden aangeroepen met de import ssd1306-instructie.

*opmerking: de eerste keer dat u de uPyCraft IDE opent, bestaat het werkruimtepad niet. Wanneer u klikt, verschijnt het dialoogvenster WorkSpace. U kunt een workSpace-directory maken om de bestanden van de gebruiker op te slaan door de directory te selecteren die u wilt opslaan.

Stap 8: De belangrijkste functie

De belangrijkste functie
De belangrijkste functie
De belangrijkste functie
De belangrijkste functie

Grammatica uitleg:

  • i2c: configureer de SCL- en SDA-pinnen
  • oled: OLED-object maken
  • adc.read(): ADC-bemonsterde gegevens lezen
  • circle(): Aangepaste cirkelfunctie tekenen die de functie sqrt () GEBRUIKT om de straal van de cirkel te berekenen
  • math.sqrt(r): Geeft als resultaat de vierkantswortel van het getal
  • pixel(x, y, c): Teken het punt bij (x, y)
  • hline(x, y, w, c): Teken een horizontale lijn, beginnend bij (x, y), lengte w
  • vline(x, y, w, c): Teken een verticale lijn, beginnend bij (x, y), met een hoogte van w
  • oled.fill(n): Leeg het scherm wanneer n=0, en vul het scherm wanneer n> 0. is
  • oled.show(): Schakel de weergavefunctie in

U kunt dit bestand rechtstreeks toevoegen of de inhoud ervan kopiëren naar het nieuw gemaakte hoofdbestand.

Stap 9: de experimentele resultaten

De experimentele resultaten
De experimentele resultaten

Draai de potentiometer langzaam, met de klok mee, en de cirkel op het scherm wordt groter, tegen de klok in kleiner.

Aanbevolen: