You can use a simple mathematical manipulation to adjust the scherrer equation to take data from an XRD plot directly...
$$d = \frac{B \lambda}{\beta \cdot cos( \frac{2\theta}{2}))}$$
...where $2\theta$ is the bragg angle.
For the lower XRD pattern set, you'll need to deconvolute one of the peaks. If you know how to use python, the easiest way this can be done is that you can use a least-squares regression analysis to fit a set of pseudo-vogit functions to the XRD data and then use one of the functions to determine the FWHM and $2\theta$ value, where the pseudo-vogit is...
$$PV(x,A,\mu,\sigma,\alpha) = \frac{(1-\alpha)A}{\frac{\sigma}{2\cdot ln(2)}\cdot\sqrt{2\pi}}\cdot e^{\frac{-1}{2}\cdot \frac{(x-\mu)^2}{(\frac{\sigma}{2 \cdot ln(2)})^2}}+\frac{\alpha A}{\pi}\cdot[\frac{\sigma}{(x-\mu)^2 + \sigma^2}]$$
...and the minimizing condition is...
$$PV_{sum} = \sum_{i=1}^{n_{peaks}} PV_i(x_i,A_i,\mu_i,\sigma_i,\alpha_i) $$
...finding the condition which...
$$(data_i - PV_{sum}(data_i))^2 \rightarrow 0 $$
which is something a computer can do pretty easily. This'll output the set of parameters which fit $PV_{sum}$ to the entire data set - just use one of the PV conditions to calculate FWHM and $2\theta$ to determine the particle size.