Código que gera a onda senoidal

Dependencies:   mbed SeeedShieldBot BluetoothSerial

Revision:
1:3caba2fe325c
Parent:
0:466ca3f1c7e1
Child:
2:447e428e7d97
--- a/main.cpp	Mon May 31 17:50:58 2021 +0000
+++ b/main.cpp	Mon May 31 17:59:45 2021 +0000
@@ -1,27 +1,21 @@
 #include "mbed.h"
 
-BusOut saida (D3,D4,D5,D6);
-AnalogIn leitura(A5);
+BusOut saida(D3,D4, D5, D6); // Saídas digitais
+AnalogIn leitura(A5); // Leitura da entrada analógica
 Serial pc(USBTX, USBRX);
 
 float leitura_float;
+float valor;
 
 int main(){
-    pc.baud(9600);
-    leitura_float = 0;
-    while (1){
-        for (int i = 0; i <= 15; i++){
-            saida = i;
-            leitura_float = leitura.read();
-            pc.printf("\r%f\n",leitura_float*3.3);
-            wait(0.01);    
+    pc.baud(9600);   
+    while(1){
+        for (int i = 0; i < 360; i++) { //For da onda senoidal
+            valor = ((sin(i * 180/3.14159265359) + 1) * 16) / 2; //Conta que vai para a saída digital 
+            saida = valor; //Saída digital de 4-bit
+            leitura_float=analogico.read(); //Leitura da entrada analógica
+            pc.printf("\r%f\n", leitura_float); 
+            wait(0.01);
         }
-            
-        for (int i = 15; i >= 0; i--){
-            saida = i;
-            leitura_float = leitura.read();
-            pc.printf("\r%f\n",leitura_float*3.3);
-            wait(0.01);  
-        }    
-    }    
+    }
 }
\ No newline at end of file