Generera slumptal genom att använda Arduino (1 / 4 steg)
Steg 1: Beskrivning
Detta projekt använder Arduino Pro mini styrelsen som har en mycket liten storlek och kan anslutas med bröd styrelsen kompatibla kontakter. Styrelsen kommer med antingen ATMEGA128 eller ATMEGA328 kontroller inuti det som driver med en kristall frekvens på 8MHz eller 16MHz. Arduino Pro mini styrelsen har digital stiften märkta som 2, 3, 4 till 13. I en Arduino ombord några digitala stift kan vara konfigurerad som analoga utgångsstift och det finns också dedikerad analog ingång pins som kan användas för spänning avkänning tillämpningar.
(kolla på bilderna ovan)
Eftersom arduino Pro mini styrelsen har inte circuitary för gränsyta det med serieporten eller USB-port på datorn, krävs en extern USB till TTL converter ombord för att ansluta den till datorn. Denna hårdvara hjälper i programmering arduino styrelsen och hjälper också till att den seriell kommunikationen med USB-porten på datorn.
För grundläggande förståelse för Arduino, kan du gå till detta projekt och kolla hur du kommer igång med arduino och prova allt diskuteras där. Arduino Pro mini styrelsen har 8 analog ingång stift markeras som A0, A1 upp till A7. De är faktiskt de ingående kanalerna till den inbyggda ADC av den ATMEGA328 som kan läsa värdet för analog och konvertera dem till den digitala motsvarigheten. I normal analog spänning avkänning tillämpningar krävs analog ingång PIN-koden kommer att anslutas till en spänning som måste läsas. Anta att situationen där analoga PIN-koden är kvar osammanhängande. Spänningen på PIN-koden är odefinierad och därmed när Läs med hjälp av ADC den digitala utgången kommer också vara ett odefinierat slumpmässigt värde. Detta är den grundläggande metoden som ett slumptal erhålls.
Den första slumptal från hårdvara kallas en "slumptalsfrö". Denna slumptalsfrö tillämpas sedan på algoritmer som kallas slumptal genererar algoritm som kan generera ett slumpmässigt nummer som inuti ett angivet intervall. Det finns inbyggda funktioner i Arduino IDE som hjälper till att generera slumptal. Detta projekt använder sig av två funktioner nämligen randomSeed() och random() och detaljer i funktionen diskuteras nedan.
randomSeed()
randomSeed() initierar de pseudo-slumpmässiga nummergenerator, orsakar det att börja på en godtycklig punkt i dess slumpvis sekvens. Denna funktion har en parameter som avgör från vilken punkt i sekvens bör den slumpmässiga nummer generation startar. För att initiera den pseudo-slumpmässiga nummergenerator med en ny sekvens varje gång, ska värdet som parametern också vara annorlunda.
Denna särskilda kod läser ett slumpmässigt värde från det analoga ingångsstiftet A0 som är kvar osammanhängande så att varje gång koden körs det kan generera olika uppsättning slumptal.
Random()
Random() funktion används för att generera en pseudo-slumpmässiga nummer som faller under ett angivet intervall. Funktionen kallas alltid efter att anropa funktionen randomSeed(). Denna funktion har två parametrar, varav den första är det lägsta värdet och den andra är det största värdet.
KODEN
Kod skriven för detta projekt initierar pseudo-slumpmässiga nummergenerator med slumpmässiga värdet läsa från det analoga ingångsstiftet A0 och funktionen randomSeed(). Funktionen används för att läsa värdet från A0 är analogRead() funktion som redan diskuteras i de tidigare projekt på hur du använder analog och analog ljudutgång för Arduino ombord, hur man använder Arduino sensor värden, hur man gör dynamiska sensor visas genom att använda Arduino, hur man sparar sensor värden i EEPROM av Arduino.
Random() funktion används för att generera en pseudo-slumpmässiga nummer och skickas till fönstret Serial monitor med hjälp av funktionerna Serial.begin() och Serial.write() som diskuteras redan i tidigare projekt om hur man gör seriell kommunikation med Arduino, hur skicka och ta emot seriella data genom att använda arduino, hur man gör seriell felsökning med Arduino. Koden lyser också en LED använder samma slumptal för att variera dess ljusstyrka genom att skriva samma värde till analog utgång stift var lampan är ansluten.
När kodningen är klar kan kontrollera och ladda upp koden till Arduino styrelsen som förklaras i projektet att komma igång med Arduino. Koden kommer att kontinuerligt generera slumptal och en kan observera dem med hjälp av Serial monitor som förklaras i projektet om hur man gör seriell felsökning med Arduino.