Inhoudsopgave:
- Stap 1: Circuit
- Stap 2: Rulette-afbeelding roteren
- Stap 3: Piep
- Stap 4: Start op knop ingedrukt
- Stap 5: Programma
Video: Grafisch roulette met Obniz - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:18
Ik heb een grafische roulette gemaakt. Als je op de knop drukt, begint de roulette te draaien. Als u nogmaals op drukt, stopt de roulette met draaien en piept!
Stap 1: Circuit
We gebruiken alleen een bedrade luidspreker en een knop.
De pinnummers van bedraad staan op het programma.
button = obniz.wired("Button", {signal:6, gnd:7 });speaker = obniz.wired("Speaker", {signal:0, gnd: 1});
Stap 2: Rulette-afbeelding roteren
In HTML kunt u "CSS-transformatie" gebruiken. Dit is bijvoorbeeld de code om de afbeelding 90 graden te draaien.
document.getElementById("roulette").style = "transform:rotate(90deg);";
Om langzaam roteren te starten en te stoppen, voegt u een var-snelheid toe voor rotatiegraad per frame.
laat snelheid = 0; laat graden = 0; functie roteren(){ deg += snelheid; document.getElementById("roulette").style = "transform:rotate("+deg+"deg);";
}
setInterval(roteren, 10);
Stap 3: Piep
Wil je bij de roulette geen verandering piepen? Hiermee kun je piepen op 440Hz 10ms.
luidspreker.afspelen(440); wacht obniz.wait(10); spreker.stop();
Dit is hoe u te weten komt bij het veranderen van roulette nr.
if(Math.floor((deg + snelheid) / (360/7.0)) - Math.floor(deg / (360/7.0)) >= 1){ onRouletteChange(); }
Dit is dus de code van draaien en piepen.
laat snelheid = 0; laat graden = 0; functie roteren(){ //bij wijzigingswaarde if(Math.floor((deg + snelheid) / (360/7.0)) - Math.floor(deg / (360/7.0)) >= 1){ onRouletteChange(); } graden += snelheid; document.getElementById("roulette").style = "transform:rotate("+deg+"deg);";
}
setInterval(roteren, 10);
asynchrone functie onRouletteChange(){
if(!speaker){return;} speaker.play(440); wacht obniz.wait(10); spreker.stop(); }
Stap 4: Start op knop ingedrukt
Om de knopstatus te kennen, voegt u var buttonState toe en stelt u de waarde van de huidige knopstatus in.
button.onchange = functie (ingedrukt){ buttonState = ingedrukt; };
En voeg ook var-fase toe voor de huidige staat van roulette. Phase is een van deze.
const PHASE_WAIT_FOR_START = 0; const PHASE_ROTATE = 1; const PHASE_STOPPING = 2; const PHASE_STOPPED = 3;
Als fase bijvoorbeeld PHASE_WAIT_FOR_START is en u naar de volgende fase wilt gaan.
if(fase == PHASE_WAIT_FOR_START){ snelheid = 0; if(buttonState){ phase = PHASE_ROTATE; } }
Wijzig var speed om de rulette te versnellen.
if (fase == PHASE_ROTATE){ snelheid = snelheid + 0,5; }
Wijzig var speed om de rulette te versnellen.
:
if (fase == FASE_STOPPING){ snelheid = snelheid-0,2; }
Die zijn onderdeel van roulette. Laten we het maken!
Stap 5: Programma
Kijk hier voor het programma
Aanbevolen:
Grafisch weerstation: 7 stappen (met afbeeldingen)
Grafisch weerstation: Altijd al een grafisch weerstation willen hebben? En met nauwkeurige sensoren? Misschien is dit project iets voor jou. Met dit weerstation kun je zien wat het weer is "doet". Temperaturen kunnen bijvoorbeeld stijgen of dalen. Van een
Draadloze afstandsbediening met 2,4 GHz NRF24L01-module met Arduino - Nrf24l01 4-kanaals / 6-kanaals zenderontvanger voor quadcopter - RC Helikopter - RC-vliegtuig met Arduino: 5 stappen (met afbeeldingen)
Draadloze afstandsbediening met 2,4 GHz NRF24L01-module met Arduino | Nrf24l01 4-kanaals / 6-kanaals zenderontvanger voor quadcopter | RC Helikopter | Rc-vliegtuig met Arduino: een Rc-auto besturen | Quadcopter | Drone | RC vliegtuig | RC-boot, we hebben altijd een ontvanger en zender nodig, stel dat we voor RC QUADCOPTER een 6-kanaals zender en ontvanger nodig hebben en dat type TX en RX is te duur, dus we gaan er een maken op onze
LCD5110 Grafisch onderwijs: 4 stappen
LCD5110 Graphics Education: Hallo allemaal. In deze opleiding ga ik kennismaken met de LCD5110_GRAPH-bibliotheek en de functies over Bitmap Graphic. Ik heb dit besloten omdat als je het Space Race Game-project op mijn pagina ziet, ik je niet heb laten zien hoe je een bitmapafbeelding kunt maken. Laten we b
Waardeer uw project: gebruik grafisch display!: 14 stappen
Waardeer uw project: gebruik een grafisch display!: In onze video van vandaag laat ik u het 1,8-inch TFT-scherm zien. Dit is een grafisch display van 128 bij 160. Het is groter dan wat er in de ESP32 LoRa zit, en ik zal ook het gebruik ervan in de traditionele ESP32 laten zien. We hebben dan de montage en de bron
Techno-geek Roulette (of wie maakt de koffie?): 6 stappen (met afbeeldingen)
Techno-geek Roulette (of Who Makes the Coffee?): Dit is een gadget gemaakt van gerecyclede computeronderdelen om een absoluut, ondubbelzinnig en onweerlegbaar antwoord te geven op die eeuwige kantoorvraag - "Wiens beurt is het om de koffie te zetten?" Elke keer dat de stroom wordt ingeschakeld, wordt dit prachtige apparaat