weturtle

arduino_trasmettitore

Feb 17th, 2019
4,095
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. char chars[] =
  2. {'0','1','2','3','4','5','6','7','8','9','A','B','C',’D’,'E','F','G','H',
  3. 'I','L','M','N','O','P','Q','R','S','T','U','V','Z'};
  4. String codes[] =
  5. {"00000","00001","00010","00011","00100","00101","00110","00111","01000",
  6. "01001","01010","01011","01100","01101","01110","01111","10000","10001","
  7. 10010","10011","10100","10101","10110","10111","11000","11001","11010","1
  8. 1011","11100","11101","11110"};
  9.  
  10. const int laser = 9;
  11. const int IRwrite = 4;
  12.  
  13. const int t = 1000;
  14.  
  15. void setup() {
  16.     Serial.begin(9600);
  17.     pinMode(LED_BUILTIN,OUTPUT);
  18.     pinMode(laser,OUTPUT);
  19.     pinMode(IRwrite,OUTPUT);
  20.  
  21.     //Spegnimento di tutte le sorgenti
  22.     digitalWrite(laser,LOW);
  23.     digitalWrite(IRwrite,LOW);
  24.  
  25.     //Codifica del codice
  26.     String code = "H725";
  27.  
  28.     //Impulso d'avvio
  29.     Serial.println("Impulso IR inviato");
  30.     for(int x = 0;x<5;x++){
  31.         digitalWrite(IRwrite,HIGH);
  32.         delay(40);
  33.         digitalWrite(IRwrite,LOW);
  34.         delay(40);
  35.     }
  36.  
  37.     //Invio segnale
  38.     for(int lettera = 0; lettera < 4; lettera++){
  39.         Serial.print("Invio carattere   ");
  40.         Serial.println(code.charAt(lettera));
  41.  
  42.         for(int nBit = 0; nBit < 5; nBit++){
  43.             Serial.print(nBit+1);
  44.             digitalWrite(laser,codice(code.charAt(lettera),nBit));
  45.             Serial.println(""); delay(t);
  46.         }
  47.     }
  48.  
  49.     digitalWrite(laser,LOW);
  50. }
  51.  
  52. void loop() {
  53.     digitalWrite(LED_BUILTIN,HIGH);
  54.     delay(400);
  55.     digitalWrite(LED_BUILTIN,LOW);
  56.     delay(400);
  57. }
  58.  
  59. int codice(char val,int index){
  60.     for( int y = 0; y < sizeof(chars); y++ ){
  61.         if( val == chars[y] ){
  62.             Serial.print("° bit Inviato:   ");
  63.             Serial.print(codes[y].charAt(index));
  64.             if((codes[y].charAt(index)) == '0'){
  65.                 return 0;
  66.             }
  67.         else{return 255;}
  68.         }
  69.     }
  70. }
Advertisement
Add Comment
Please, Sign In to add comment