Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Global Variables
- int ledPin[]={9,2,3,4,5,6,7,8};
- char finalStr[8];
- bool prime;
- void setup()
- {
- Serial.begin(9600);
- for(int c=0;c<8;c++)pinMode(ledPin[c],OUTPUT); //Sets all pins to output
- }
- int primeDisplay(int num)
- {
- uint8_t bitsCount=sizeof(num)*8; //Converts integer to binary string
- char str[bitsCount+1];
- uint8_t i=0;
- while(bitsCount--)str[i++]=bitRead(num,bitsCount)+'0';
- str[i]='\0';
- char finalStr[8];
- for(int c=0;c<8;c++)finalStr[c]=str[c+7];
- finalStr[0]=str[8];
- finalStr[1]=str[9];
- finalStr[2]=str[10];
- finalStr[3]=str[11];
- finalStr[4]=str[12];
- finalStr[5]=str[13];
- finalStr[6]=str[14];
- finalStr[7]=str[15];
- for(int c=0;c<8;c++)digitalWrite(ledPin[c],LOW); //Resets pins
- for(int c=0;c<8;c++)if(finalStr[c]=='1')digitalWrite(ledPin[c],HIGH); //Lights up appropriate pins
- }
- void loop()
- {
- for(int c=2;c<255;c++) //Determines prime numbers
- {
- prime=true;
- for(int x=2;x*x<=c;x++)
- {
- if (c%x==0)
- {
- prime=false;
- break;
- }
- }
- if(prime==true)
- {
- Serial.println(c); //Shows prime number as an int to the serial monitor
- primeDisplay(c); //Displays prime number in binary with LEDs
- delay(1000);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement