Colete dados do Arduino Yun
Crie um canal para publicar dados de um dispositivo Arduino Yun e comece a escutar no canal.
In[1]:=
![Click for copyable input](assets.pt-br/collect-data-from-arduino-yun/In_53.png)
channel = CreateChannel["yun", Permissions -> "Public"]
Out[1]=
![](assets.pt-br/collect-data-from-arduino-yun/O_55.png)
In[2]:=
![Click for copyable input](assets.pt-br/collect-data-from-arduino-yun/In_54.png)
listener = ChannelListen[channel]
Out[2]=
![](assets.pt-br/collect-data-from-arduino-yun/O_56.png)
Abra um dispositivo Arduino Yun.
In[3]:=
![Click for copyable input](assets.pt-br/collect-data-from-arduino-yun/In_55.png)
yun = DeviceOpen[
"Arduino", {"/dev/tty.usbmodem1421", "BoardType" -> "Yun"}]
Out[3]=
![](assets.pt-br/collect-data-from-arduino-yun/O_57.png)
Configure para enviar valores dos pinos analógicos A0 até A2 para o canal a cada 0.5 segundo.
In[4]:=
![Click for copyable input](assets.pt-br/collect-data-from-arduino-yun/In_56.png)
DeviceConfigure[yun,
"Upload" -> {"BootFunction" -> <|"Code" -> "ChannelSend",
"Pins" -> {"A0", "A1", "A2"}, "Scheduling" -> 0.5,
"Channel" -> channel|>}]
Out[4]=
![](assets.pt-br/collect-data-from-arduino-yun/O_58.png)
Feche o dispositivo, desconecte, anexe um acelerômetro para os pinos analógicos, e colocar o Yun no campo.
In[5]:=
![Click for copyable input](assets.pt-br/collect-data-from-arduino-yun/In_57.png)
DeviceClose[yun]
Visualize os dados à medida que eles entram.
In[6]:=
![Click for copyable input](assets.pt-br/collect-data-from-arduino-yun/In_58.png)
Dynamic[ListLinePlot[
ToExpression /@ Reverse[Take[Reverse[#["Values"]], UpTo[100]]],
PlotRange -> {0, 5}] & /@ listener["TimeSeries"]]
Out[6]=
![](assets.pt-br/collect-data-from-arduino-yun/O_59.png)